@kong-ui-public/document-viewer 0.8.3 → 0.8.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/document-viewer.es.js +1 -1
- package/dist/document-viewer.umd.js +1 -1
- package/dist/document-viewer.umd.js.map +1 -1
- package/dist/{index-e4077d37.js → index-9cc9d72f.js} +3 -3
- package/dist/index-9cc9d72f.js.map +1 -0
- package/dist/{prism-core.min-4c8be7c0.js → prism-core.min-f28a4dc7.js} +2 -2
- package/dist/{prism-core.min-4c8be7c0.js.map → prism-core.min-f28a4dc7.js.map} +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/index-e4077d37.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-e4077d37.js","sources":["../src/types/index.ts","../src/components/nodes/Blockquote.vue","../src/components/nodes/Code.vue","../../../../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components.js","../../../../node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/prism.js","../src/components/nodes/CodeBlock.vue","../src/components/nodes/Emphasis.vue","../src/components/nodes/Heading.vue","../src/components/nodes/LineBreak.vue","../src/components/nodes/Strikethrough.vue","../src/components/nodes/Table.vue","../src/components/nodes/TableRow.vue","../src/components/nodes/TableCell.vue","../src/components/nodes/TaskCheckbox.vue","../src/components/nodes/Text.vue","../src/components/nodes/TextBlock.vue","../src/components/nodes/Paragraph.vue","../src/components/nodes/List.vue","../src/components/nodes/ListItem.vue","../src/components/renderChildren.tsx","../../../core/i18n/dist/i18n.es.js","../src/composables/useI18n.ts","../src/composables/useUtilities.ts","../src/composables/index.ts","../src/utils/toSlug.ts","../src/utils/addUniqueHeadingSlugs.ts","../src/components/DocumentViewer.vue"],"sourcesContent":["/* eslint-disable no-unused-vars */\nexport interface BaseNode<Type extends string = string> {\n type: Type\n children?: Array<BaseNode>\n}\n\n// TODO: Reach out to DevX for a proper interface\nexport interface Document extends BaseNode<'document'> {\n children: Array<BaseNode>\n version: number\n}\n\nexport enum TableRowSection {\n header = 'header',\n body = 'body',\n footer = 'footer'\n}\n\nexport enum TableCellAlign {\n left = 'left',\n center = 'center',\n right = 'right'\n}\n\nexport interface TableCellNode extends BaseNode<'table_cell'> {\n align?: TableCellAlign\n}\n\nexport interface TableRowNode extends BaseNode<'table_row'> {\n section?: TableRowSection\n children: Array<TableCellNode>\n}\n\nexport interface TableHeaderNode extends BaseNode<'table_header'> {\n section?: TableRowSection\n children: Array<TableCellNode>\n}\n\nexport function isTableHeaderNode(o: any): o is TableHeaderNode {\n return !!(o?.type === 'table_header')\n}\n\nexport interface TextNode extends BaseNode<'text'> {\n text: string\n children: undefined\n appendSpace?: boolean\n}\n\nexport function isTextNode(o: any): o is TextNode {\n return !!(o?.type === 'text')\n}\n\nexport interface HeadingNode extends BaseNode<'heading'> {\n level: number\n}\n\nexport function isHeadingNode(o: any): o is HeadingNode {\n return !!(o?.type === 'heading')\n}\n\nexport interface ListItemNode extends BaseNode<'list_item'> {}\n\nexport interface ListNode extends BaseNode<'list'> {\n isOrdered?: boolean\n children: Array<ListItemNode>\n}\n\nexport function isListNode(o: any): o is ListNode {\n return !!(o?.type === 'list')\n}\n\nexport interface LinkNode extends BaseNode<'link'> {\n href: string\n}\n","<template>\n <blockquote>\n <slot />\n </blockquote>\n</template>\n\n<style lang=\"scss\" scoped>\nblockquote {\n background: var(--document-viewer-blockquote-background, #f1f1f5);\n border-left: 2.5px solid var(--document-viewer-blockquote-border, var(--text_colors-accent, #0b172d));\n border-radius: var(--document-viewer-blockquote-border-radius, 3px);\n font-size: 14px;\n margin: var(--spacing-sm, 12px) var(--spacing-sm, 12px);\n padding: var(--spacing-sm, 12px);\n\n :deep(blockquote p) {\n margin-bottom: 0;\n }\n\n :deep(p:last-of-type) {\n margin-bottom: 0;\n }\n}\n</style>\n","<template>\n <code>\n <slot />\n </code>\n</template>\n\n<style scoped>\ncode {\n background: var(--document-viewer-code-background, #f1f1f1);\n border-radius: var(--document-viewer-code-border-radius, 3px);\n color: var(--document-viewer-code-color, inherit);\n font-family: var(--document-viewer-code-font-family, var(--document-viewer-font-family-monospace));\n font-size: var(--document-viewer-code-font-size, 14px);\n padding: 2px 6px;\n}\n</style>\n","var components = {\"core\":{\"meta\":{\"path\":\"components/prism-core.js\",\"option\":\"mandatory\"},\"core\":\"Core\"},\"themes\":{\"meta\":{\"path\":\"themes/{id}.css\",\"link\":\"index.html?theme={id}\",\"exclusive\":true},\"prism\":{\"title\":\"Default\",\"option\":\"default\"},\"prism-dark\":\"Dark\",\"prism-funky\":\"Funky\",\"prism-okaidia\":{\"title\":\"Okaidia\",\"owner\":\"ocodia\"},\"prism-twilight\":{\"title\":\"Twilight\",\"owner\":\"remybach\"},\"prism-coy\":{\"title\":\"Coy\",\"owner\":\"tshedor\"},\"prism-solarizedlight\":{\"title\":\"Solarized Light\",\"owner\":\"hectormatos2011 \"},\"prism-tomorrow\":{\"title\":\"Tomorrow Night\",\"owner\":\"Rosey\"}},\"languages\":{\"meta\":{\"path\":\"components/prism-{id}\",\"noCSS\":true,\"examplesPath\":\"examples/prism-{id}\",\"addCheckAll\":true},\"markup\":{\"title\":\"Markup\",\"alias\":[\"html\",\"xml\",\"svg\",\"mathml\",\"ssml\",\"atom\",\"rss\"],\"aliasTitles\":{\"html\":\"HTML\",\"xml\":\"XML\",\"svg\":\"SVG\",\"mathml\":\"MathML\",\"ssml\":\"SSML\",\"atom\":\"Atom\",\"rss\":\"RSS\"},\"option\":\"default\"},\"css\":{\"title\":\"CSS\",\"option\":\"default\",\"modify\":\"markup\"},\"clike\":{\"title\":\"C-like\",\"option\":\"default\"},\"javascript\":{\"title\":\"JavaScript\",\"require\":\"clike\",\"modify\":\"markup\",\"optional\":\"regex\",\"alias\":\"js\",\"option\":\"default\"},\"abap\":{\"title\":\"ABAP\",\"owner\":\"dellagustin\"},\"abnf\":{\"title\":\"ABNF\",\"owner\":\"RunDevelopment\"},\"actionscript\":{\"title\":\"ActionScript\",\"require\":\"javascript\",\"modify\":\"markup\",\"owner\":\"Golmote\"},\"ada\":{\"title\":\"Ada\",\"owner\":\"Lucretia\"},\"agda\":{\"title\":\"Agda\",\"owner\":\"xy-ren\"},\"al\":{\"title\":\"AL\",\"owner\":\"RunDevelopment\"},\"antlr4\":{\"title\":\"ANTLR4\",\"alias\":\"g4\",\"owner\":\"RunDevelopment\"},\"apacheconf\":{\"title\":\"Apache Configuration\",\"owner\":\"GuiTeK\"},\"apex\":{\"title\":\"Apex\",\"require\":[\"clike\",\"sql\"],\"owner\":\"RunDevelopment\"},\"apl\":{\"title\":\"APL\",\"owner\":\"ngn\"},\"applescript\":{\"title\":\"AppleScript\",\"owner\":\"Golmote\"},\"aql\":{\"title\":\"AQL\",\"owner\":\"RunDevelopment\"},\"arduino\":{\"title\":\"Arduino\",\"require\":\"cpp\",\"alias\":\"ino\",\"owner\":\"dkern\"},\"arff\":{\"title\":\"ARFF\",\"owner\":\"Golmote\"},\"armasm\":{\"title\":\"ARM Assembly\",\"alias\":\"arm-asm\",\"owner\":\"RunDevelopment\"},\"arturo\":{\"title\":\"Arturo\",\"alias\":\"art\",\"optional\":[\"bash\",\"css\",\"javascript\",\"markup\",\"markdown\",\"sql\"],\"owner\":\"drkameleon\"},\"asciidoc\":{\"alias\":\"adoc\",\"title\":\"AsciiDoc\",\"owner\":\"Golmote\"},\"aspnet\":{\"title\":\"ASP.NET (C#)\",\"require\":[\"markup\",\"csharp\"],\"owner\":\"nauzilus\"},\"asm6502\":{\"title\":\"6502 Assembly\",\"owner\":\"kzurawel\"},\"asmatmel\":{\"title\":\"Atmel AVR Assembly\",\"owner\":\"cerkit\"},\"autohotkey\":{\"title\":\"AutoHotkey\",\"owner\":\"aviaryan\"},\"autoit\":{\"title\":\"AutoIt\",\"owner\":\"Golmote\"},\"avisynth\":{\"title\":\"AviSynth\",\"alias\":\"avs\",\"owner\":\"Zinfidel\"},\"avro-idl\":{\"title\":\"Avro IDL\",\"alias\":\"avdl\",\"owner\":\"RunDevelopment\"},\"awk\":{\"title\":\"AWK\",\"alias\":\"gawk\",\"aliasTitles\":{\"gawk\":\"GAWK\"},\"owner\":\"RunDevelopment\"},\"bash\":{\"title\":\"Bash\",\"alias\":[\"sh\",\"shell\"],\"aliasTitles\":{\"sh\":\"Shell\",\"shell\":\"Shell\"},\"owner\":\"zeitgeist87\"},\"basic\":{\"title\":\"BASIC\",\"owner\":\"Golmote\"},\"batch\":{\"title\":\"Batch\",\"owner\":\"Golmote\"},\"bbcode\":{\"title\":\"BBcode\",\"alias\":\"shortcode\",\"aliasTitles\":{\"shortcode\":\"Shortcode\"},\"owner\":\"RunDevelopment\"},\"bbj\":{\"title\":\"BBj\",\"owner\":\"hyyan\"},\"bicep\":{\"title\":\"Bicep\",\"owner\":\"johnnyreilly\"},\"birb\":{\"title\":\"Birb\",\"require\":\"clike\",\"owner\":\"Calamity210\"},\"bison\":{\"title\":\"Bison\",\"require\":\"c\",\"owner\":\"Golmote\"},\"bnf\":{\"title\":\"BNF\",\"alias\":\"rbnf\",\"aliasTitles\":{\"rbnf\":\"RBNF\"},\"owner\":\"RunDevelopment\"},\"bqn\":{\"title\":\"BQN\",\"owner\":\"yewscion\"},\"brainfuck\":{\"title\":\"Brainfuck\",\"owner\":\"Golmote\"},\"brightscript\":{\"title\":\"BrightScript\",\"owner\":\"RunDevelopment\"},\"bro\":{\"title\":\"Bro\",\"owner\":\"wayward710\"},\"bsl\":{\"title\":\"BSL (1C:Enterprise)\",\"alias\":\"oscript\",\"aliasTitles\":{\"oscript\":\"OneScript\"},\"owner\":\"Diversus23\"},\"c\":{\"title\":\"C\",\"require\":\"clike\",\"owner\":\"zeitgeist87\"},\"csharp\":{\"title\":\"C#\",\"require\":\"clike\",\"alias\":[\"cs\",\"dotnet\"],\"owner\":\"mvalipour\"},\"cpp\":{\"title\":\"C++\",\"require\":\"c\",\"owner\":\"zeitgeist87\"},\"cfscript\":{\"title\":\"CFScript\",\"require\":\"clike\",\"alias\":\"cfc\",\"owner\":\"mjclemente\"},\"chaiscript\":{\"title\":\"ChaiScript\",\"require\":[\"clike\",\"cpp\"],\"owner\":\"RunDevelopment\"},\"cil\":{\"title\":\"CIL\",\"owner\":\"sbrl\"},\"cilkc\":{\"title\":\"Cilk/C\",\"require\":\"c\",\"alias\":\"cilk-c\",\"owner\":\"OpenCilk\"},\"cilkcpp\":{\"title\":\"Cilk/C++\",\"require\":\"cpp\",\"alias\":[\"cilk-cpp\",\"cilk\"],\"owner\":\"OpenCilk\"},\"clojure\":{\"title\":\"Clojure\",\"owner\":\"troglotit\"},\"cmake\":{\"title\":\"CMake\",\"owner\":\"mjrogozinski\"},\"cobol\":{\"title\":\"COBOL\",\"owner\":\"RunDevelopment\"},\"coffeescript\":{\"title\":\"CoffeeScript\",\"require\":\"javascript\",\"alias\":\"coffee\",\"owner\":\"R-osey\"},\"concurnas\":{\"title\":\"Concurnas\",\"alias\":\"conc\",\"owner\":\"jasontatton\"},\"csp\":{\"title\":\"Content-Security-Policy\",\"owner\":\"ScottHelme\"},\"cooklang\":{\"title\":\"Cooklang\",\"owner\":\"ahue\"},\"coq\":{\"title\":\"Coq\",\"owner\":\"RunDevelopment\"},\"crystal\":{\"title\":\"Crystal\",\"require\":\"ruby\",\"owner\":\"MakeNowJust\"},\"css-extras\":{\"title\":\"CSS Extras\",\"require\":\"css\",\"modify\":\"css\",\"owner\":\"milesj\"},\"csv\":{\"title\":\"CSV\",\"owner\":\"RunDevelopment\"},\"cue\":{\"title\":\"CUE\",\"owner\":\"RunDevelopment\"},\"cypher\":{\"title\":\"Cypher\",\"owner\":\"RunDevelopment\"},\"d\":{\"title\":\"D\",\"require\":\"clike\",\"owner\":\"Golmote\"},\"dart\":{\"title\":\"Dart\",\"require\":\"clike\",\"owner\":\"Golmote\"},\"dataweave\":{\"title\":\"DataWeave\",\"owner\":\"machaval\"},\"dax\":{\"title\":\"DAX\",\"owner\":\"peterbud\"},\"dhall\":{\"title\":\"Dhall\",\"owner\":\"RunDevelopment\"},\"diff\":{\"title\":\"Diff\",\"owner\":\"uranusjr\"},\"django\":{\"title\":\"Django/Jinja2\",\"require\":\"markup-templating\",\"alias\":\"jinja2\",\"owner\":\"romanvm\"},\"dns-zone-file\":{\"title\":\"DNS zone file\",\"owner\":\"RunDevelopment\",\"alias\":\"dns-zone\"},\"docker\":{\"title\":\"Docker\",\"alias\":\"dockerfile\",\"owner\":\"JustinBeckwith\"},\"dot\":{\"title\":\"DOT (Graphviz)\",\"alias\":\"gv\",\"optional\":\"markup\",\"owner\":\"RunDevelopment\"},\"ebnf\":{\"title\":\"EBNF\",\"owner\":\"RunDevelopment\"},\"editorconfig\":{\"title\":\"EditorConfig\",\"owner\":\"osipxd\"},\"eiffel\":{\"title\":\"Eiffel\",\"owner\":\"Conaclos\"},\"ejs\":{\"title\":\"EJS\",\"require\":[\"javascript\",\"markup-templating\"],\"owner\":\"RunDevelopment\",\"alias\":\"eta\",\"aliasTitles\":{\"eta\":\"Eta\"}},\"elixir\":{\"title\":\"Elixir\",\"owner\":\"Golmote\"},\"elm\":{\"title\":\"Elm\",\"owner\":\"zwilias\"},\"etlua\":{\"title\":\"Embedded Lua templating\",\"require\":[\"lua\",\"markup-templating\"],\"owner\":\"RunDevelopment\"},\"erb\":{\"title\":\"ERB\",\"require\":[\"ruby\",\"markup-templating\"],\"owner\":\"Golmote\"},\"erlang\":{\"title\":\"Erlang\",\"owner\":\"Golmote\"},\"excel-formula\":{\"title\":\"Excel Formula\",\"alias\":[\"xlsx\",\"xls\"],\"owner\":\"RunDevelopment\"},\"fsharp\":{\"title\":\"F#\",\"require\":\"clike\",\"owner\":\"simonreynolds7\"},\"factor\":{\"title\":\"Factor\",\"owner\":\"catb0t\"},\"false\":{\"title\":\"False\",\"owner\":\"edukisto\"},\"firestore-security-rules\":{\"title\":\"Firestore security rules\",\"require\":\"clike\",\"owner\":\"RunDevelopment\"},\"flow\":{\"title\":\"Flow\",\"require\":\"javascript\",\"owner\":\"Golmote\"},\"fortran\":{\"title\":\"Fortran\",\"owner\":\"Golmote\"},\"ftl\":{\"title\":\"FreeMarker Template Language\",\"require\":\"markup-templating\",\"owner\":\"RunDevelopment\"},\"gml\":{\"title\":\"GameMaker Language\",\"alias\":\"gamemakerlanguage\",\"require\":\"clike\",\"owner\":\"LiarOnce\"},\"gap\":{\"title\":\"GAP (CAS)\",\"owner\":\"RunDevelopment\"},\"gcode\":{\"title\":\"G-code\",\"owner\":\"RunDevelopment\"},\"gdscript\":{\"title\":\"GDScript\",\"owner\":\"RunDevelopment\"},\"gedcom\":{\"title\":\"GEDCOM\",\"owner\":\"Golmote\"},\"gettext\":{\"title\":\"gettext\",\"alias\":\"po\",\"owner\":\"RunDevelopment\"},\"gherkin\":{\"title\":\"Gherkin\",\"owner\":\"hason\"},\"git\":{\"title\":\"Git\",\"owner\":\"lgiraudel\"},\"glsl\":{\"title\":\"GLSL\",\"require\":\"c\",\"owner\":\"Golmote\"},\"gn\":{\"title\":\"GN\",\"alias\":\"gni\",\"owner\":\"RunDevelopment\"},\"linker-script\":{\"title\":\"GNU Linker Script\",\"alias\":\"ld\",\"owner\":\"RunDevelopment\"},\"go\":{\"title\":\"Go\",\"require\":\"clike\",\"owner\":\"arnehormann\"},\"go-module\":{\"title\":\"Go module\",\"alias\":\"go-mod\",\"owner\":\"RunDevelopment\"},\"gradle\":{\"title\":\"Gradle\",\"require\":\"clike\",\"owner\":\"zeabdelkhalek-badido18\"},\"graphql\":{\"title\":\"GraphQL\",\"optional\":\"markdown\",\"owner\":\"Golmote\"},\"groovy\":{\"title\":\"Groovy\",\"require\":\"clike\",\"owner\":\"robfletcher\"},\"haml\":{\"title\":\"Haml\",\"require\":\"ruby\",\"optional\":[\"css\",\"css-extras\",\"coffeescript\",\"erb\",\"javascript\",\"less\",\"markdown\",\"scss\",\"textile\"],\"owner\":\"Golmote\"},\"handlebars\":{\"title\":\"Handlebars\",\"require\":\"markup-templating\",\"alias\":[\"hbs\",\"mustache\"],\"aliasTitles\":{\"mustache\":\"Mustache\"},\"owner\":\"Golmote\"},\"haskell\":{\"title\":\"Haskell\",\"alias\":\"hs\",\"owner\":\"bholst\"},\"haxe\":{\"title\":\"Haxe\",\"require\":\"clike\",\"optional\":\"regex\",\"owner\":\"Golmote\"},\"hcl\":{\"title\":\"HCL\",\"owner\":\"outsideris\"},\"hlsl\":{\"title\":\"HLSL\",\"require\":\"c\",\"owner\":\"RunDevelopment\"},\"hoon\":{\"title\":\"Hoon\",\"owner\":\"matildepark\"},\"http\":{\"title\":\"HTTP\",\"optional\":[\"csp\",\"css\",\"hpkp\",\"hsts\",\"javascript\",\"json\",\"markup\",\"uri\"],\"owner\":\"danielgtaylor\"},\"hpkp\":{\"title\":\"HTTP Public-Key-Pins\",\"owner\":\"ScottHelme\"},\"hsts\":{\"title\":\"HTTP Strict-Transport-Security\",\"owner\":\"ScottHelme\"},\"ichigojam\":{\"title\":\"IchigoJam\",\"owner\":\"BlueCocoa\"},\"icon\":{\"title\":\"Icon\",\"owner\":\"Golmote\"},\"icu-message-format\":{\"title\":\"ICU Message Format\",\"owner\":\"RunDevelopment\"},\"idris\":{\"title\":\"Idris\",\"alias\":\"idr\",\"owner\":\"KeenS\",\"require\":\"haskell\"},\"ignore\":{\"title\":\".ignore\",\"owner\":\"osipxd\",\"alias\":[\"gitignore\",\"hgignore\",\"npmignore\"],\"aliasTitles\":{\"gitignore\":\".gitignore\",\"hgignore\":\".hgignore\",\"npmignore\":\".npmignore\"}},\"inform7\":{\"title\":\"Inform 7\",\"owner\":\"Golmote\"},\"ini\":{\"title\":\"Ini\",\"owner\":\"aviaryan\"},\"io\":{\"title\":\"Io\",\"owner\":\"AlesTsurko\"},\"j\":{\"title\":\"J\",\"owner\":\"Golmote\"},\"java\":{\"title\":\"Java\",\"require\":\"clike\",\"owner\":\"sherblot\"},\"javadoc\":{\"title\":\"JavaDoc\",\"require\":[\"markup\",\"java\",\"javadoclike\"],\"modify\":\"java\",\"optional\":\"scala\",\"owner\":\"RunDevelopment\"},\"javadoclike\":{\"title\":\"JavaDoc-like\",\"modify\":[\"java\",\"javascript\",\"php\"],\"owner\":\"RunDevelopment\"},\"javastacktrace\":{\"title\":\"Java stack trace\",\"owner\":\"RunDevelopment\"},\"jexl\":{\"title\":\"Jexl\",\"owner\":\"czosel\"},\"jolie\":{\"title\":\"Jolie\",\"require\":\"clike\",\"owner\":\"thesave\"},\"jq\":{\"title\":\"JQ\",\"owner\":\"RunDevelopment\"},\"jsdoc\":{\"title\":\"JSDoc\",\"require\":[\"javascript\",\"javadoclike\",\"typescript\"],\"modify\":\"javascript\",\"optional\":[\"actionscript\",\"coffeescript\"],\"owner\":\"RunDevelopment\"},\"js-extras\":{\"title\":\"JS Extras\",\"require\":\"javascript\",\"modify\":\"javascript\",\"optional\":[\"actionscript\",\"coffeescript\",\"flow\",\"n4js\",\"typescript\"],\"owner\":\"RunDevelopment\"},\"json\":{\"title\":\"JSON\",\"alias\":\"webmanifest\",\"aliasTitles\":{\"webmanifest\":\"Web App Manifest\"},\"owner\":\"CupOfTea696\"},\"json5\":{\"title\":\"JSON5\",\"require\":\"json\",\"owner\":\"RunDevelopment\"},\"jsonp\":{\"title\":\"JSONP\",\"require\":\"json\",\"owner\":\"RunDevelopment\"},\"jsstacktrace\":{\"title\":\"JS stack trace\",\"owner\":\"sbrl\"},\"js-templates\":{\"title\":\"JS Templates\",\"require\":\"javascript\",\"modify\":\"javascript\",\"optional\":[\"css\",\"css-extras\",\"graphql\",\"markdown\",\"markup\",\"sql\"],\"owner\":\"RunDevelopment\"},\"julia\":{\"title\":\"Julia\",\"owner\":\"cdagnino\"},\"keepalived\":{\"title\":\"Keepalived Configure\",\"owner\":\"dev-itsheng\"},\"keyman\":{\"title\":\"Keyman\",\"owner\":\"mcdurdin\"},\"kotlin\":{\"title\":\"Kotlin\",\"alias\":[\"kt\",\"kts\"],\"aliasTitles\":{\"kts\":\"Kotlin Script\"},\"require\":\"clike\",\"owner\":\"Golmote\"},\"kumir\":{\"title\":\"KuMir (КуМир)\",\"alias\":\"kum\",\"owner\":\"edukisto\"},\"kusto\":{\"title\":\"Kusto\",\"owner\":\"RunDevelopment\"},\"latex\":{\"title\":\"LaTeX\",\"alias\":[\"tex\",\"context\"],\"aliasTitles\":{\"tex\":\"TeX\",\"context\":\"ConTeXt\"},\"owner\":\"japborst\"},\"latte\":{\"title\":\"Latte\",\"require\":[\"clike\",\"markup-templating\",\"php\"],\"owner\":\"nette\"},\"less\":{\"title\":\"Less\",\"require\":\"css\",\"optional\":\"css-extras\",\"owner\":\"Golmote\"},\"lilypond\":{\"title\":\"LilyPond\",\"require\":\"scheme\",\"alias\":\"ly\",\"owner\":\"RunDevelopment\"},\"liquid\":{\"title\":\"Liquid\",\"require\":\"markup-templating\",\"owner\":\"cinhtau\"},\"lisp\":{\"title\":\"Lisp\",\"alias\":[\"emacs\",\"elisp\",\"emacs-lisp\"],\"owner\":\"JuanCaicedo\"},\"livescript\":{\"title\":\"LiveScript\",\"owner\":\"Golmote\"},\"llvm\":{\"title\":\"LLVM IR\",\"owner\":\"porglezomp\"},\"log\":{\"title\":\"Log file\",\"optional\":\"javastacktrace\",\"owner\":\"RunDevelopment\"},\"lolcode\":{\"title\":\"LOLCODE\",\"owner\":\"Golmote\"},\"lua\":{\"title\":\"Lua\",\"owner\":\"Golmote\"},\"magma\":{\"title\":\"Magma (CAS)\",\"owner\":\"RunDevelopment\"},\"makefile\":{\"title\":\"Makefile\",\"owner\":\"Golmote\"},\"markdown\":{\"title\":\"Markdown\",\"require\":\"markup\",\"optional\":\"yaml\",\"alias\":\"md\",\"owner\":\"Golmote\"},\"markup-templating\":{\"title\":\"Markup templating\",\"require\":\"markup\",\"owner\":\"Golmote\"},\"mata\":{\"title\":\"Mata\",\"owner\":\"RunDevelopment\"},\"matlab\":{\"title\":\"MATLAB\",\"owner\":\"Golmote\"},\"maxscript\":{\"title\":\"MAXScript\",\"owner\":\"RunDevelopment\"},\"mel\":{\"title\":\"MEL\",\"owner\":\"Golmote\"},\"mermaid\":{\"title\":\"Mermaid\",\"owner\":\"RunDevelopment\"},\"metafont\":{\"title\":\"METAFONT\",\"owner\":\"LaeriExNihilo\"},\"mizar\":{\"title\":\"Mizar\",\"owner\":\"Golmote\"},\"mongodb\":{\"title\":\"MongoDB\",\"owner\":\"airs0urce\",\"require\":\"javascript\"},\"monkey\":{\"title\":\"Monkey\",\"owner\":\"Golmote\"},\"moonscript\":{\"title\":\"MoonScript\",\"alias\":\"moon\",\"owner\":\"RunDevelopment\"},\"n1ql\":{\"title\":\"N1QL\",\"owner\":\"TMWilds\"},\"n4js\":{\"title\":\"N4JS\",\"require\":\"javascript\",\"optional\":\"jsdoc\",\"alias\":\"n4jsd\",\"owner\":\"bsmith-n4\"},\"nand2tetris-hdl\":{\"title\":\"Nand To Tetris HDL\",\"owner\":\"stephanmax\"},\"naniscript\":{\"title\":\"Naninovel Script\",\"owner\":\"Elringus\",\"alias\":\"nani\"},\"nasm\":{\"title\":\"NASM\",\"owner\":\"rbmj\"},\"neon\":{\"title\":\"NEON\",\"owner\":\"nette\"},\"nevod\":{\"title\":\"Nevod\",\"owner\":\"nezaboodka\"},\"nginx\":{\"title\":\"nginx\",\"owner\":\"volado\"},\"nim\":{\"title\":\"Nim\",\"owner\":\"Golmote\"},\"nix\":{\"title\":\"Nix\",\"owner\":\"Golmote\"},\"nsis\":{\"title\":\"NSIS\",\"owner\":\"idleberg\"},\"objectivec\":{\"title\":\"Objective-C\",\"require\":\"c\",\"alias\":\"objc\",\"owner\":\"uranusjr\"},\"ocaml\":{\"title\":\"OCaml\",\"owner\":\"Golmote\"},\"odin\":{\"title\":\"Odin\",\"owner\":\"edukisto\"},\"opencl\":{\"title\":\"OpenCL\",\"require\":\"c\",\"modify\":[\"c\",\"cpp\"],\"owner\":\"Milania1\"},\"openqasm\":{\"title\":\"OpenQasm\",\"alias\":\"qasm\",\"owner\":\"RunDevelopment\"},\"oz\":{\"title\":\"Oz\",\"owner\":\"Golmote\"},\"parigp\":{\"title\":\"PARI/GP\",\"owner\":\"Golmote\"},\"parser\":{\"title\":\"Parser\",\"require\":\"markup\",\"owner\":\"Golmote\"},\"pascal\":{\"title\":\"Pascal\",\"alias\":\"objectpascal\",\"aliasTitles\":{\"objectpascal\":\"Object Pascal\"},\"owner\":\"Golmote\"},\"pascaligo\":{\"title\":\"Pascaligo\",\"owner\":\"DefinitelyNotAGoat\"},\"psl\":{\"title\":\"PATROL Scripting Language\",\"owner\":\"bertysentry\"},\"pcaxis\":{\"title\":\"PC-Axis\",\"alias\":\"px\",\"owner\":\"RunDevelopment\"},\"peoplecode\":{\"title\":\"PeopleCode\",\"alias\":\"pcode\",\"owner\":\"RunDevelopment\"},\"perl\":{\"title\":\"Perl\",\"owner\":\"Golmote\"},\"php\":{\"title\":\"PHP\",\"require\":\"markup-templating\",\"owner\":\"milesj\"},\"phpdoc\":{\"title\":\"PHPDoc\",\"require\":[\"php\",\"javadoclike\"],\"modify\":\"php\",\"owner\":\"RunDevelopment\"},\"php-extras\":{\"title\":\"PHP Extras\",\"require\":\"php\",\"modify\":\"php\",\"owner\":\"milesj\"},\"plant-uml\":{\"title\":\"PlantUML\",\"alias\":\"plantuml\",\"owner\":\"RunDevelopment\"},\"plsql\":{\"title\":\"PL/SQL\",\"require\":\"sql\",\"owner\":\"Golmote\"},\"powerquery\":{\"title\":\"PowerQuery\",\"alias\":[\"pq\",\"mscript\"],\"owner\":\"peterbud\"},\"powershell\":{\"title\":\"PowerShell\",\"owner\":\"nauzilus\"},\"processing\":{\"title\":\"Processing\",\"require\":\"clike\",\"owner\":\"Golmote\"},\"prolog\":{\"title\":\"Prolog\",\"owner\":\"Golmote\"},\"promql\":{\"title\":\"PromQL\",\"owner\":\"arendjr\"},\"properties\":{\"title\":\".properties\",\"owner\":\"Golmote\"},\"protobuf\":{\"title\":\"Protocol Buffers\",\"require\":\"clike\",\"owner\":\"just-boris\"},\"pug\":{\"title\":\"Pug\",\"require\":[\"markup\",\"javascript\"],\"optional\":[\"coffeescript\",\"ejs\",\"handlebars\",\"less\",\"livescript\",\"markdown\",\"scss\",\"stylus\",\"twig\"],\"owner\":\"Golmote\"},\"puppet\":{\"title\":\"Puppet\",\"owner\":\"Golmote\"},\"pure\":{\"title\":\"Pure\",\"optional\":[\"c\",\"cpp\",\"fortran\"],\"owner\":\"Golmote\"},\"purebasic\":{\"title\":\"PureBasic\",\"require\":\"clike\",\"alias\":\"pbfasm\",\"owner\":\"HeX0R101\"},\"purescript\":{\"title\":\"PureScript\",\"require\":\"haskell\",\"alias\":\"purs\",\"owner\":\"sriharshachilakapati\"},\"python\":{\"title\":\"Python\",\"alias\":\"py\",\"owner\":\"multipetros\"},\"qsharp\":{\"title\":\"Q#\",\"require\":\"clike\",\"alias\":\"qs\",\"owner\":\"fedonman\"},\"q\":{\"title\":\"Q (kdb+ database)\",\"owner\":\"Golmote\"},\"qml\":{\"title\":\"QML\",\"require\":\"javascript\",\"owner\":\"RunDevelopment\"},\"qore\":{\"title\":\"Qore\",\"require\":\"clike\",\"owner\":\"temnroegg\"},\"r\":{\"title\":\"R\",\"owner\":\"Golmote\"},\"racket\":{\"title\":\"Racket\",\"require\":\"scheme\",\"alias\":\"rkt\",\"owner\":\"RunDevelopment\"},\"cshtml\":{\"title\":\"Razor C#\",\"alias\":\"razor\",\"require\":[\"markup\",\"csharp\"],\"optional\":[\"css\",\"css-extras\",\"javascript\",\"js-extras\"],\"owner\":\"RunDevelopment\"},\"jsx\":{\"title\":\"React JSX\",\"require\":[\"markup\",\"javascript\"],\"optional\":[\"jsdoc\",\"js-extras\",\"js-templates\"],\"owner\":\"vkbansal\"},\"tsx\":{\"title\":\"React TSX\",\"require\":[\"jsx\",\"typescript\"]},\"reason\":{\"title\":\"Reason\",\"require\":\"clike\",\"owner\":\"Golmote\"},\"regex\":{\"title\":\"Regex\",\"owner\":\"RunDevelopment\"},\"rego\":{\"title\":\"Rego\",\"owner\":\"JordanSh\"},\"renpy\":{\"title\":\"Ren'py\",\"alias\":\"rpy\",\"owner\":\"HyuchiaDiego\"},\"rescript\":{\"title\":\"ReScript\",\"alias\":\"res\",\"owner\":\"vmarcosp\"},\"rest\":{\"title\":\"reST (reStructuredText)\",\"owner\":\"Golmote\"},\"rip\":{\"title\":\"Rip\",\"owner\":\"ravinggenius\"},\"roboconf\":{\"title\":\"Roboconf\",\"owner\":\"Golmote\"},\"robotframework\":{\"title\":\"Robot Framework\",\"alias\":\"robot\",\"owner\":\"RunDevelopment\"},\"ruby\":{\"title\":\"Ruby\",\"require\":\"clike\",\"alias\":\"rb\",\"owner\":\"samflores\"},\"rust\":{\"title\":\"Rust\",\"owner\":\"Golmote\"},\"sas\":{\"title\":\"SAS\",\"optional\":[\"groovy\",\"lua\",\"sql\"],\"owner\":\"Golmote\"},\"sass\":{\"title\":\"Sass (Sass)\",\"require\":\"css\",\"optional\":\"css-extras\",\"owner\":\"Golmote\"},\"scss\":{\"title\":\"Sass (SCSS)\",\"require\":\"css\",\"optional\":\"css-extras\",\"owner\":\"MoOx\"},\"scala\":{\"title\":\"Scala\",\"require\":\"java\",\"owner\":\"jozic\"},\"scheme\":{\"title\":\"Scheme\",\"owner\":\"bacchus123\"},\"shell-session\":{\"title\":\"Shell session\",\"require\":\"bash\",\"alias\":[\"sh-session\",\"shellsession\"],\"owner\":\"RunDevelopment\"},\"smali\":{\"title\":\"Smali\",\"owner\":\"RunDevelopment\"},\"smalltalk\":{\"title\":\"Smalltalk\",\"owner\":\"Golmote\"},\"smarty\":{\"title\":\"Smarty\",\"require\":\"markup-templating\",\"optional\":\"php\",\"owner\":\"Golmote\"},\"sml\":{\"title\":\"SML\",\"alias\":\"smlnj\",\"aliasTitles\":{\"smlnj\":\"SML/NJ\"},\"owner\":\"RunDevelopment\"},\"solidity\":{\"title\":\"Solidity (Ethereum)\",\"alias\":\"sol\",\"require\":\"clike\",\"owner\":\"glachaud\"},\"solution-file\":{\"title\":\"Solution file\",\"alias\":\"sln\",\"owner\":\"RunDevelopment\"},\"soy\":{\"title\":\"Soy (Closure Template)\",\"require\":\"markup-templating\",\"owner\":\"Golmote\"},\"sparql\":{\"title\":\"SPARQL\",\"require\":\"turtle\",\"owner\":\"Triply-Dev\",\"alias\":\"rq\"},\"splunk-spl\":{\"title\":\"Splunk SPL\",\"owner\":\"RunDevelopment\"},\"sqf\":{\"title\":\"SQF: Status Quo Function (Arma 3)\",\"require\":\"clike\",\"owner\":\"RunDevelopment\"},\"sql\":{\"title\":\"SQL\",\"owner\":\"multipetros\"},\"squirrel\":{\"title\":\"Squirrel\",\"require\":\"clike\",\"owner\":\"RunDevelopment\"},\"stan\":{\"title\":\"Stan\",\"owner\":\"RunDevelopment\"},\"stata\":{\"title\":\"Stata Ado\",\"require\":[\"mata\",\"java\",\"python\"],\"owner\":\"RunDevelopment\"},\"iecst\":{\"title\":\"Structured Text (IEC 61131-3)\",\"owner\":\"serhioromano\"},\"stylus\":{\"title\":\"Stylus\",\"owner\":\"vkbansal\"},\"supercollider\":{\"title\":\"SuperCollider\",\"alias\":\"sclang\",\"owner\":\"RunDevelopment\"},\"swift\":{\"title\":\"Swift\",\"owner\":\"chrischares\"},\"systemd\":{\"title\":\"Systemd configuration file\",\"owner\":\"RunDevelopment\"},\"t4-templating\":{\"title\":\"T4 templating\",\"owner\":\"RunDevelopment\"},\"t4-cs\":{\"title\":\"T4 Text Templates (C#)\",\"require\":[\"t4-templating\",\"csharp\"],\"alias\":\"t4\",\"owner\":\"RunDevelopment\"},\"t4-vb\":{\"title\":\"T4 Text Templates (VB)\",\"require\":[\"t4-templating\",\"vbnet\"],\"owner\":\"RunDevelopment\"},\"tap\":{\"title\":\"TAP\",\"owner\":\"isaacs\",\"require\":\"yaml\"},\"tcl\":{\"title\":\"Tcl\",\"owner\":\"PeterChaplin\"},\"tt2\":{\"title\":\"Template Toolkit 2\",\"require\":[\"clike\",\"markup-templating\"],\"owner\":\"gflohr\"},\"textile\":{\"title\":\"Textile\",\"require\":\"markup\",\"optional\":\"css\",\"owner\":\"Golmote\"},\"toml\":{\"title\":\"TOML\",\"owner\":\"RunDevelopment\"},\"tremor\":{\"title\":\"Tremor\",\"alias\":[\"trickle\",\"troy\"],\"owner\":\"darach\",\"aliasTitles\":{\"trickle\":\"trickle\",\"troy\":\"troy\"}},\"turtle\":{\"title\":\"Turtle\",\"alias\":\"trig\",\"aliasTitles\":{\"trig\":\"TriG\"},\"owner\":\"jakubklimek\"},\"twig\":{\"title\":\"Twig\",\"require\":\"markup-templating\",\"owner\":\"brandonkelly\"},\"typescript\":{\"title\":\"TypeScript\",\"require\":\"javascript\",\"optional\":\"js-templates\",\"alias\":\"ts\",\"owner\":\"vkbansal\"},\"typoscript\":{\"title\":\"TypoScript\",\"alias\":\"tsconfig\",\"aliasTitles\":{\"tsconfig\":\"TSConfig\"},\"owner\":\"dkern\"},\"unrealscript\":{\"title\":\"UnrealScript\",\"alias\":[\"uscript\",\"uc\"],\"owner\":\"RunDevelopment\"},\"uorazor\":{\"title\":\"UO Razor Script\",\"owner\":\"jaseowns\"},\"uri\":{\"title\":\"URI\",\"alias\":\"url\",\"aliasTitles\":{\"url\":\"URL\"},\"owner\":\"RunDevelopment\"},\"v\":{\"title\":\"V\",\"require\":\"clike\",\"owner\":\"taggon\"},\"vala\":{\"title\":\"Vala\",\"require\":\"clike\",\"optional\":\"regex\",\"owner\":\"TemplarVolk\"},\"vbnet\":{\"title\":\"VB.Net\",\"require\":\"basic\",\"owner\":\"Bigsby\"},\"velocity\":{\"title\":\"Velocity\",\"require\":\"markup\",\"owner\":\"Golmote\"},\"verilog\":{\"title\":\"Verilog\",\"owner\":\"a-rey\"},\"vhdl\":{\"title\":\"VHDL\",\"owner\":\"a-rey\"},\"vim\":{\"title\":\"vim\",\"owner\":\"westonganger\"},\"visual-basic\":{\"title\":\"Visual Basic\",\"alias\":[\"vb\",\"vba\"],\"aliasTitles\":{\"vba\":\"VBA\"},\"owner\":\"Golmote\"},\"warpscript\":{\"title\":\"WarpScript\",\"owner\":\"RunDevelopment\"},\"wasm\":{\"title\":\"WebAssembly\",\"owner\":\"Golmote\"},\"web-idl\":{\"title\":\"Web IDL\",\"alias\":\"webidl\",\"owner\":\"RunDevelopment\"},\"wgsl\":{\"title\":\"WGSL\",\"owner\":\"Dr4gonthree\"},\"wiki\":{\"title\":\"Wiki markup\",\"require\":\"markup\",\"owner\":\"Golmote\"},\"wolfram\":{\"title\":\"Wolfram language\",\"alias\":[\"mathematica\",\"nb\",\"wl\"],\"aliasTitles\":{\"mathematica\":\"Mathematica\",\"nb\":\"Mathematica Notebook\"},\"owner\":\"msollami\"},\"wren\":{\"title\":\"Wren\",\"owner\":\"clsource\"},\"xeora\":{\"title\":\"Xeora\",\"require\":\"markup\",\"alias\":\"xeoracube\",\"aliasTitles\":{\"xeoracube\":\"XeoraCube\"},\"owner\":\"freakmaxi\"},\"xml-doc\":{\"title\":\"XML doc (.net)\",\"require\":\"markup\",\"modify\":[\"csharp\",\"fsharp\",\"vbnet\"],\"owner\":\"RunDevelopment\"},\"xojo\":{\"title\":\"Xojo (REALbasic)\",\"owner\":\"Golmote\"},\"xquery\":{\"title\":\"XQuery\",\"require\":\"markup\",\"owner\":\"Golmote\"},\"yaml\":{\"title\":\"YAML\",\"alias\":\"yml\",\"owner\":\"hason\"},\"yang\":{\"title\":\"YANG\",\"owner\":\"RunDevelopment\"},\"zig\":{\"title\":\"Zig\",\"owner\":\"RunDevelopment\"}},\"plugins\":{\"meta\":{\"path\":\"plugins/{id}/prism-{id}\",\"link\":\"plugins/{id}/\"},\"line-highlight\":{\"title\":\"Line Highlight\",\"description\":\"Highlights specific lines and/or line ranges.\"},\"line-numbers\":{\"title\":\"Line Numbers\",\"description\":\"Line number at the beginning of code lines.\",\"owner\":\"kuba-kubula\"},\"show-invisibles\":{\"title\":\"Show Invisibles\",\"description\":\"Show hidden characters such as tabs and line breaks.\",\"optional\":[\"autolinker\",\"data-uri-highlight\"]},\"autolinker\":{\"title\":\"Autolinker\",\"description\":\"Converts URLs and emails in code to clickable links. Parses Markdown links in comments.\"},\"wpd\":{\"title\":\"WebPlatform Docs\",\"description\":\"Makes tokens link to <a href=\\\"https://webplatform.github.io/docs/\\\">WebPlatform.org documentation</a>. The links open in a new tab.\"},\"custom-class\":{\"title\":\"Custom Class\",\"description\":\"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.\",\"owner\":\"dvkndn\",\"noCSS\":true},\"file-highlight\":{\"title\":\"File Highlight\",\"description\":\"Fetch external files and highlight them with Prism. Used on the Prism website itself.\",\"noCSS\":true},\"show-language\":{\"title\":\"Show Language\",\"description\":\"Display the highlighted language in code blocks (inline code does not show the label).\",\"owner\":\"nauzilus\",\"noCSS\":true,\"require\":\"toolbar\"},\"jsonp-highlight\":{\"title\":\"JSONP Highlight\",\"description\":\"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).\",\"noCSS\":true,\"owner\":\"nauzilus\"},\"highlight-keywords\":{\"title\":\"Highlight Keywords\",\"description\":\"Adds special CSS classes for each keyword for fine-grained highlighting.\",\"owner\":\"vkbansal\",\"noCSS\":true},\"remove-initial-line-feed\":{\"title\":\"Remove initial line feed\",\"description\":\"Removes the initial line feed in code blocks.\",\"owner\":\"Golmote\",\"noCSS\":true},\"inline-color\":{\"title\":\"Inline color\",\"description\":\"Adds a small inline preview for colors in style sheets.\",\"require\":\"css-extras\",\"owner\":\"RunDevelopment\"},\"previewers\":{\"title\":\"Previewers\",\"description\":\"Previewers for angles, colors, gradients, easing and time.\",\"require\":\"css-extras\",\"owner\":\"Golmote\"},\"autoloader\":{\"title\":\"Autoloader\",\"description\":\"Automatically loads the needed languages to highlight the code blocks.\",\"owner\":\"Golmote\",\"noCSS\":true},\"keep-markup\":{\"title\":\"Keep Markup\",\"description\":\"Prevents custom markup from being dropped out during highlighting.\",\"owner\":\"Golmote\",\"optional\":\"normalize-whitespace\",\"noCSS\":true},\"command-line\":{\"title\":\"Command Line\",\"description\":\"Display a command line with a prompt and, optionally, the output/response from the commands.\",\"owner\":\"chriswells0\"},\"unescaped-markup\":{\"title\":\"Unescaped Markup\",\"description\":\"Write markup without having to escape anything.\"},\"normalize-whitespace\":{\"title\":\"Normalize Whitespace\",\"description\":\"Supports multiple operations to normalize whitespace in code blocks.\",\"owner\":\"zeitgeist87\",\"optional\":\"unescaped-markup\",\"noCSS\":true},\"data-uri-highlight\":{\"title\":\"Data-URI Highlight\",\"description\":\"Highlights data-URI contents.\",\"owner\":\"Golmote\",\"noCSS\":true},\"toolbar\":{\"title\":\"Toolbar\",\"description\":\"Attach a toolbar for plugins to easily register buttons on the top of a code block.\",\"owner\":\"mAAdhaTTah\"},\"copy-to-clipboard\":{\"title\":\"Copy to Clipboard Button\",\"description\":\"Add a button that copies the code block to the clipboard when clicked.\",\"owner\":\"mAAdhaTTah\",\"require\":\"toolbar\",\"noCSS\":true},\"download-button\":{\"title\":\"Download Button\",\"description\":\"A button in the toolbar of a code block adding a convenient way to download a code file.\",\"owner\":\"Golmote\",\"require\":\"toolbar\",\"noCSS\":true},\"match-braces\":{\"title\":\"Match braces\",\"description\":\"Highlights matching braces.\",\"owner\":\"RunDevelopment\"},\"diff-highlight\":{\"title\":\"Diff Highlight\",\"description\":\"Highlights the code inside diff blocks.\",\"owner\":\"RunDevelopment\",\"require\":\"diff\"},\"filter-highlight-all\":{\"title\":\"Filter highlightAll\",\"description\":\"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.\",\"owner\":\"RunDevelopment\",\"noCSS\":true},\"treeview\":{\"title\":\"Treeview\",\"description\":\"A language with special styles to highlight file system tree structures.\",\"owner\":\"Golmote\"}}};\nif (typeof module !== 'undefined' && module.exports) { module.exports = components; }","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\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\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\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\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\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\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\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\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/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)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","<template>\n <KCodeBlock\n :id=\"codeBlockKey\"\n class=\"document-code-block\"\n :code=\"stringifiedCode\"\n :is-processing=\"isProcessing\"\n :is-single-line=\"isSingleLine\"\n :language=\"lang\"\n theme=\"light\"\n @code-block-render=\"highlight\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport { TextNode } from '../../types'\nimport * as components from 'prismjs/components'\nimport Prism from 'prismjs'\nimport 'prismjs/themes/prism.min.css'\n\nPrism.manual = true\n\nconst props = defineProps({\n codeBlockIndex: {\n type: Number,\n default: 1,\n },\n lines: {\n type: Array<TextNode>,\n required: true,\n },\n lang: {\n type: String,\n default: 'plaintext',\n },\n isSingleLine: {\n type: Boolean,\n default: false,\n },\n})\n\nconst isProcessing = ref(false)\n\nconst supportedPrismLanguages = Object.keys(components.languages)\n // @ts-ignore\n .reduce((arr, lang) => {\n const alias = components.languages[lang].alias || []\n\n return [...arr, lang, ...(Array.isArray(alias) ? alias : [alias])]\n }, [])\n // @ts-ignore\n .sort()\n\n/**\n * Applies PrismJS syntax highlighting.\n *\n * **Note**: Use higher-level functions like `Prism.highlightElement` for highlighting.\n * Lower-level functions like `Prism.highlight` don’t run any of the hooks\n * that are used to make plugins work.\n */\nfunction highlight(obj: any) {\n isProcessing.value = true\n\n if (!Prism.languages[obj.language]) {\n console.warn(`Prism: the language “${obj.language}” isn’t enabled.`)\n }\n\n if (!obj.preElement.classList.contains(`language-${obj.language}`)) {\n // Adds the language-* class which tells Prism which language to highlight for.\n obj.preElement.classList.add(`language-${obj.language}`)\n }\n\n // Ensures Prism operates on the raw code and not on an already highlighted DOM fragment.\n obj.codeElement.innerHTML = escapeUnsafeCharacters(obj.code)\n\n Prism.highlightElement(obj.codeElement)\n\n isProcessing.value = false\n}\n\nconst escapeUnsafeCharacters = (unescapedCodeString: string): string => {\n return unescapedCodeString.replaceAll('<', '<').replaceAll('>', '>').replaceAll('\"', '"').replaceAll(\"'\", ''')\n}\n\n// Should be used in the case there's multiple code blocks\n// in a markdown file.\nconst codeBlockKey = computed(() => `document-code-block-${props.codeBlockIndex}`)\n\nconst stringifiedCode = computed(() => {\n const code = props.lines.flatMap(line => line.text).join('')\n\n // To remove an extra line at the end, in the case that\n // someone leaves that in their markdown.\n if (code.endsWith('\\n') && !props.isSingleLine) {\n return code.slice(0, -1)\n }\n\n return code\n})\n\nwatch(() => props.lang, async (language: string) => {\n if (supportedPrismLanguages.includes(language)) {\n try {\n await import(/* @vite-ignore */`../../../node_modules/prismjs/components/prism-${language}.min.js`)\n } catch (e) {\n console.warn(`Prism does not have a language file for '${language}'`)\n }\n }\n Prism.highlightAll()\n}, { immediate: true })\n\n</script>\n\n<style lang=\"scss\" scoped>\n.document-code-block {\n :deep(.k-highlighted-code-block) {\n &.is-single-line {\n box-sizing: border-box;\n }\n }\n margin-bottom: var(--spacing-sm, 12px);\n}\n</style>\n","<template>\n <component :is=\"tag\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nconst props = defineProps({\n level: {\n type: Number,\n default: 1,\n validator(value: unknown): boolean {\n if (!Number.isInteger(value)) {\n return false\n }\n\n const num = value as number\n return num > 0 && num < 3\n },\n },\n})\n\nconst tag = props.level === 1 ? 'em' : 'strong'\n</script>\n","<template>\n <component\n :is=\"tag\"\n :id=\"slug\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nconst props = defineProps({\n level: {\n type: Number,\n validator(value: unknown): boolean {\n if (!Number.isInteger(value)) {\n return false\n }\n\n const num = value as number\n\n return num > 0 && num < 7\n },\n default: 1,\n },\n slug: {\n type: String,\n default: '',\n },\n})\n\nconst slug = `${props.slug}`\nconst tag = `h${props.level}`\n</script>\n\n<style scoped>\nh1, h2, h3, h4, h5, h6 {\n color: var(--document-viewer-color, var(--text_colors-headings, #0b172d));\n font-family: var(--document-viewer-font-family-headings, var(--document-viewer-font-family-default));\n font-weight: var(--document-viewer-heading-font-weight, 500);\n margin-top: 0;\n}\n\nh1 {\n font-size: 32px;\n font-weight: 500;\n line-height: 38px;\n margin-bottom: var(--spacing-xl, 32px);\n}\n\nh2 {\n font-size: 24px;\n line-height: 26px;\n margin-bottom: var(--spacing-lg, 24px);\n}\n\nh3 {\n font-size: 20px;\n line-height: 20px;\n margin-bottom: var(--spacing-sm, 12px);\n}\n\nh4 {\n font-size: 18px;\n line-height: 20px;\n margin-bottom: var(--spacing-sm, 12px);\n}\n\nh5 {\n font-size: 16px;\n line-height: 20px;\n margin-bottom: var(--spacing-sm, 12px);\n}\n\nh6 {\n font-size: 14.5px;\n line-height: 20px;\n margin-bottom: var(--spacing-sm, 12px);\n}\n\nh1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {\n margin-top: 0;\n}\n</style>\n","<template>\n <hr>\n</template>\n\n<style scoped>\nhr {\n background-color: var(--document-viewer-color, var(--text_colors-primary, #0b172d));\n border: none;\n height: 1.5px;\n margin: var(--spacing-md, 16px) 0;\n}\n</style>\n","<template>\n <s>\n <slot />\n </s>\n</template>\n","<template>\n <table>\n <slot />\n </table>\n</template>\n\n<style scoped>\ntable {\n border: 1px solid var(--document-viewer-color, var(--text_colors-primary, #0b172d));\n border-collapse: collapse;\n font-size: var(--type-sm, 14px);\n margin-bottom: var(--spacing-md, 16px);\n}\n</style>\n","<template>\n <component :is=\"tag\">\n <tr>\n <slot />\n </tr>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport { PropType } from 'vue'\nimport { TableRowSection } from '../../types'\n\nconst props = defineProps({\n section: {\n type: String as PropType<TableRowSection>,\n default: TableRowSection.body,\n },\n})\n\nlet tag: string\nif (props.section === TableRowSection.header) {\n tag = 'thead'\n} else if (props.section === TableRowSection.body) {\n tag = 'tbody'\n} else if (props.section === TableRowSection.footer) {\n tag = 'tfoot'\n}\n</script>\n\n<style scoped>\nth,\ntd {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\ntr {\n border-top: 1px solid var(--document-viewer-color, var(--text_colors-primary, #0b172d));\n}\n</style>\n","<template>\n <component\n :is=\"tag\"\n :class=\"className\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport { PropType } from 'vue'\nimport { TableCellAlign, TableRowNode, TableRowSection } from '../../types'\n\nconst props = defineProps({\n alignment: {\n type: String as PropType<TableCellAlign>,\n default: TableCellAlign.left,\n },\n parent: {\n type: Object as PropType<TableRowNode>,\n required: true,\n },\n})\n\nconst tag = props.parent?.section === TableRowSection.header ? 'th' : 'td'\n\nlet className: string\nif (props.alignment === TableCellAlign.center) {\n className = 'align-center'\n} else if (props.alignment === TableCellAlign.right) {\n className = 'align-right'\n}\n</script>\n\n<style scoped>\nth, td {\n padding: 8px;\n text-align: left;\n vertical-align: top;\n}\n\nth:not(:last-of-type), td:not(:last-of-type) {\n border-right: 1px solid var(--document-viewer-color, var(--text_colors-primary, #0b172d));\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n</style>\n","<template>\n <input\n aria-label=\"Display-only checkbox for task\"\n :checked=\"checked\"\n type=\"checkbox\"\n >\n</template>\n\n<script setup lang=\"ts\">\nimport { defineProps, ref } from 'vue'\n\ntype TaskCheckboxProps = {\n checked: boolean;\n};\n\nconst props = defineProps<TaskCheckboxProps>()\n\nconst checked = ref(props.checked)\n\n</script>\n","<template>\n {{ text }}<span v-if=\"appendSpace\"> </span><br v-if=\"hardBreak\">\n</template>\n\n<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n}\n</script>\n<script setup lang=\"ts\">\ndefineProps({\n text: {\n type: String,\n required: true,\n },\n appendSpace: {\n type: Boolean,\n default: false,\n },\n hardBreak: {\n type: Boolean,\n default: false,\n },\n})\n</script>\n","<template>\n <span>\n <slot />\n </span>\n</template>\n","<template>\n <p>\n <slot />\n </p>\n</template>\n\n<style scoped>\np {\n font-size: 14px;\n line-height: 20px;\n margin: var(--document-viewer-paragraph-margin, 0 0 12px);\n}\n</style>\n","<template>\n <component\n :is=\"tag\"\n :class=\"{ 'has-task-items': hasTaskItems}\"\n >\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nconst props = defineProps({\n isOrdered: {\n type: Boolean,\n default: false,\n },\n hasTaskItems: {\n type: Boolean,\n default: false,\n },\n})\n\nconst tag = props.isOrdered ? 'ol' : 'ul'\n</script>\n\n<style scoped lang=\"scss\">\nul, ol {\n font-size: 14px;\n margin-bottom: var(--spacing-sm, 12px);\n margin-left: 16px;\n padding: 0;\n}\n\nol {\n list-style: decimal;\n}\n\nul {\n list-style: disc;\n}\n\n.has-task-items {\n margin-left: unset;\n\n :deep(li) {\n list-style: none;\n }\n}\n</style>\n","<template>\n <li>\n <slot />\n </li>\n</template>\n\n<style lang=\"scss\" scoped>\nli {\n margin-top: 8px;\n\n :deep(>) {\n ul, ol {\n margin-bottom: unset;\n margin-left: 16px !important;\n }\n\n p, span {\n display: inline-flex;\n margin-bottom: 0;\n\n > input[type=\"checkbox\"] {\n margin: 0 4px 0 0;\n }\n }\n }\n}\n</style>\n","import { Component } from 'vue'\nimport { BaseNode, isTableHeaderNode, isListNode, TableRowSection } from '../types'\nimport Blockquote from './nodes/Blockquote.vue'\nimport Code from './nodes/Code.vue'\nimport CodeBlock from './nodes/CodeBlock.vue'\nimport Emphasis from './nodes/Emphasis.vue'\nimport Heading from './nodes/Heading.vue'\nimport Image from './nodes/Image.vue'\nimport LineBreak from './nodes/LineBreak.vue'\nimport Strikethrough from './nodes/Strikethrough.vue'\nimport Table from './nodes/Table.vue'\nimport TableRow from './nodes/TableRow.vue'\nimport TableCell from './nodes/TableCell.vue'\nimport TaskCheckbox from './nodes/TaskCheckbox.vue'\nimport Text from './nodes/Text.vue'\nimport TextBlock from './nodes/TextBlock.vue'\nimport Paragraph from './nodes/Paragraph.vue'\nimport List from './nodes/List.vue'\nimport ListItem from './nodes/ListItem.vue'\nimport Link from './nodes/Link.vue'\n\n// The node to component mapping is currently static but may change in the future\nconst nodeTypeToComponentMap: Record<string, Component> = {\n blockquote: Blockquote,\n code: Code,\n code_block: CodeBlock,\n emphasis: Emphasis,\n heading: Heading,\n image: Image,\n break: LineBreak,\n link: Link,\n list: List,\n list_item: ListItem,\n paragraph: Paragraph,\n strikethrough: Strikethrough,\n table: Table,\n table_header: TableRow,\n table_row: TableRow,\n table_cell: TableCell,\n task_checkbox: TaskCheckbox,\n text: Text,\n text_block: TextBlock,\n}\n\nconst nodeTypesNotified: Array<string> = []\nfunction notifyUnknownNodeType(type: string) {\n if (nodeTypesNotified.indexOf(type) !== -1) {\n return\n }\n\n nodeTypesNotified.push(type)\n console.warn(`[DocumentViewer] Unable to render an unknown node type \"${type}\"`)\n}\n\nexport default function renderChildren<ChildTypes extends BaseNode>(children: Array<ChildTypes>, parent?: BaseNode): Component {\n return children.map((child, index) => {\n if (!child) {\n return null\n }\n\n const { type, children, ...restProps } = child\n const component = nodeTypeToComponentMap[child.type]\n\n if (!component) {\n notifyUnknownNodeType(type)\n return null\n }\n\n if (isTableHeaderNode(child)) {\n // Need to tell the section that this is a header tag\n child.section = TableRowSection.header\n }\n\n if (isListNode(child)) {\n // Check if list items contain a task list item\n const containsTaskListItems = child.children?.some((listItem) => {\n return listItem.children?.some((itemContent) => {\n return itemContent.children?.some((content) => content.type === 'task_checkbox')\n })\n })\n\n return (\n <component hasTaskItems={containsTaskListItems} {...restProps} parent={parent}>\n {() => children && renderChildren(children, child)}\n </component>\n )\n }\n\n if (child?.type === 'code_block') {\n return (\n <component\n {...restProps}\n lines={children}\n isSingleLine={children?.length && children.length === 1}\n codeBlockIndex={index}\n />\n )\n }\n\n return (\n <component {...restProps} parent={parent}>\n {() => children && renderChildren(children, child)}\n </component>\n )\n })\n}\n","import { defineComponent as ke, h as Xe } from \"vue\";\nvar q = function(e, t) {\n return q = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, r) {\n n.__proto__ = r;\n } || function(n, r) {\n for (var i in r)\n Object.prototype.hasOwnProperty.call(r, i) && (n[i] = r[i]);\n }, q(e, t);\n};\nfunction A(e, t) {\n if (typeof t != \"function\" && t !== null)\n throw new TypeError(\"Class extends value \" + String(t) + \" is not a constructor or null\");\n q(e, t);\n function n() {\n this.constructor = e;\n }\n e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());\n}\nvar m = function() {\n return m = Object.assign || function(t) {\n for (var n, r = 1, i = arguments.length; r < i; r++) {\n n = arguments[r];\n for (var a in n)\n Object.prototype.hasOwnProperty.call(n, a) && (t[a] = n[a]);\n }\n return t;\n }, m.apply(this, arguments);\n};\nfunction Ze(e, t) {\n var n = {};\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);\n if (e != null && typeof Object.getOwnPropertySymbols == \"function\")\n for (var i = 0, r = Object.getOwnPropertySymbols(e); i < r.length; i++)\n t.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[i]) && (n[r[i]] = e[r[i]]);\n return n;\n}\nfunction P(e, t, n) {\n if (n || arguments.length === 2)\n for (var r = 0, i = t.length, a; r < i; r++)\n (a || !(r in t)) && (a || (a = Array.prototype.slice.call(t, 0, r)), a[r] = t[r]);\n return e.concat(a || Array.prototype.slice.call(t));\n}\nvar g;\n(function(e) {\n e[e.EXPECT_ARGUMENT_CLOSING_BRACE = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\", e[e.EMPTY_ARGUMENT = 2] = \"EMPTY_ARGUMENT\", e[e.MALFORMED_ARGUMENT = 3] = \"MALFORMED_ARGUMENT\", e[e.EXPECT_ARGUMENT_TYPE = 4] = \"EXPECT_ARGUMENT_TYPE\", e[e.INVALID_ARGUMENT_TYPE = 5] = \"INVALID_ARGUMENT_TYPE\", e[e.EXPECT_ARGUMENT_STYLE = 6] = \"EXPECT_ARGUMENT_STYLE\", e[e.INVALID_NUMBER_SKELETON = 7] = \"INVALID_NUMBER_SKELETON\", e[e.INVALID_DATE_TIME_SKELETON = 8] = \"INVALID_DATE_TIME_SKELETON\", e[e.EXPECT_NUMBER_SKELETON = 9] = \"EXPECT_NUMBER_SKELETON\", e[e.EXPECT_DATE_TIME_SKELETON = 10] = \"EXPECT_DATE_TIME_SKELETON\", e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\", e[e.EXPECT_SELECT_ARGUMENT_OPTIONS = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\", e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\", e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\", e[e.EXPECT_SELECT_ARGUMENT_SELECTOR = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\", e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\", e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\", e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\", e[e.INVALID_PLURAL_ARGUMENT_SELECTOR = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\", e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\", e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\", e[e.MISSING_OTHER_CLAUSE = 22] = \"MISSING_OTHER_CLAUSE\", e[e.INVALID_TAG = 23] = \"INVALID_TAG\", e[e.INVALID_TAG_NAME = 25] = \"INVALID_TAG_NAME\", e[e.UNMATCHED_CLOSING_TAG = 26] = \"UNMATCHED_CLOSING_TAG\", e[e.UNCLOSED_TAG = 27] = \"UNCLOSED_TAG\";\n})(g || (g = {}));\nvar d;\n(function(e) {\n e[e.literal = 0] = \"literal\", e[e.argument = 1] = \"argument\", e[e.number = 2] = \"number\", e[e.date = 3] = \"date\", e[e.time = 4] = \"time\", e[e.select = 5] = \"select\", e[e.plural = 6] = \"plural\", e[e.pound = 7] = \"pound\", e[e.tag = 8] = \"tag\";\n})(d || (d = {}));\nvar w;\n(function(e) {\n e[e.number = 0] = \"number\", e[e.dateTime = 1] = \"dateTime\";\n})(w || (w = {}));\nfunction ae(e) {\n return e.type === d.literal;\n}\nfunction We(e) {\n return e.type === d.argument;\n}\nfunction Ee(e) {\n return e.type === d.number;\n}\nfunction de(e) {\n return e.type === d.date;\n}\nfunction ye(e) {\n return e.type === d.time;\n}\nfunction xe(e) {\n return e.type === d.select;\n}\nfunction Te(e) {\n return e.type === d.plural;\n}\nfunction ze(e) {\n return e.type === d.pound;\n}\nfunction Se(e) {\n return e.type === d.tag;\n}\nfunction Ie(e) {\n return !!(e && typeof e == \"object\" && e.type === w.number);\n}\nfunction J(e) {\n return !!(e && typeof e == \"object\" && e.type === w.dateTime);\n}\nvar He = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/, qe = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\nfunction Je(e) {\n var t = {};\n return e.replace(qe, function(n) {\n var r = n.length;\n switch (n[0]) {\n case \"G\":\n t.era = r === 4 ? \"long\" : r === 5 ? \"narrow\" : \"short\";\n break;\n case \"y\":\n t.year = r === 2 ? \"2-digit\" : \"numeric\";\n break;\n case \"Y\":\n case \"u\":\n case \"U\":\n case \"r\":\n throw new RangeError(\"`Y/u/U/r` (year) patterns are not supported, use `y` instead\");\n case \"q\":\n case \"Q\":\n throw new RangeError(\"`q/Q` (quarter) patterns are not supported\");\n case \"M\":\n case \"L\":\n t.month = [\"numeric\", \"2-digit\", \"short\", \"long\", \"narrow\"][r - 1];\n break;\n case \"w\":\n case \"W\":\n throw new RangeError(\"`w/W` (week) patterns are not supported\");\n case \"d\":\n t.day = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"D\":\n case \"F\":\n case \"g\":\n throw new RangeError(\"`D/F/g` (day) patterns are not supported, use `d` instead\");\n case \"E\":\n t.weekday = r === 4 ? \"short\" : r === 5 ? \"narrow\" : \"short\";\n break;\n case \"e\":\n if (r < 4)\n throw new RangeError(\"`e..eee` (weekday) patterns are not supported\");\n t.weekday = [\"short\", \"long\", \"narrow\", \"short\"][r - 4];\n break;\n case \"c\":\n if (r < 4)\n throw new RangeError(\"`c..ccc` (weekday) patterns are not supported\");\n t.weekday = [\"short\", \"long\", \"narrow\", \"short\"][r - 4];\n break;\n case \"a\":\n t.hour12 = !0;\n break;\n case \"b\":\n case \"B\":\n throw new RangeError(\"`b/B` (period) patterns are not supported, use `a` instead\");\n case \"h\":\n t.hourCycle = \"h12\", t.hour = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"H\":\n t.hourCycle = \"h23\", t.hour = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"K\":\n t.hourCycle = \"h11\", t.hour = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"k\":\n t.hourCycle = \"h24\", t.hour = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"j\":\n case \"J\":\n case \"C\":\n throw new RangeError(\"`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead\");\n case \"m\":\n t.minute = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"s\":\n t.second = [\"numeric\", \"2-digit\"][r - 1];\n break;\n case \"S\":\n case \"A\":\n throw new RangeError(\"`S/A` (second) patterns are not supported, use `s` instead\");\n case \"z\":\n t.timeZoneName = r < 4 ? \"short\" : \"long\";\n break;\n case \"Z\":\n case \"O\":\n case \"v\":\n case \"V\":\n case \"X\":\n case \"x\":\n throw new RangeError(\"`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead\");\n }\n return \"\";\n }), t;\n}\nvar Qe = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\nfunction Ye(e) {\n if (e.length === 0)\n throw new Error(\"Number skeleton cannot be empty\");\n for (var t = e.split(Qe).filter(function(c) {\n return c.length > 0;\n }), n = [], r = 0, i = t; r < i.length; r++) {\n var a = i[r], o = a.split(\"/\");\n if (o.length === 0)\n throw new Error(\"Invalid number skeleton\");\n for (var s = o[0], h = o.slice(1), l = 0, u = h; l < u.length; l++) {\n var f = u[l];\n if (f.length === 0)\n throw new Error(\"Invalid number skeleton\");\n }\n n.push({ stem: s, options: h });\n }\n return n;\n}\nfunction $e(e) {\n return e.replace(/^(.*?)-/, \"\");\n}\nvar oe = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g, Ae = /^(@+)?(\\+|#+)?[rs]?$/g, Ke = /(\\*)(0+)|(#+)(0+)|(0+)/g, Ne = /^(0+)$/;\nfunction se(e) {\n var t = {};\n return e[e.length - 1] === \"r\" ? t.roundingPriority = \"morePrecision\" : e[e.length - 1] === \"s\" && (t.roundingPriority = \"lessPrecision\"), e.replace(Ae, function(n, r, i) {\n return typeof i != \"string\" ? (t.minimumSignificantDigits = r.length, t.maximumSignificantDigits = r.length) : i === \"+\" ? t.minimumSignificantDigits = r.length : r[0] === \"#\" ? t.maximumSignificantDigits = r.length : (t.minimumSignificantDigits = r.length, t.maximumSignificantDigits = r.length + (typeof i == \"string\" ? i.length : 0)), \"\";\n }), t;\n}\nfunction Be(e) {\n switch (e) {\n case \"sign-auto\":\n return {\n signDisplay: \"auto\"\n };\n case \"sign-accounting\":\n case \"()\":\n return {\n currencySign: \"accounting\"\n };\n case \"sign-always\":\n case \"+!\":\n return {\n signDisplay: \"always\"\n };\n case \"sign-accounting-always\":\n case \"()!\":\n return {\n signDisplay: \"always\",\n currencySign: \"accounting\"\n };\n case \"sign-except-zero\":\n case \"+?\":\n return {\n signDisplay: \"exceptZero\"\n };\n case \"sign-accounting-except-zero\":\n case \"()?\":\n return {\n signDisplay: \"exceptZero\",\n currencySign: \"accounting\"\n };\n case \"sign-never\":\n case \"+_\":\n return {\n signDisplay: \"never\"\n };\n }\n}\nfunction et(e) {\n var t;\n if (e[0] === \"E\" && e[1] === \"E\" ? (t = {\n notation: \"engineering\"\n }, e = e.slice(2)) : e[0] === \"E\" && (t = {\n notation: \"scientific\"\n }, e = e.slice(1)), t) {\n var n = e.slice(0, 2);\n if (n === \"+!\" ? (t.signDisplay = \"always\", e = e.slice(2)) : n === \"+?\" && (t.signDisplay = \"exceptZero\", e = e.slice(2)), !Ne.test(e))\n throw new Error(\"Malformed concise eng/scientific notation\");\n t.minimumIntegerDigits = e.length;\n }\n return t;\n}\nfunction ue(e) {\n var t = {}, n = Be(e);\n return n || t;\n}\nfunction tt(e) {\n for (var t = {}, n = 0, r = e; n < r.length; n++) {\n var i = r[n];\n switch (i.stem) {\n case \"percent\":\n case \"%\":\n t.style = \"percent\";\n continue;\n case \"%x100\":\n t.style = \"percent\", t.scale = 100;\n continue;\n case \"currency\":\n t.style = \"currency\", t.currency = i.options[0];\n continue;\n case \"group-off\":\n case \",_\":\n t.useGrouping = !1;\n continue;\n case \"precision-integer\":\n case \".\":\n t.maximumFractionDigits = 0;\n continue;\n case \"measure-unit\":\n case \"unit\":\n t.style = \"unit\", t.unit = $e(i.options[0]);\n continue;\n case \"compact-short\":\n case \"K\":\n t.notation = \"compact\", t.compactDisplay = \"short\";\n continue;\n case \"compact-long\":\n case \"KK\":\n t.notation = \"compact\", t.compactDisplay = \"long\";\n continue;\n case \"scientific\":\n t = m(m(m({}, t), { notation: \"scientific\" }), i.options.reduce(function(h, l) {\n return m(m({}, h), ue(l));\n }, {}));\n continue;\n case \"engineering\":\n t = m(m(m({}, t), { notation: \"engineering\" }), i.options.reduce(function(h, l) {\n return m(m({}, h), ue(l));\n }, {}));\n continue;\n case \"notation-simple\":\n t.notation = \"standard\";\n continue;\n case \"unit-width-narrow\":\n t.currencyDisplay = \"narrowSymbol\", t.unitDisplay = \"narrow\";\n continue;\n case \"unit-width-short\":\n t.currencyDisplay = \"code\", t.unitDisplay = \"short\";\n continue;\n case \"unit-width-full-name\":\n t.currencyDisplay = \"name\", t.unitDisplay = \"long\";\n continue;\n case \"unit-width-iso-code\":\n t.currencyDisplay = \"symbol\";\n continue;\n case \"scale\":\n t.scale = parseFloat(i.options[0]);\n continue;\n case \"integer-width\":\n if (i.options.length > 1)\n throw new RangeError(\"integer-width stems only accept a single optional option\");\n i.options[0].replace(Ke, function(h, l, u, f, c, p) {\n if (l)\n t.minimumIntegerDigits = u.length;\n else {\n if (f && c)\n throw new Error(\"We currently do not support maximum integer digits\");\n if (p)\n throw new Error(\"We currently do not support exact integer digits\");\n }\n return \"\";\n });\n continue;\n }\n if (Ne.test(i.stem)) {\n t.minimumIntegerDigits = i.stem.length;\n continue;\n }\n if (oe.test(i.stem)) {\n if (i.options.length > 1)\n throw new RangeError(\"Fraction-precision stems only accept a single optional option\");\n i.stem.replace(oe, function(h, l, u, f, c, p) {\n return u === \"*\" ? t.minimumFractionDigits = l.length : f && f[0] === \"#\" ? t.maximumFractionDigits = f.length : c && p ? (t.minimumFractionDigits = c.length, t.maximumFractionDigits = c.length + p.length) : (t.minimumFractionDigits = l.length, t.maximumFractionDigits = l.length), \"\";\n });\n var a = i.options[0];\n a === \"w\" ? t = m(m({}, t), { trailingZeroDisplay: \"stripIfInteger\" }) : a && (t = m(m({}, t), se(a)));\n continue;\n }\n if (Ae.test(i.stem)) {\n t = m(m({}, t), se(i.stem));\n continue;\n }\n var o = Be(i.stem);\n o && (t = m(m({}, t), o));\n var s = et(i.stem);\n s && (t = m(m({}, t), s));\n }\n return t;\n}\nvar j = {\n \"001\": [\n \"H\",\n \"h\"\n ],\n AC: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n AD: [\n \"H\",\n \"hB\"\n ],\n AE: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n AF: [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n AG: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n AI: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n AL: [\n \"h\",\n \"H\",\n \"hB\"\n ],\n AM: [\n \"H\",\n \"hB\"\n ],\n AO: [\n \"H\",\n \"hB\"\n ],\n AR: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n AS: [\n \"h\",\n \"H\"\n ],\n AT: [\n \"H\",\n \"hB\"\n ],\n AU: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n AW: [\n \"H\",\n \"hB\"\n ],\n AX: [\n \"H\"\n ],\n AZ: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n BA: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n BB: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n BD: [\n \"h\",\n \"hB\",\n \"H\"\n ],\n BE: [\n \"H\",\n \"hB\"\n ],\n BF: [\n \"H\",\n \"hB\"\n ],\n BG: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n BH: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n BJ: [\n \"H\",\n \"hB\"\n ],\n BL: [\n \"H\",\n \"hB\"\n ],\n BM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n BN: [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n BO: [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n BQ: [\n \"H\"\n ],\n BR: [\n \"H\",\n \"hB\"\n ],\n BS: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n BT: [\n \"h\",\n \"H\"\n ],\n BW: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n BZ: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n CA: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n CC: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n CD: [\n \"hB\",\n \"H\"\n ],\n CF: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n CG: [\n \"H\",\n \"hB\"\n ],\n CH: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n CI: [\n \"H\",\n \"hB\"\n ],\n CK: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n CL: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n CM: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n CN: [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n CO: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n CP: [\n \"H\"\n ],\n CR: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n CU: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n CV: [\n \"H\",\n \"hB\"\n ],\n CX: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n CY: [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n CZ: [\n \"H\"\n ],\n DE: [\n \"H\",\n \"hB\"\n ],\n DG: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n DJ: [\n \"h\",\n \"H\"\n ],\n DK: [\n \"H\"\n ],\n DM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n DO: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n DZ: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n EA: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n EC: [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n EE: [\n \"H\",\n \"hB\"\n ],\n EG: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n EH: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n ER: [\n \"h\",\n \"H\"\n ],\n ES: [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n ET: [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n FI: [\n \"H\"\n ],\n FJ: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n FK: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n FM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n FR: [\n \"H\",\n \"hB\"\n ],\n GA: [\n \"H\",\n \"hB\"\n ],\n GB: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n GD: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n GE: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n GF: [\n \"H\",\n \"hB\"\n ],\n GG: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n GH: [\n \"h\",\n \"H\"\n ],\n GI: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n GM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n GN: [\n \"H\",\n \"hB\"\n ],\n GP: [\n \"H\",\n \"hB\"\n ],\n GQ: [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n GR: [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n GT: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n GU: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n GW: [\n \"H\",\n \"hB\"\n ],\n GY: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n HK: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n HN: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n HR: [\n \"H\",\n \"hB\"\n ],\n IC: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n ID: [\n \"H\"\n ],\n IE: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n IL: [\n \"H\",\n \"hB\"\n ],\n IM: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n IN: [\n \"h\",\n \"H\"\n ],\n IO: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n IQ: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n IR: [\n \"hB\",\n \"H\"\n ],\n IS: [\n \"H\"\n ],\n IT: [\n \"H\",\n \"hB\"\n ],\n JE: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n JM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n JO: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n JP: [\n \"H\",\n \"h\",\n \"K\"\n ],\n KE: [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n KG: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n KH: [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n KI: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n KM: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n KN: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n KP: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n KR: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n KW: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n KY: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n KZ: [\n \"H\",\n \"hB\"\n ],\n LA: [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n LB: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n LC: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n LI: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n LK: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n LR: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n LS: [\n \"h\",\n \"H\"\n ],\n LT: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n LU: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n LV: [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n LY: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n MA: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n MC: [\n \"H\",\n \"hB\"\n ],\n MD: [\n \"H\",\n \"hB\"\n ],\n ME: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n MF: [\n \"H\",\n \"hB\"\n ],\n MH: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n MK: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n ML: [\n \"H\"\n ],\n MM: [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n MN: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n MO: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n MP: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n MQ: [\n \"H\",\n \"hB\"\n ],\n MR: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n MS: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n MW: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n MX: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n MY: [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n MZ: [\n \"H\",\n \"hB\"\n ],\n NA: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n NC: [\n \"H\",\n \"hB\"\n ],\n NE: [\n \"H\"\n ],\n NF: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n NG: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n NI: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n NL: [\n \"H\",\n \"hB\"\n ],\n NP: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n NR: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n NU: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n NZ: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n OM: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n PA: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n PE: [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n PF: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n PG: [\n \"h\",\n \"H\"\n ],\n PH: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n PK: [\n \"h\",\n \"hB\",\n \"H\"\n ],\n PM: [\n \"H\",\n \"hB\"\n ],\n PN: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n PR: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n PS: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n PT: [\n \"H\",\n \"hB\"\n ],\n PW: [\n \"h\",\n \"H\"\n ],\n PY: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n QA: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n RE: [\n \"H\",\n \"hB\"\n ],\n RO: [\n \"H\",\n \"hB\"\n ],\n RS: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n RU: [\n \"H\"\n ],\n SA: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n SB: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n SC: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n SD: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n SE: [\n \"H\"\n ],\n SG: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n SH: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n SI: [\n \"H\",\n \"hB\"\n ],\n SJ: [\n \"H\"\n ],\n SK: [\n \"H\"\n ],\n SL: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n SM: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n SN: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n SO: [\n \"h\",\n \"H\"\n ],\n SR: [\n \"H\",\n \"hB\"\n ],\n SS: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n ST: [\n \"H\",\n \"hB\"\n ],\n SV: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n SX: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n SY: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n SZ: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n TA: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n TC: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n TD: [\n \"h\",\n \"H\",\n \"hB\"\n ],\n TF: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n TG: [\n \"H\",\n \"hB\"\n ],\n TL: [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n TN: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n TO: [\n \"h\",\n \"H\"\n ],\n TR: [\n \"H\",\n \"hB\"\n ],\n TT: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n TW: [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n TZ: [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n UA: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n UG: [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n UM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n US: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n UY: [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n UZ: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n VA: [\n \"H\",\n \"h\",\n \"hB\"\n ],\n VC: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n VE: [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n VG: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n VI: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n VU: [\n \"h\",\n \"H\"\n ],\n WF: [\n \"H\",\n \"hB\"\n ],\n WS: [\n \"h\",\n \"H\"\n ],\n XK: [\n \"H\",\n \"hB\",\n \"h\"\n ],\n YE: [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n YT: [\n \"H\",\n \"hB\"\n ],\n ZA: [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n ZM: [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\n};\nfunction rt(e, t) {\n for (var n = \"\", r = 0; r < e.length; r++) {\n var i = e.charAt(r);\n if (i === \"j\") {\n for (var a = 0; r + 1 < e.length && e.charAt(r + 1) === i; )\n a++, r++;\n var o = 1 + (a & 1), s = a < 2 ? 1 : 3 + (a >> 1), h = \"a\", l = nt(t);\n for ((l == \"H\" || l == \"k\") && (s = 0); s-- > 0; )\n n += h;\n for (; o-- > 0; )\n n = l + n;\n } else\n i === \"J\" ? n += \"H\" : n += i;\n }\n return n;\n}\nfunction nt(e) {\n var t = e.hourCycle;\n if (t === void 0 && // @ts-ignore hourCycle(s) is not identified yet\n e.hourCycles && // @ts-ignore\n e.hourCycles.length && (t = e.hourCycles[0]), t)\n switch (t) {\n case \"h24\":\n return \"k\";\n case \"h23\":\n return \"H\";\n case \"h12\":\n return \"h\";\n case \"h11\":\n return \"K\";\n default:\n throw new Error(\"Invalid hourCycle\");\n }\n var n = e.language, r;\n n !== \"root\" && (r = e.maximize().region);\n var i = j[r || \"\"] || j[n || \"\"] || j[\"\".concat(n, \"-001\")] || j[\"001\"];\n return i[0];\n}\nvar Z, it = new RegExp(\"^\".concat(He.source, \"*\")), at = new RegExp(\"\".concat(He.source, \"*$\"));\nfunction v(e, t) {\n return { start: e, end: t };\n}\nvar ot = !!String.prototype.startsWith, st = !!String.fromCodePoint, ut = !!Object.fromEntries, ht = !!String.prototype.codePointAt, lt = !!String.prototype.trimStart, ft = !!String.prototype.trimEnd, ct = !!Number.isSafeInteger, mt = ct ? Number.isSafeInteger : function(e) {\n return typeof e == \"number\" && isFinite(e) && Math.floor(e) === e && Math.abs(e) <= 9007199254740991;\n}, Q = !0;\ntry {\n var pt = Pe(\"([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)\", \"yu\");\n Q = ((Z = pt.exec(\"a\")) === null || Z === void 0 ? void 0 : Z[0]) === \"a\";\n} catch {\n Q = !1;\n}\nvar he = ot ? (\n // Native\n function(t, n, r) {\n return t.startsWith(n, r);\n }\n) : (\n // For IE11\n function(t, n, r) {\n return t.slice(r, r + n.length) === n;\n }\n), Y = st ? String.fromCodePoint : (\n // IE11\n function() {\n for (var t = [], n = 0; n < arguments.length; n++)\n t[n] = arguments[n];\n for (var r = \"\", i = t.length, a = 0, o; i > a; ) {\n if (o = t[a++], o > 1114111)\n throw RangeError(o + \" is not a valid code point\");\n r += o < 65536 ? String.fromCharCode(o) : String.fromCharCode(((o -= 65536) >> 10) + 55296, o % 1024 + 56320);\n }\n return r;\n }\n), le = (\n // native\n ut ? Object.fromEntries : (\n // Ponyfill\n function(t) {\n for (var n = {}, r = 0, i = t; r < i.length; r++) {\n var a = i[r], o = a[0], s = a[1];\n n[o] = s;\n }\n return n;\n }\n )\n), _e = ht ? (\n // Native\n function(t, n) {\n return t.codePointAt(n);\n }\n) : (\n // IE 11\n function(t, n) {\n var r = t.length;\n if (!(n < 0 || n >= r)) {\n var i = t.charCodeAt(n), a;\n return i < 55296 || i > 56319 || n + 1 === r || (a = t.charCodeAt(n + 1)) < 56320 || a > 57343 ? i : (i - 55296 << 10) + (a - 56320) + 65536;\n }\n }\n), gt = lt ? (\n // Native\n function(t) {\n return t.trimStart();\n }\n) : (\n // Ponyfill\n function(t) {\n return t.replace(it, \"\");\n }\n), vt = ft ? (\n // Native\n function(t) {\n return t.trimEnd();\n }\n) : (\n // Ponyfill\n function(t) {\n return t.replace(at, \"\");\n }\n);\nfunction Pe(e, t) {\n return new RegExp(e, t);\n}\nvar $;\nif (Q) {\n var fe = Pe(\"([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)\", \"yu\");\n $ = function(t, n) {\n var r;\n fe.lastIndex = n;\n var i = fe.exec(t);\n return (r = i[1]) !== null && r !== void 0 ? r : \"\";\n };\n} else\n $ = function(t, n) {\n for (var r = []; ; ) {\n var i = _e(t, n);\n if (i === void 0 || Oe(i) || yt(i))\n break;\n r.push(i), n += i >= 65536 ? 2 : 1;\n }\n return Y.apply(void 0, r);\n };\nvar bt = (\n /** @class */\n function() {\n function e(t, n) {\n n === void 0 && (n = {}), this.message = t, this.position = { offset: 0, line: 1, column: 1 }, this.ignoreTag = !!n.ignoreTag, this.locale = n.locale, this.requiresOtherClause = !!n.requiresOtherClause, this.shouldParseSkeletons = !!n.shouldParseSkeletons;\n }\n return e.prototype.parse = function() {\n if (this.offset() !== 0)\n throw Error(\"parser can only be used once\");\n return this.parseMessage(0, \"\", !1);\n }, e.prototype.parseMessage = function(t, n, r) {\n for (var i = []; !this.isEOF(); ) {\n var a = this.char();\n if (a === 123) {\n var o = this.parseArgument(t, r);\n if (o.err)\n return o;\n i.push(o.val);\n } else {\n if (a === 125 && t > 0)\n break;\n if (a === 35 && (n === \"plural\" || n === \"selectordinal\")) {\n var s = this.clonePosition();\n this.bump(), i.push({\n type: d.pound,\n location: v(s, this.clonePosition())\n });\n } else if (a === 60 && !this.ignoreTag && this.peek() === 47) {\n if (r)\n break;\n return this.error(g.UNMATCHED_CLOSING_TAG, v(this.clonePosition(), this.clonePosition()));\n } else if (a === 60 && !this.ignoreTag && K(this.peek() || 0)) {\n var o = this.parseTag(t, n);\n if (o.err)\n return o;\n i.push(o.val);\n } else {\n var o = this.parseLiteral(t, n);\n if (o.err)\n return o;\n i.push(o.val);\n }\n }\n }\n return { val: i, err: null };\n }, e.prototype.parseTag = function(t, n) {\n var r = this.clonePosition();\n this.bump();\n var i = this.parseTagName();\n if (this.bumpSpace(), this.bumpIf(\"/>\"))\n return {\n val: {\n type: d.literal,\n value: \"<\".concat(i, \"/>\"),\n location: v(r, this.clonePosition())\n },\n err: null\n };\n if (this.bumpIf(\">\")) {\n var a = this.parseMessage(t + 1, n, !0);\n if (a.err)\n return a;\n var o = a.val, s = this.clonePosition();\n if (this.bumpIf(\"</\")) {\n if (this.isEOF() || !K(this.char()))\n return this.error(g.INVALID_TAG, v(s, this.clonePosition()));\n var h = this.clonePosition(), l = this.parseTagName();\n return i !== l ? this.error(g.UNMATCHED_CLOSING_TAG, v(h, this.clonePosition())) : (this.bumpSpace(), this.bumpIf(\">\") ? {\n val: {\n type: d.tag,\n value: i,\n children: o,\n location: v(r, this.clonePosition())\n },\n err: null\n } : this.error(g.INVALID_TAG, v(s, this.clonePosition())));\n } else\n return this.error(g.UNCLOSED_TAG, v(r, this.clonePosition()));\n } else\n return this.error(g.INVALID_TAG, v(r, this.clonePosition()));\n }, e.prototype.parseTagName = function() {\n var t = this.offset();\n for (this.bump(); !this.isEOF() && dt(this.char()); )\n this.bump();\n return this.message.slice(t, this.offset());\n }, e.prototype.parseLiteral = function(t, n) {\n for (var r = this.clonePosition(), i = \"\"; ; ) {\n var a = this.tryParseQuote(n);\n if (a) {\n i += a;\n continue;\n }\n var o = this.tryParseUnquoted(t, n);\n if (o) {\n i += o;\n continue;\n }\n var s = this.tryParseLeftAngleBracket();\n if (s) {\n i += s;\n continue;\n }\n break;\n }\n var h = v(r, this.clonePosition());\n return {\n val: { type: d.literal, value: i, location: h },\n err: null\n };\n }, e.prototype.tryParseLeftAngleBracket = function() {\n return !this.isEOF() && this.char() === 60 && (this.ignoreTag || // If at the opening tag or closing tag position, bail.\n !Et(this.peek() || 0)) ? (this.bump(), \"<\") : null;\n }, e.prototype.tryParseQuote = function(t) {\n if (this.isEOF() || this.char() !== 39)\n return null;\n switch (this.peek()) {\n case 39:\n return this.bump(), this.bump(), \"'\";\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35:\n if (t === \"plural\" || t === \"selectordinal\")\n break;\n return null;\n default:\n return null;\n }\n this.bump();\n var n = [this.char()];\n for (this.bump(); !this.isEOF(); ) {\n var r = this.char();\n if (r === 39)\n if (this.peek() === 39)\n n.push(39), this.bump();\n else {\n this.bump();\n break;\n }\n else\n n.push(r);\n this.bump();\n }\n return Y.apply(void 0, n);\n }, e.prototype.tryParseUnquoted = function(t, n) {\n if (this.isEOF())\n return null;\n var r = this.char();\n return r === 60 || r === 123 || r === 35 && (n === \"plural\" || n === \"selectordinal\") || r === 125 && t > 0 ? null : (this.bump(), Y(r));\n }, e.prototype.parseArgument = function(t, n) {\n var r = this.clonePosition();\n if (this.bump(), this.bumpSpace(), this.isEOF())\n return this.error(g.EXPECT_ARGUMENT_CLOSING_BRACE, v(r, this.clonePosition()));\n if (this.char() === 125)\n return this.bump(), this.error(g.EMPTY_ARGUMENT, v(r, this.clonePosition()));\n var i = this.parseIdentifierIfPossible().value;\n if (!i)\n return this.error(g.MALFORMED_ARGUMENT, v(r, this.clonePosition()));\n if (this.bumpSpace(), this.isEOF())\n return this.error(g.EXPECT_ARGUMENT_CLOSING_BRACE, v(r, this.clonePosition()));\n switch (this.char()) {\n case 125:\n return this.bump(), {\n val: {\n type: d.argument,\n // value does not include the opening and closing braces.\n value: i,\n location: v(r, this.clonePosition())\n },\n err: null\n };\n case 44:\n return this.bump(), this.bumpSpace(), this.isEOF() ? this.error(g.EXPECT_ARGUMENT_CLOSING_BRACE, v(r, this.clonePosition())) : this.parseArgumentOptions(t, n, i, r);\n default:\n return this.error(g.MALFORMED_ARGUMENT, v(r, this.clonePosition()));\n }\n }, e.prototype.parseIdentifierIfPossible = function() {\n var t = this.clonePosition(), n = this.offset(), r = $(this.message, n), i = n + r.length;\n this.bumpTo(i);\n var a = this.clonePosition(), o = v(t, a);\n return { value: r, location: o };\n }, e.prototype.parseArgumentOptions = function(t, n, r, i) {\n var a, o = this.clonePosition(), s = this.parseIdentifierIfPossible().value, h = this.clonePosition();\n switch (s) {\n case \"\":\n return this.error(g.EXPECT_ARGUMENT_TYPE, v(o, h));\n case \"number\":\n case \"date\":\n case \"time\": {\n this.bumpSpace();\n var l = null;\n if (this.bumpIf(\",\")) {\n this.bumpSpace();\n var u = this.clonePosition(), f = this.parseSimpleArgStyleIfPossible();\n if (f.err)\n return f;\n var c = vt(f.val);\n if (c.length === 0)\n return this.error(g.EXPECT_ARGUMENT_STYLE, v(this.clonePosition(), this.clonePosition()));\n var p = v(u, this.clonePosition());\n l = { style: c, styleLocation: p };\n }\n var b = this.tryParseArgumentClose(i);\n if (b.err)\n return b;\n var E = v(i, this.clonePosition());\n if (l && he(l == null ? void 0 : l.style, \"::\", 0)) {\n var y = gt(l.style.slice(2));\n if (s === \"number\") {\n var f = this.parseNumberSkeletonFromString(y, l.styleLocation);\n return f.err ? f : {\n val: { type: d.number, value: r, location: E, style: f.val },\n err: null\n };\n } else {\n if (y.length === 0)\n return this.error(g.EXPECT_DATE_TIME_SKELETON, E);\n var x = y;\n this.locale && (x = rt(y, this.locale));\n var c = {\n type: w.dateTime,\n pattern: x,\n location: l.styleLocation,\n parsedOptions: this.shouldParseSkeletons ? Je(x) : {}\n }, I = s === \"date\" ? d.date : d.time;\n return {\n val: { type: I, value: r, location: E, style: c },\n err: null\n };\n }\n }\n return {\n val: {\n type: s === \"number\" ? d.number : s === \"date\" ? d.date : d.time,\n value: r,\n location: E,\n style: (a = l == null ? void 0 : l.style) !== null && a !== void 0 ? a : null\n },\n err: null\n };\n }\n case \"plural\":\n case \"selectordinal\":\n case \"select\": {\n var T = this.clonePosition();\n if (this.bumpSpace(), !this.bumpIf(\",\"))\n return this.error(g.EXPECT_SELECT_ARGUMENT_OPTIONS, v(T, m({}, T)));\n this.bumpSpace();\n var D = this.parseIdentifierIfPossible(), R = 0;\n if (s !== \"select\" && D.value === \"offset\") {\n if (!this.bumpIf(\":\"))\n return this.error(g.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, v(this.clonePosition(), this.clonePosition()));\n this.bumpSpace();\n var f = this.tryParseDecimalInteger(g.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, g.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (f.err)\n return f;\n this.bumpSpace(), D = this.parseIdentifierIfPossible(), R = f.val;\n }\n var U = this.tryParsePluralOrSelectOptions(t, s, n, D);\n if (U.err)\n return U;\n var b = this.tryParseArgumentClose(i);\n if (b.err)\n return b;\n var ie = v(i, this.clonePosition());\n return s === \"select\" ? {\n val: {\n type: d.select,\n value: r,\n options: le(U.val),\n location: ie\n },\n err: null\n } : {\n val: {\n type: d.plural,\n value: r,\n options: le(U.val),\n offset: R,\n pluralType: s === \"plural\" ? \"cardinal\" : \"ordinal\",\n location: ie\n },\n err: null\n };\n }\n default:\n return this.error(g.INVALID_ARGUMENT_TYPE, v(o, h));\n }\n }, e.prototype.tryParseArgumentClose = function(t) {\n return this.isEOF() || this.char() !== 125 ? this.error(g.EXPECT_ARGUMENT_CLOSING_BRACE, v(t, this.clonePosition())) : (this.bump(), { val: !0, err: null });\n }, e.prototype.parseSimpleArgStyleIfPossible = function() {\n for (var t = 0, n = this.clonePosition(); !this.isEOF(); ) {\n var r = this.char();\n switch (r) {\n case 39: {\n this.bump();\n var i = this.clonePosition();\n if (!this.bumpUntil(\"'\"))\n return this.error(g.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, v(i, this.clonePosition()));\n this.bump();\n break;\n }\n case 123: {\n t += 1, this.bump();\n break;\n }\n case 125: {\n if (t > 0)\n t -= 1;\n else\n return {\n val: this.message.slice(n.offset, this.offset()),\n err: null\n };\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(n.offset, this.offset()),\n err: null\n };\n }, e.prototype.parseNumberSkeletonFromString = function(t, n) {\n var r = [];\n try {\n r = Ye(t);\n } catch {\n return this.error(g.INVALID_NUMBER_SKELETON, n);\n }\n return {\n val: {\n type: w.number,\n tokens: r,\n location: n,\n parsedOptions: this.shouldParseSkeletons ? tt(r) : {}\n },\n err: null\n };\n }, e.prototype.tryParsePluralOrSelectOptions = function(t, n, r, i) {\n for (var a, o = !1, s = [], h = /* @__PURE__ */ new Set(), l = i.value, u = i.location; ; ) {\n if (l.length === 0) {\n var f = this.clonePosition();\n if (n !== \"select\" && this.bumpIf(\"=\")) {\n var c = this.tryParseDecimalInteger(g.EXPECT_PLURAL_ARGUMENT_SELECTOR, g.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (c.err)\n return c;\n u = v(f, this.clonePosition()), l = this.message.slice(f.offset, this.offset());\n } else\n break;\n }\n if (h.has(l))\n return this.error(n === \"select\" ? g.DUPLICATE_SELECT_ARGUMENT_SELECTOR : g.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, u);\n l === \"other\" && (o = !0), this.bumpSpace();\n var p = this.clonePosition();\n if (!this.bumpIf(\"{\"))\n return this.error(n === \"select\" ? g.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : g.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, v(this.clonePosition(), this.clonePosition()));\n var b = this.parseMessage(t + 1, n, r);\n if (b.err)\n return b;\n var E = this.tryParseArgumentClose(p);\n if (E.err)\n return E;\n s.push([\n l,\n {\n value: b.val,\n location: v(p, this.clonePosition())\n }\n ]), h.add(l), this.bumpSpace(), a = this.parseIdentifierIfPossible(), l = a.value, u = a.location;\n }\n return s.length === 0 ? this.error(n === \"select\" ? g.EXPECT_SELECT_ARGUMENT_SELECTOR : g.EXPECT_PLURAL_ARGUMENT_SELECTOR, v(this.clonePosition(), this.clonePosition())) : this.requiresOtherClause && !o ? this.error(g.MISSING_OTHER_CLAUSE, v(this.clonePosition(), this.clonePosition())) : { val: s, err: null };\n }, e.prototype.tryParseDecimalInteger = function(t, n) {\n var r = 1, i = this.clonePosition();\n this.bumpIf(\"+\") || this.bumpIf(\"-\") && (r = -1);\n for (var a = !1, o = 0; !this.isEOF(); ) {\n var s = this.char();\n if (s >= 48 && s <= 57)\n a = !0, o = o * 10 + (s - 48), this.bump();\n else\n break;\n }\n var h = v(i, this.clonePosition());\n return a ? (o *= r, mt(o) ? { val: o, err: null } : this.error(n, h)) : this.error(t, h);\n }, e.prototype.offset = function() {\n return this.position.offset;\n }, e.prototype.isEOF = function() {\n return this.offset() === this.message.length;\n }, e.prototype.clonePosition = function() {\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column\n };\n }, e.prototype.char = function() {\n var t = this.position.offset;\n if (t >= this.message.length)\n throw Error(\"out of bound\");\n var n = _e(this.message, t);\n if (n === void 0)\n throw Error(\"Offset \".concat(t, \" is at invalid UTF-16 code unit boundary\"));\n return n;\n }, e.prototype.error = function(t, n) {\n return {\n val: null,\n err: {\n kind: t,\n message: this.message,\n location: n\n }\n };\n }, e.prototype.bump = function() {\n if (!this.isEOF()) {\n var t = this.char();\n t === 10 ? (this.position.line += 1, this.position.column = 1, this.position.offset += 1) : (this.position.column += 1, this.position.offset += t < 65536 ? 1 : 2);\n }\n }, e.prototype.bumpIf = function(t) {\n if (he(this.message, t, this.offset())) {\n for (var n = 0; n < t.length; n++)\n this.bump();\n return !0;\n }\n return !1;\n }, e.prototype.bumpUntil = function(t) {\n var n = this.offset(), r = this.message.indexOf(t, n);\n return r >= 0 ? (this.bumpTo(r), !0) : (this.bumpTo(this.message.length), !1);\n }, e.prototype.bumpTo = function(t) {\n if (this.offset() > t)\n throw Error(\"targetOffset \".concat(t, \" must be greater than or equal to the current offset \").concat(this.offset()));\n for (t = Math.min(t, this.message.length); ; ) {\n var n = this.offset();\n if (n === t)\n break;\n if (n > t)\n throw Error(\"targetOffset \".concat(t, \" is at invalid UTF-16 code unit boundary\"));\n if (this.bump(), this.isEOF())\n break;\n }\n }, e.prototype.bumpSpace = function() {\n for (; !this.isEOF() && Oe(this.char()); )\n this.bump();\n }, e.prototype.peek = function() {\n if (this.isEOF())\n return null;\n var t = this.char(), n = this.offset(), r = this.message.charCodeAt(n + (t >= 65536 ? 2 : 1));\n return r ?? null;\n }, e;\n }()\n);\nfunction K(e) {\n return e >= 97 && e <= 122 || e >= 65 && e <= 90;\n}\nfunction Et(e) {\n return K(e) || e === 47;\n}\nfunction dt(e) {\n return e === 45 || e === 46 || e >= 48 && e <= 57 || e === 95 || e >= 97 && e <= 122 || e >= 65 && e <= 90 || e == 183 || e >= 192 && e <= 214 || e >= 216 && e <= 246 || e >= 248 && e <= 893 || e >= 895 && e <= 8191 || e >= 8204 && e <= 8205 || e >= 8255 && e <= 8256 || e >= 8304 && e <= 8591 || e >= 11264 && e <= 12271 || e >= 12289 && e <= 55295 || e >= 63744 && e <= 64975 || e >= 65008 && e <= 65533 || e >= 65536 && e <= 983039;\n}\nfunction Oe(e) {\n return e >= 9 && e <= 13 || e === 32 || e === 133 || e >= 8206 && e <= 8207 || e === 8232 || e === 8233;\n}\nfunction yt(e) {\n return e >= 33 && e <= 35 || e === 36 || e >= 37 && e <= 39 || e === 40 || e === 41 || e === 42 || e === 43 || e === 44 || e === 45 || e >= 46 && e <= 47 || e >= 58 && e <= 59 || e >= 60 && e <= 62 || e >= 63 && e <= 64 || e === 91 || e === 92 || e === 93 || e === 94 || e === 96 || e === 123 || e === 124 || e === 125 || e === 126 || e === 161 || e >= 162 && e <= 165 || e === 166 || e === 167 || e === 169 || e === 171 || e === 172 || e === 174 || e === 176 || e === 177 || e === 182 || e === 187 || e === 191 || e === 215 || e === 247 || e >= 8208 && e <= 8213 || e >= 8214 && e <= 8215 || e === 8216 || e === 8217 || e === 8218 || e >= 8219 && e <= 8220 || e === 8221 || e === 8222 || e === 8223 || e >= 8224 && e <= 8231 || e >= 8240 && e <= 8248 || e === 8249 || e === 8250 || e >= 8251 && e <= 8254 || e >= 8257 && e <= 8259 || e === 8260 || e === 8261 || e === 8262 || e >= 8263 && e <= 8273 || e === 8274 || e === 8275 || e >= 8277 && e <= 8286 || e >= 8592 && e <= 8596 || e >= 8597 && e <= 8601 || e >= 8602 && e <= 8603 || e >= 8604 && e <= 8607 || e === 8608 || e >= 8609 && e <= 8610 || e === 8611 || e >= 8612 && e <= 8613 || e === 8614 || e >= 8615 && e <= 8621 || e === 8622 || e >= 8623 && e <= 8653 || e >= 8654 && e <= 8655 || e >= 8656 && e <= 8657 || e === 8658 || e === 8659 || e === 8660 || e >= 8661 && e <= 8691 || e >= 8692 && e <= 8959 || e >= 8960 && e <= 8967 || e === 8968 || e === 8969 || e === 8970 || e === 8971 || e >= 8972 && e <= 8991 || e >= 8992 && e <= 8993 || e >= 8994 && e <= 9e3 || e === 9001 || e === 9002 || e >= 9003 && e <= 9083 || e === 9084 || e >= 9085 && e <= 9114 || e >= 9115 && e <= 9139 || e >= 9140 && e <= 9179 || e >= 9180 && e <= 9185 || e >= 9186 && e <= 9254 || e >= 9255 && e <= 9279 || e >= 9280 && e <= 9290 || e >= 9291 && e <= 9311 || e >= 9472 && e <= 9654 || e === 9655 || e >= 9656 && e <= 9664 || e === 9665 || e >= 9666 && e <= 9719 || e >= 9720 && e <= 9727 || e >= 9728 && e <= 9838 || e === 9839 || e >= 9840 && e <= 10087 || e === 10088 || e === 10089 || e === 10090 || e === 10091 || e === 10092 || e === 10093 || e === 10094 || e === 10095 || e === 10096 || e === 10097 || e === 10098 || e === 10099 || e === 10100 || e === 10101 || e >= 10132 && e <= 10175 || e >= 10176 && e <= 10180 || e === 10181 || e === 10182 || e >= 10183 && e <= 10213 || e === 10214 || e === 10215 || e === 10216 || e === 10217 || e === 10218 || e === 10219 || e === 10220 || e === 10221 || e === 10222 || e === 10223 || e >= 10224 && e <= 10239 || e >= 10240 && e <= 10495 || e >= 10496 && e <= 10626 || e === 10627 || e === 10628 || e === 10629 || e === 10630 || e === 10631 || e === 10632 || e === 10633 || e === 10634 || e === 10635 || e === 10636 || e === 10637 || e === 10638 || e === 10639 || e === 10640 || e === 10641 || e === 10642 || e === 10643 || e === 10644 || e === 10645 || e === 10646 || e === 10647 || e === 10648 || e >= 10649 && e <= 10711 || e === 10712 || e === 10713 || e === 10714 || e === 10715 || e >= 10716 && e <= 10747 || e === 10748 || e === 10749 || e >= 10750 && e <= 11007 || e >= 11008 && e <= 11055 || e >= 11056 && e <= 11076 || e >= 11077 && e <= 11078 || e >= 11079 && e <= 11084 || e >= 11085 && e <= 11123 || e >= 11124 && e <= 11125 || e >= 11126 && e <= 11157 || e === 11158 || e >= 11159 && e <= 11263 || e >= 11776 && e <= 11777 || e === 11778 || e === 11779 || e === 11780 || e === 11781 || e >= 11782 && e <= 11784 || e === 11785 || e === 11786 || e === 11787 || e === 11788 || e === 11789 || e >= 11790 && e <= 11798 || e === 11799 || e >= 11800 && e <= 11801 || e === 11802 || e === 11803 || e === 11804 || e === 11805 || e >= 11806 && e <= 11807 || e === 11808 || e === 11809 || e === 11810 || e === 11811 || e === 11812 || e === 11813 || e === 11814 || e === 11815 || e === 11816 || e === 11817 || e >= 11818 && e <= 11822 || e === 11823 || e >= 11824 && e <= 11833 || e >= 11834 && e <= 11835 || e >= 11836 && e <= 11839 || e === 11840 || e === 11841 || e === 11842 || e >= 11843 && e <= 11855 || e >= 11856 && e <= 11857 || e === 11858 || e >= 11859 && e <= 11903 || e >= 12289 && e <= 12291 || e === 12296 || e === 12297 || e === 12298 || e === 12299 || e === 12300 || e === 12301 || e === 12302 || e === 12303 || e === 12304 || e === 12305 || e >= 12306 && e <= 12307 || e === 12308 || e === 12309 || e === 12310 || e === 12311 || e === 12312 || e === 12313 || e === 12314 || e === 12315 || e === 12316 || e === 12317 || e >= 12318 && e <= 12319 || e === 12320 || e === 12336 || e === 64830 || e === 64831 || e >= 65093 && e <= 65094;\n}\nfunction ee(e) {\n e.forEach(function(t) {\n if (delete t.location, xe(t) || Te(t))\n for (var n in t.options)\n delete t.options[n].location, ee(t.options[n].value);\n else\n Ee(t) && Ie(t.style) || (de(t) || ye(t)) && J(t.style) ? delete t.style.location : Se(t) && ee(t.children);\n });\n}\nfunction xt(e, t) {\n t === void 0 && (t = {}), t = m({ shouldParseSkeletons: !0, requiresOtherClause: !0 }, t);\n var n = new bt(e, t).parse();\n if (n.err) {\n var r = SyntaxError(g[n.err.kind]);\n throw r.location = n.err.location, r.originalMessage = n.err.message, r;\n }\n return t != null && t.captureLocation || ee(n.val), n.val;\n}\nfunction N(e, t) {\n var n = t && t.cache ? t.cache : Nt, r = t && t.serializer ? t.serializer : At, i = t && t.strategy ? t.strategy : St;\n return i(e, {\n cache: n,\n serializer: r\n });\n}\nfunction Tt(e) {\n return e == null || typeof e == \"number\" || typeof e == \"boolean\";\n}\nfunction Re(e, t, n, r) {\n var i = Tt(r) ? r : n(r), a = t.get(i);\n return typeof a > \"u\" && (a = e.call(this, r), t.set(i, a)), a;\n}\nfunction Le(e, t, n) {\n var r = Array.prototype.slice.call(arguments, 3), i = n(r), a = t.get(i);\n return typeof a > \"u\" && (a = e.apply(this, r), t.set(i, a)), a;\n}\nfunction te(e, t, n, r, i) {\n return n.bind(t, e, r, i);\n}\nfunction St(e, t) {\n var n = e.length === 1 ? Re : Le;\n return te(e, this, n, t.cache.create(), t.serializer);\n}\nfunction It(e, t) {\n return te(e, this, Le, t.cache.create(), t.serializer);\n}\nfunction Ht(e, t) {\n return te(e, this, Re, t.cache.create(), t.serializer);\n}\nvar At = function() {\n return JSON.stringify(arguments);\n};\nfunction re() {\n this.cache = /* @__PURE__ */ Object.create(null);\n}\nre.prototype.get = function(e) {\n return this.cache[e];\n};\nre.prototype.set = function(e, t) {\n this.cache[e] = t;\n};\nvar Nt = {\n create: function() {\n return new re();\n }\n}, B = {\n variadic: It,\n monadic: Ht\n}, _;\n(function(e) {\n e.MISSING_VALUE = \"MISSING_VALUE\", e.INVALID_VALUE = \"INVALID_VALUE\", e.MISSING_INTL_API = \"MISSING_INTL_API\";\n})(_ || (_ = {}));\nvar O = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i) {\n var a = e.call(this, n) || this;\n return a.code = r, a.originalMessage = i, a;\n }\n return t.prototype.toString = function() {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n }, t;\n }(Error)\n), ce = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i, a) {\n return e.call(this, 'Invalid values for \"'.concat(n, '\": \"').concat(r, '\". Options are \"').concat(Object.keys(i).join('\", \"'), '\"'), _.INVALID_VALUE, a) || this;\n }\n return t;\n }(O)\n), Bt = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i) {\n return e.call(this, 'Value for \"'.concat(n, '\" must be of type ').concat(r), _.INVALID_VALUE, i) || this;\n }\n return t;\n }(O)\n), _t = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r) {\n return e.call(this, 'The intl string context variable \"'.concat(n, '\" was not provided to the string \"').concat(r, '\"'), _.MISSING_VALUE, r) || this;\n }\n return t;\n }(O)\n), S;\n(function(e) {\n e[e.literal = 0] = \"literal\", e[e.object = 1] = \"object\";\n})(S || (S = {}));\nfunction Pt(e) {\n return e.length < 2 ? e : e.reduce(function(t, n) {\n var r = t[t.length - 1];\n return !r || r.type !== S.literal || n.type !== S.literal ? t.push(n) : r.value += n.value, t;\n }, []);\n}\nfunction Ot(e) {\n return typeof e == \"function\";\n}\nfunction k(e, t, n, r, i, a, o) {\n if (e.length === 1 && ae(e[0]))\n return [\n {\n type: S.literal,\n value: e[0].value\n }\n ];\n for (var s = [], h = 0, l = e; h < l.length; h++) {\n var u = l[h];\n if (ae(u)) {\n s.push({\n type: S.literal,\n value: u.value\n });\n continue;\n }\n if (ze(u)) {\n typeof a == \"number\" && s.push({\n type: S.literal,\n value: n.getNumberFormat(t).format(a)\n });\n continue;\n }\n var f = u.value;\n if (!(i && f in i))\n throw new _t(f, o);\n var c = i[f];\n if (We(u)) {\n (!c || typeof c == \"string\" || typeof c == \"number\") && (c = typeof c == \"string\" || typeof c == \"number\" ? String(c) : \"\"), s.push({\n type: typeof c == \"string\" ? S.literal : S.object,\n value: c\n });\n continue;\n }\n if (de(u)) {\n var p = typeof u.style == \"string\" ? r.date[u.style] : J(u.style) ? u.style.parsedOptions : void 0;\n s.push({\n type: S.literal,\n value: n.getDateTimeFormat(t, p).format(c)\n });\n continue;\n }\n if (ye(u)) {\n var p = typeof u.style == \"string\" ? r.time[u.style] : J(u.style) ? u.style.parsedOptions : r.time.medium;\n s.push({\n type: S.literal,\n value: n.getDateTimeFormat(t, p).format(c)\n });\n continue;\n }\n if (Ee(u)) {\n var p = typeof u.style == \"string\" ? r.number[u.style] : Ie(u.style) ? u.style.parsedOptions : void 0;\n p && p.scale && (c = c * (p.scale || 1)), s.push({\n type: S.literal,\n value: n.getNumberFormat(t, p).format(c)\n });\n continue;\n }\n if (Se(u)) {\n var b = u.children, E = u.value, y = i[E];\n if (!Ot(y))\n throw new Bt(E, \"function\", o);\n var x = k(b, t, n, r, i, a), I = y(x.map(function(R) {\n return R.value;\n }));\n Array.isArray(I) || (I = [I]), s.push.apply(s, I.map(function(R) {\n return {\n type: typeof R == \"string\" ? S.literal : S.object,\n value: R\n };\n }));\n }\n if (xe(u)) {\n var T = u.options[c] || u.options.other;\n if (!T)\n throw new ce(u.value, c, Object.keys(u.options), o);\n s.push.apply(s, k(T.value, t, n, r, i));\n continue;\n }\n if (Te(u)) {\n var T = u.options[\"=\".concat(c)];\n if (!T) {\n if (!Intl.PluralRules)\n throw new O(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, _.MISSING_INTL_API, o);\n var D = n.getPluralRules(t, { type: u.pluralType }).select(c - (u.offset || 0));\n T = u.options[D] || u.options.other;\n }\n if (!T)\n throw new ce(u.value, c, Object.keys(u.options), o);\n s.push.apply(s, k(T.value, t, n, r, i, c - (u.offset || 0)));\n continue;\n }\n }\n return Pt(s);\n}\nfunction Rt(e, t) {\n return t ? m(m(m({}, e || {}), t || {}), Object.keys(e).reduce(function(n, r) {\n return n[r] = m(m({}, e[r]), t[r] || {}), n;\n }, {})) : e;\n}\nfunction Lt(e, t) {\n return t ? Object.keys(e).reduce(function(n, r) {\n return n[r] = Rt(e[r], t[r]), n;\n }, m({}, e)) : e;\n}\nfunction W(e) {\n return {\n create: function() {\n return {\n get: function(t) {\n return e[t];\n },\n set: function(t, n) {\n e[t] = n;\n }\n };\n }\n };\n}\nfunction Mt(e) {\n return e === void 0 && (e = {\n number: {},\n dateTime: {},\n pluralRules: {}\n }), {\n getNumberFormat: N(function() {\n for (var t, n = [], r = 0; r < arguments.length; r++)\n n[r] = arguments[r];\n return new ((t = Intl.NumberFormat).bind.apply(t, P([void 0], n, !1)))();\n }, {\n cache: W(e.number),\n strategy: B.variadic\n }),\n getDateTimeFormat: N(function() {\n for (var t, n = [], r = 0; r < arguments.length; r++)\n n[r] = arguments[r];\n return new ((t = Intl.DateTimeFormat).bind.apply(t, P([void 0], n, !1)))();\n }, {\n cache: W(e.dateTime),\n strategy: B.variadic\n }),\n getPluralRules: N(function() {\n for (var t, n = [], r = 0; r < arguments.length; r++)\n n[r] = arguments[r];\n return new ((t = Intl.PluralRules).bind.apply(t, P([void 0], n, !1)))();\n }, {\n cache: W(e.pluralRules),\n strategy: B.variadic\n })\n };\n}\nvar Me = (\n /** @class */\n function() {\n function e(t, n, r, i) {\n n === void 0 && (n = e.defaultLocale);\n var a = this;\n if (this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n }, this.format = function(h) {\n var l = a.formatToParts(h);\n if (l.length === 1)\n return l[0].value;\n var u = l.reduce(function(f, c) {\n return !f.length || c.type !== S.literal || typeof f[f.length - 1] != \"string\" ? f.push(c.value) : f[f.length - 1] += c.value, f;\n }, []);\n return u.length <= 1 ? u[0] || \"\" : u;\n }, this.formatToParts = function(h) {\n return k(a.ast, a.locales, a.formatters, a.formats, h, void 0, a.message);\n }, this.resolvedOptions = function() {\n var h;\n return {\n locale: ((h = a.resolvedLocale) === null || h === void 0 ? void 0 : h.toString()) || Intl.NumberFormat.supportedLocalesOf(a.locales)[0]\n };\n }, this.getAst = function() {\n return a.ast;\n }, this.locales = n, this.resolvedLocale = e.resolveLocale(n), typeof t == \"string\") {\n if (this.message = t, !e.__parse)\n throw new TypeError(\"IntlMessageFormat.__parse must be set to process `message` of type `string`\");\n var o = i || {};\n o.formatters;\n var s = Ze(o, [\"formatters\"]);\n this.ast = e.__parse(t, m(m({}, s), { locale: this.resolvedLocale }));\n } else\n this.ast = t;\n if (!Array.isArray(this.ast))\n throw new TypeError(\"A message must be provided as a String or AST.\");\n this.formats = Lt(e.formats, r), this.formatters = i && i.formatters || Mt(this.formatterCache);\n }\n return Object.defineProperty(e, \"defaultLocale\", {\n get: function() {\n return e.memoizedDefaultLocale || (e.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale), e.memoizedDefaultLocale;\n },\n enumerable: !1,\n configurable: !0\n }), e.memoizedDefaultLocale = null, e.resolveLocale = function(t) {\n if (!(typeof Intl.Locale > \"u\")) {\n var n = Intl.NumberFormat.supportedLocalesOf(t);\n return n.length > 0 ? new Intl.Locale(n[0]) : new Intl.Locale(typeof t == \"string\" ? t : t[0]);\n }\n }, e.__parse = xt, e.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0\n },\n currency: {\n style: \"currency\"\n },\n percent: {\n style: \"percent\"\n }\n },\n date: {\n short: {\n month: \"numeric\",\n day: \"numeric\",\n year: \"2-digit\"\n },\n medium: {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\"\n },\n long: {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\"\n },\n full: {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\"\n }\n },\n time: {\n short: {\n hour: \"numeric\",\n minute: \"numeric\"\n },\n medium: {\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\"\n },\n long: {\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n timeZoneName: \"short\"\n },\n full: {\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n timeZoneName: \"short\"\n }\n }\n }, e;\n }()\n), M;\n(function(e) {\n e.FORMAT_ERROR = \"FORMAT_ERROR\", e.UNSUPPORTED_FORMATTER = \"UNSUPPORTED_FORMATTER\", e.INVALID_CONFIG = \"INVALID_CONFIG\", e.MISSING_DATA = \"MISSING_DATA\", e.MISSING_TRANSLATION = \"MISSING_TRANSLATION\";\n})(M || (M = {}));\nvar G = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i) {\n var a = this, o = i ? i instanceof Error ? i : new Error(String(i)) : void 0;\n return a = e.call(this, \"[@formatjs/intl Error \".concat(n, \"] \").concat(r, `\n`).concat(o ? `\n`.concat(o.message, `\n`).concat(o.stack) : \"\")) || this, a.code = n, typeof Error.captureStackTrace == \"function\" && Error.captureStackTrace(a, t), a;\n }\n return t;\n }(Error)\n), Ct = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r) {\n return e.call(this, M.UNSUPPORTED_FORMATTER, n, r) || this;\n }\n return t;\n }(G)\n), wt = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r) {\n return e.call(this, M.INVALID_CONFIG, n, r) || this;\n }\n return t;\n }(G)\n), me = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r) {\n return e.call(this, M.MISSING_DATA, n, r) || this;\n }\n return t;\n }(G)\n), H = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i) {\n var a = e.call(this, M.FORMAT_ERROR, \"\".concat(n, `\nLocale: `).concat(r, `\n`), i) || this;\n return a.locale = r, a;\n }\n return t;\n }(G)\n), z = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r, i, a) {\n var o = e.call(this, \"\".concat(n, `\nMessageID: `).concat(i == null ? void 0 : i.id, `\nDefault Message: `).concat(i == null ? void 0 : i.defaultMessage, `\nDescription: `).concat(i == null ? void 0 : i.description, `\n`), r, a) || this;\n return o.descriptor = i, o.locale = r, o;\n }\n return t;\n }(H)\n), Dt = (\n /** @class */\n function(e) {\n A(t, e);\n function t(n, r) {\n var i = e.call(this, M.MISSING_TRANSLATION, 'Missing message: \"'.concat(n.id, '\" for locale \"').concat(r, '\", using ').concat(n.defaultMessage ? \"default message (\".concat(typeof n.defaultMessage == \"string\" ? n.defaultMessage : n.defaultMessage.map(function(a) {\n var o;\n return (o = a.value) !== null && o !== void 0 ? o : JSON.stringify(a);\n }).join(), \")\") : \"id\", \" as fallback.\")) || this;\n return i.descriptor = n, i;\n }\n return t;\n }(G)\n);\nfunction C(e, t, n) {\n return n === void 0 && (n = {}), t.reduce(function(r, i) {\n return i in e ? r[i] = e[i] : i in n && (r[i] = n[i]), r;\n }, {});\n}\nvar Ft = function(e) {\n process.env.NODE_ENV !== \"production\" && console.error(e);\n}, Gt = function(e) {\n process.env.NODE_ENV !== \"production\" && console.warn(e);\n}, Ut = {\n formats: {},\n messages: {},\n timeZone: void 0,\n defaultLocale: \"en\",\n defaultFormats: {},\n fallbackOnEmptyString: !0,\n onError: Ft,\n onWarn: Gt\n};\nfunction Ce() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\nfunction L(e) {\n return {\n create: function() {\n return {\n get: function(t) {\n return e[t];\n },\n set: function(t, n) {\n e[t] = n;\n }\n };\n }\n };\n}\nfunction jt(e) {\n e === void 0 && (e = Ce());\n var t = Intl.RelativeTimeFormat, n = Intl.ListFormat, r = Intl.DisplayNames, i = N(function() {\n for (var s, h = [], l = 0; l < arguments.length; l++)\n h[l] = arguments[l];\n return new ((s = Intl.DateTimeFormat).bind.apply(s, P([void 0], h, !1)))();\n }, {\n cache: L(e.dateTime),\n strategy: B.variadic\n }), a = N(function() {\n for (var s, h = [], l = 0; l < arguments.length; l++)\n h[l] = arguments[l];\n return new ((s = Intl.NumberFormat).bind.apply(s, P([void 0], h, !1)))();\n }, {\n cache: L(e.number),\n strategy: B.variadic\n }), o = N(function() {\n for (var s, h = [], l = 0; l < arguments.length; l++)\n h[l] = arguments[l];\n return new ((s = Intl.PluralRules).bind.apply(s, P([void 0], h, !1)))();\n }, {\n cache: L(e.pluralRules),\n strategy: B.variadic\n });\n return {\n getDateTimeFormat: i,\n getNumberFormat: a,\n getMessageFormat: N(function(s, h, l, u) {\n return new Me(s, h, l, m({ formatters: {\n getNumberFormat: a,\n getDateTimeFormat: i,\n getPluralRules: o\n } }, u || {}));\n }, {\n cache: L(e.message),\n strategy: B.variadic\n }),\n getRelativeTimeFormat: N(function() {\n for (var s = [], h = 0; h < arguments.length; h++)\n s[h] = arguments[h];\n return new (t.bind.apply(t, P([void 0], s, !1)))();\n }, {\n cache: L(e.relativeTime),\n strategy: B.variadic\n }),\n getPluralRules: o,\n getListFormat: N(function() {\n for (var s = [], h = 0; h < arguments.length; h++)\n s[h] = arguments[h];\n return new (n.bind.apply(n, P([void 0], s, !1)))();\n }, {\n cache: L(e.list),\n strategy: B.variadic\n }),\n getDisplayNames: N(function() {\n for (var s = [], h = 0; h < arguments.length; h++)\n s[h] = arguments[h];\n return new (r.bind.apply(r, P([void 0], s, !1)))();\n }, {\n cache: L(e.displayNames),\n strategy: B.variadic\n })\n };\n}\nfunction ne(e, t, n, r) {\n var i = e && e[t], a;\n if (i && (a = i[n]), a)\n return a;\n r(new Ct(\"No \".concat(t, \" format named: \").concat(n)));\n}\nfunction Vt(e, t, n) {\n if (n === void 0 && (n = Error), !e)\n throw new n(t);\n}\nfunction V(e, t) {\n return Object.keys(e).reduce(function(n, r) {\n return n[r] = m({ timeZone: t }, e[r]), n;\n }, {});\n}\nfunction pe(e, t) {\n var n = Object.keys(m(m({}, e), t));\n return n.reduce(function(r, i) {\n return r[i] = m(m({}, e[i] || {}), t[i] || {}), r;\n }, {});\n}\nfunction ge(e, t) {\n if (!t)\n return e;\n var n = Me.formats;\n return m(m(m({}, n), e), { date: pe(V(n.date, t), V(e.date || {}, t)), time: pe(V(n.time, t), V(e.time || {}, t)) });\n}\nvar ve = function(e, t, n, r, i) {\n var a = e.locale, o = e.formats, s = e.messages, h = e.defaultLocale, l = e.defaultFormats, u = e.fallbackOnEmptyString, f = e.onError, c = e.timeZone, p = e.defaultRichTextElements;\n n === void 0 && (n = { id: \"\" });\n var b = n.id, E = n.defaultMessage;\n Vt(!!b, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var y = String(b), x = (\n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n s && Object.prototype.hasOwnProperty.call(s, y) && s[y]\n );\n if (Array.isArray(x) && x.length === 1 && x[0].type === d.literal)\n return x[0].value;\n if (!r && x && typeof x == \"string\" && !p)\n return x.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n if (r = m(m({}, p), r || {}), o = ge(o, c), l = ge(l, c), !x) {\n if (u === !1 && x === \"\")\n return x;\n if ((!E || a && a.toLowerCase() !== h.toLowerCase()) && f(new Dt(n, a)), E)\n try {\n var I = t.getMessageFormat(E, h, l, i);\n return I.format(r);\n } catch (T) {\n return f(new z('Error formatting default message for: \"'.concat(y, '\", rendering default message verbatim'), a, n, T)), typeof E == \"string\" ? E : y;\n }\n return y;\n }\n try {\n var I = t.getMessageFormat(x, a, o, m({ formatters: t }, i || {}));\n return I.format(r);\n } catch (T) {\n f(new z('Error formatting message: \"'.concat(y, '\", using ').concat(E ? \"default message\" : \"id\", \" as fallback.\"), a, n, T));\n }\n if (E)\n try {\n var I = t.getMessageFormat(E, h, l, i);\n return I.format(r);\n } catch (T) {\n f(new z('Error formatting the default message for: \"'.concat(y, '\", rendering message verbatim'), a, n, T));\n }\n return typeof x == \"string\" ? x : typeof E == \"string\" ? E : y;\n}, we = [\n \"formatMatcher\",\n \"timeZone\",\n \"hour12\",\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n \"hourCycle\",\n \"dateStyle\",\n \"timeStyle\",\n \"calendar\",\n // 'dayPeriod',\n \"numberingSystem\",\n \"fractionalSecondDigits\"\n];\nfunction X(e, t, n, r) {\n var i = e.locale, a = e.formats, o = e.onError, s = e.timeZone;\n r === void 0 && (r = {});\n var h = r.format, l = m(m({}, s && { timeZone: s }), h && ne(a, t, h, o)), u = C(r, we, l);\n return t === \"time\" && !u.hour && !u.minute && !u.second && !u.timeStyle && !u.dateStyle && (u = m(m({}, u), { hour: \"numeric\", minute: \"numeric\" })), n(i, u);\n}\nfunction kt(e, t) {\n for (var n = [], r = 2; r < arguments.length; r++)\n n[r - 2] = arguments[r];\n var i = n[0], a = n[1], o = a === void 0 ? {} : a, s = typeof i == \"string\" ? new Date(i || 0) : i;\n try {\n return X(e, \"date\", t, o).format(s);\n } catch (h) {\n e.onError(new H(\"Error formatting date.\", e.locale, h));\n }\n return String(s);\n}\nfunction Xt(e, t) {\n for (var n = [], r = 2; r < arguments.length; r++)\n n[r - 2] = arguments[r];\n var i = n[0], a = n[1], o = a === void 0 ? {} : a, s = typeof i == \"string\" ? new Date(i || 0) : i;\n try {\n return X(e, \"time\", t, o).format(s);\n } catch (h) {\n e.onError(new H(\"Error formatting time.\", e.locale, h));\n }\n return String(s);\n}\nfunction Zt(e, t) {\n for (var n = [], r = 2; r < arguments.length; r++)\n n[r - 2] = arguments[r];\n var i = n[0], a = n[1], o = n[2], s = o === void 0 ? {} : o, h = e.timeZone, l = e.locale, u = e.onError, f = C(s, we, h ? { timeZone: h } : {});\n try {\n return t(l, f).formatRange(i, a);\n } catch (c) {\n u(new H(\"Error formatting date time range.\", e.locale, c));\n }\n return String(i);\n}\nfunction Wt(e, t) {\n for (var n = [], r = 2; r < arguments.length; r++)\n n[r - 2] = arguments[r];\n var i = n[0], a = n[1], o = a === void 0 ? {} : a, s = typeof i == \"string\" ? new Date(i || 0) : i;\n try {\n return X(e, \"date\", t, o).formatToParts(s);\n } catch (h) {\n e.onError(new H(\"Error formatting date.\", e.locale, h));\n }\n return [];\n}\nfunction zt(e, t) {\n for (var n = [], r = 2; r < arguments.length; r++)\n n[r - 2] = arguments[r];\n var i = n[0], a = n[1], o = a === void 0 ? {} : a, s = typeof i == \"string\" ? new Date(i || 0) : i;\n try {\n return X(e, \"time\", t, o).formatToParts(s);\n } catch (h) {\n e.onError(new H(\"Error formatting time.\", e.locale, h));\n }\n return [];\n}\nvar qt = [\n \"style\",\n \"type\",\n \"fallback\",\n \"languageDisplay\"\n];\nfunction Jt(e, t, n, r) {\n var i = e.locale, a = e.onError, o = Intl.DisplayNames;\n o || a(new O(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-displaynames\"\n`, _.MISSING_INTL_API));\n var s = C(r, qt);\n try {\n return t(i, s).of(n);\n } catch (h) {\n a(new H(\"Error formatting display name.\", i, h));\n }\n}\nvar Qt = [\n \"type\",\n \"style\"\n], be = Date.now();\nfunction Yt(e) {\n return \"\".concat(be, \"_\").concat(e, \"_\").concat(be);\n}\nfunction $t(e, t, n, r) {\n r === void 0 && (r = {});\n var i = De(e, t, n, r).reduce(function(a, o) {\n var s = o.value;\n return typeof s != \"string\" ? a.push(s) : typeof a[a.length - 1] == \"string\" ? a[a.length - 1] += s : a.push(s), a;\n }, []);\n return i.length === 1 ? i[0] : i.length === 0 ? \"\" : i;\n}\nfunction De(e, t, n, r) {\n var i = e.locale, a = e.onError;\n r === void 0 && (r = {});\n var o = Intl.ListFormat;\n o || a(new O(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`, _.MISSING_INTL_API));\n var s = C(r, Qt);\n try {\n var h = {}, l = n.map(function(u, f) {\n if (typeof u == \"object\") {\n var c = Yt(f);\n return h[c] = u, c;\n }\n return String(u);\n });\n return t(i, s).formatToParts(l).map(function(u) {\n return u.type === \"literal\" ? u : m(m({}, u), { value: h[u.value] || u.value });\n });\n } catch (u) {\n a(new H(\"Error formatting list.\", i, u));\n }\n return n;\n}\nvar Kt = [\"type\"];\nfunction er(e, t, n, r) {\n var i = e.locale, a = e.onError;\n r === void 0 && (r = {}), Intl.PluralRules || a(new O(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, _.MISSING_INTL_API));\n var o = C(r, Kt);\n try {\n return t(i, o).select(n);\n } catch (s) {\n a(new H(\"Error formatting plural.\", i, s));\n }\n return \"other\";\n}\nvar tr = [\"numeric\", \"style\"];\nfunction rr(e, t, n) {\n var r = e.locale, i = e.formats, a = e.onError;\n n === void 0 && (n = {});\n var o = n.format, s = !!o && ne(i, \"relative\", o, a) || {}, h = C(n, tr, s);\n return t(r, h);\n}\nfunction nr(e, t, n, r, i) {\n i === void 0 && (i = {}), r || (r = \"second\");\n var a = Intl.RelativeTimeFormat;\n a || e.onError(new O(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`, _.MISSING_INTL_API));\n try {\n return rr(e, t, i).format(n, r);\n } catch (o) {\n e.onError(new H(\"Error formatting relative time.\", e.locale, o));\n }\n return String(n);\n}\nvar ir = [\n \"style\",\n \"currency\",\n \"currencyDisplay\",\n \"unit\",\n \"unitDisplay\",\n \"useGrouping\",\n \"minimumIntegerDigits\",\n \"minimumFractionDigits\",\n \"maximumFractionDigits\",\n \"minimumSignificantDigits\",\n \"maximumSignificantDigits\",\n // ES2020 NumberFormat\n \"compactDisplay\",\n \"currencyDisplay\",\n \"currencySign\",\n \"notation\",\n \"signDisplay\",\n \"unit\",\n \"unitDisplay\",\n \"numberingSystem\"\n];\nfunction Fe(e, t, n) {\n var r = e.locale, i = e.formats, a = e.onError;\n n === void 0 && (n = {});\n var o = n.format, s = o && ne(i, \"number\", o, a) || {}, h = C(n, ir, s);\n return t(r, h);\n}\nfunction ar(e, t, n, r) {\n r === void 0 && (r = {});\n try {\n return Fe(e, t, r).format(n);\n } catch (i) {\n e.onError(new H(\"Error formatting number.\", e.locale, i));\n }\n return String(n);\n}\nfunction or(e, t, n, r) {\n r === void 0 && (r = {});\n try {\n return Fe(e, t, r).formatToParts(n);\n } catch (i) {\n e.onError(new H(\"Error formatting number.\", e.locale, i));\n }\n return [];\n}\nfunction sr(e) {\n var t = e ? e[Object.keys(e)[0]] : void 0;\n return typeof t == \"string\";\n}\nfunction ur(e) {\n e.onWarn && e.defaultRichTextElements && sr(e.messages || {}) && e.onWarn(`[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution`);\n}\nfunction hr(e, t) {\n var n = jt(t), r = m(m({}, Ut), e), i = r.locale, a = r.defaultLocale, o = r.onError;\n return i ? !Intl.NumberFormat.supportedLocalesOf(i).length && o ? o(new me('Missing locale data for locale: \"'.concat(i, '\" in Intl.NumberFormat. Using default locale: \"').concat(a, '\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details'))) : !Intl.DateTimeFormat.supportedLocalesOf(i).length && o && o(new me('Missing locale data for locale: \"'.concat(i, '\" in Intl.DateTimeFormat. Using default locale: \"').concat(a, '\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details'))) : (o && o(new wt('\"locale\" was not configured, using \"'.concat(a, '\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details'))), r.locale = r.defaultLocale || \"en\"), ur(r), m(m({}, r), {\n formatters: n,\n formatNumber: ar.bind(null, r, n.getNumberFormat),\n formatNumberToParts: or.bind(null, r, n.getNumberFormat),\n formatRelativeTime: nr.bind(null, r, n.getRelativeTimeFormat),\n formatDate: kt.bind(null, r, n.getDateTimeFormat),\n formatDateToParts: Wt.bind(null, r, n.getDateTimeFormat),\n formatTime: Xt.bind(null, r, n.getDateTimeFormat),\n formatDateTimeRange: Zt.bind(null, r, n.getDateTimeFormat),\n formatTimeToParts: zt.bind(null, r, n.getDateTimeFormat),\n formatPlural: er.bind(null, r, n.getPluralRules),\n // @ts-expect-error TODO: will get to this later\n formatMessage: ve.bind(null, r, n),\n // @ts-expect-error TODO: will get to this later\n $t: ve.bind(null, r, n),\n formatList: $t.bind(null, r, n.getListFormat),\n formatListToParts: De.bind(null, r, n.getListFormat),\n formatDisplayName: Jt.bind(null, r, n.getDisplayNames)\n });\n}\nvar lr = F;\nF.flatten = F;\nF.unflatten = je;\nfunction Ge(e) {\n return e && e.constructor && typeof e.constructor.isBuffer == \"function\" && e.constructor.isBuffer(e);\n}\nfunction Ue(e) {\n return e;\n}\nfunction F(e, t) {\n t = t || {};\n const n = t.delimiter || \".\", r = t.maxDepth, i = t.transformKey || Ue, a = {};\n function o(s, h, l) {\n l = l || 1, Object.keys(s).forEach(function(u) {\n const f = s[u], c = t.safe && Array.isArray(f), p = Object.prototype.toString.call(f), b = Ge(f), E = p === \"[object Object]\" || p === \"[object Array]\", y = h ? h + n + i(u) : i(u);\n if (!c && !b && E && Object.keys(f).length && (!t.maxDepth || l < r))\n return o(f, y, l + 1);\n a[y] = f;\n });\n }\n return o(e), a;\n}\nfunction je(e, t) {\n t = t || {};\n const n = t.delimiter || \".\", r = t.overwrite || !1, i = t.transformKey || Ue, a = {};\n if (Ge(e) || Object.prototype.toString.call(e) !== \"[object Object]\")\n return e;\n function s(u) {\n const f = Number(u);\n return isNaN(f) || u.indexOf(\".\") !== -1 || t.object ? u : f;\n }\n function h(u, f, c) {\n return Object.keys(c).reduce(function(p, b) {\n return p[u + n + b] = c[b], p;\n }, f);\n }\n function l(u) {\n const f = Object.prototype.toString.call(u), c = f === \"[object Array]\", p = f === \"[object Object]\";\n if (u) {\n if (c)\n return !u.length;\n if (p)\n return !Object.keys(u).length;\n } else\n return !0;\n }\n return e = Object.keys(e).reduce(function(u, f) {\n const c = Object.prototype.toString.call(e[f]);\n return !(c === \"[object Object]\" || c === \"[object Array]\") || l(e[f]) ? (u[f] = e[f], u) : h(\n f,\n u,\n F(e[f], t)\n );\n }, {}), Object.keys(e).forEach(function(u) {\n const f = u.split(n).map(i);\n let c = s(f.shift()), p = s(f[0]), b = a;\n for (; p !== void 0; ) {\n if (c === \"__proto__\")\n return;\n const E = Object.prototype.toString.call(b[c]), y = E === \"[object Object]\" || E === \"[object Array]\";\n if (!r && !y && typeof b[c] < \"u\")\n return;\n (r && !y || !r && b[c] == null) && (b[c] = typeof p == \"number\" && !t.object ? [] : {}), b = b[c], f.length > 0 && (c = s(f.shift()), p = s(f[0]));\n }\n b[c] = je(e[u], t);\n }), a;\n}\nconst fr = Ce();\nlet Ve;\nconst pr = (e, t, n = !1) => {\n const r = hr(\n {\n locale: e,\n messages: lr.flatten(t, {\n safe: !0\n // Preserve arrays\n })\n },\n fr\n ), { $t: i, ...a } = r, o = a, u = {\n t: (f, c, p) => o.formatMessage({ id: f }, c, p),\n te: (f) => !!o.messages[f],\n tm: (f) => o.messages[f] || [],\n ...o,\n source: t\n };\n return n && (Ve = u), u;\n};\nfunction gr() {\n return Ve;\n}\nconst cr = (e = null) => ke({\n name: \"I18nT\",\n props: {\n i18n: {\n type: Object,\n default: null\n },\n keypath: {\n type: String,\n // type: String as unknown as PropType<PathToDotNotation<MessageSource, string>>, // This breaks the type interface, enable to debug\n required: !0\n },\n tag: {\n type: String,\n default: \"span\"\n }\n },\n setup(t, { slots: n }) {\n const r = (i) => {\n if (!i)\n return [];\n const a = /(\\{[^}]+\\})/g;\n return i.split(a).filter(Boolean);\n };\n return () => {\n const i = Object.keys(n).filter((s) => s !== \"_\"), a = (e || t.i18n).messages[t.keypath].toString();\n let o = r(a);\n return o = o.filter((s) => s !== \"\"), o.forEach((s, h) => {\n if (!s.startsWith(\"{\") && !s.endsWith(\"}\"))\n return;\n const l = s.replace(/[\\{\\}]/g, \"\");\n l === \"0\" && n.default ? o[h] = n.default() : i.includes(l) && n[l] && (o[h] = n[l]());\n }), Xe(t.tag, t, o);\n };\n }\n}), vr = {\n install(e, t) {\n const { i18n: n } = t;\n e.component(\"I18nT\", cr(n));\n }\n};\nexport {\n vr as Translation,\n pr as createI18n,\n cr as i18nTComponent,\n gr as useI18n\n};\n//# sourceMappingURL=i18n.es.js.map\n","import { createI18n, Translation } from '@kong-ui-public/i18n'\nimport english from '../locales/en.json'\n\nexport default function usei18n() {\n const i18n = createI18n<typeof english>('en-us', english)\n\n return {\n i18n,\n i18nT: Translation, // Translation component <i18n-t>\n }\n}\n","export default function useUtilities() {\n /**\n * Check if all of the provided items have a non-falsey value for all of the provided required props\n *\n * @param items The items to validate the prop exists for\n * @param requiredProps An array of all the required prop names\n * @returns Boolean whether or not the items have all the required props\n */\n const hasRequiredProps = (items: object[], requiredProps: string[]): boolean => {\n let isValid = true\n\n items.forEach((item: object) => {\n requiredProps.forEach((requiredProp: string) => {\n if (!item[requiredProp as keyof typeof item]) {\n isValid = false\n }\n })\n })\n\n return isValid\n }\n\n return {\n hasRequiredProps,\n }\n}\n","import useI18n from './useI18n'\nimport useUtilities from './useUtilities'\n\n// All composables must be exported as part of the default object for Cypress test stubs\nexport default {\n useI18n,\n useUtilities,\n}\n","export function toSlug(input: string, suffix = '') {\n return input\n .toLowerCase()\n .trim()\n .replace(/ /g, '-')\n .replace(/[^\\w-]+/g, '') + suffix\n}\n","import { HeadingNode, isHeadingNode, isTextNode } from '../types'\nimport { toSlug } from './toSlug'\nexport function addUniqueHeadingSlugs<T = any>(children: Array<T>, slugMap = new Map<string, number>()): Array<T> {\n if (!children) return children\n\n const slugs = slugMap || new Map<string, number>()\n // loop through the children\n // if the child is a heading, add a slug property based on the text\n return children.map((child: any) => {\n if (isHeadingNode(child)) {\n return addSlug(child, slugMap)\n } else {\n // Nested headers are possible\n if (child.children) {\n child.children = addUniqueHeadingSlugs(child.children, slugs)\n }\n return child\n }\n })\n}\n\nexport function addSlug(child: HeadingNode, slugMap: Map<string, number>, prefix = 'doc-heading-') {\n const firstChild = child.children?.[0]\n const defaultText = `level-${child.level}`\n const text = isTextNode(firstChild)\n ? firstChild.text || defaultText\n : defaultText\n const slugCount = slugMap.get(text)\n slugMap.set(text, (slugCount || 0) + 1)\n const duplicateSuffix = slugCount && slugCount > 1 ? `-${slugCount}` : ''\n // add a hyphen if there are multiple headings with the same text\n const slug = prefix + toSlug(text, duplicateSuffix)\n\n return {\n ...child,\n slug,\n }\n}\n","<template>\n <div\n class=\"document-viewer\"\n data-testid=\"document-viewer\"\n >\n <Children v-if=\"hasRequiredProps\" />\n <div\n v-else\n data-testid=\"document-viewer-error\"\n >\n {{ i18n.t('documentViewer.error') }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport renderChildren from './renderChildren'\nimport { computed } from 'vue'\nimport composables from '../composables'\nimport { addUniqueHeadingSlugs } from '../utils/addUniqueHeadingSlugs'\n\nconst props = defineProps({\n document: {\n type: Object,\n required: true,\n },\n})\n\nconst { i18n } = composables.useI18n()\n\nconst objectIsEmpty = (obj: any): boolean => (!obj || (Object.keys(obj).length === 0 && obj.constructor === Object))\n\nconst hasRequiredProps = computed((): boolean => {\n // Ensure the document object that is passed in is not empty\n return !objectIsEmpty(props.document)\n})\n\nconst children = addUniqueHeadingSlugs(props.document?.children)\nconst Children = () => props.document?.children ? renderChildren(children) : null\n</script>\n\n<style>\n:root {\n --document-viewer-font-family-default: Roboto, Helvetica, sans-serif;\n --document-viewer-font-family-monospace: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\n</style>\n<style scoped>\n.document-viewer {\n color: var(--document-viewer-color, var(--text_colors-primary, #0b172d));\n font-family: var(--document-viewer-font-family-default, var(--font-family-sans));\n font-size: var(--document-viewer-font-size, 16px);\n}\n</style>\n"],"names":["TableRowSection","TableCellAlign","isTableHeaderNode","o","isTextNode","isHeadingNode","isListNode","_cache","_openBlock","_createElementBlock","components","module","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","obj","deepClone","visited","clone","id","key","v","i","element","language","err","src","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","value","DFS","callback","type","objId","property","propertyType","async","container","env","parent","code","insertHighlightedCode","highlightedCode","worker","evt","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","e","aliases","attributes","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","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","string","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","error","xhr","parseRange","range","m","start","comma","end","pre","extension","autoloader","lines","elements","logged","isProcessing","ref","supportedPrismLanguages","components.languages","arr","highlight","escapeUnsafeCharacters","unescapedCodeString","codeBlockKey","computed","props","stringifiedCode","line","watch","__variableDynamicImportRuntimeHelper","tag","slug","_a","checked","__default__","nodeTypeToComponentMap","blockquote","Blockquote","Code","code_block","CodeBlock","emphasis","Emphasis","heading","Heading","image","Image","break","LineBreak","link","Link","List","list_item","ListItem","paragraph","Paragraph","strikethrough","Strikethrough","table","Table","table_header","TableRow","table_row","table_cell","TableCell","task_checkbox","TaskCheckbox","Text","text_block","TextBlock","nodeTypesNotified","notifyUnknownNodeType","indexOf","push","console","warn","renderChildren","children","map","child","index","restProps","component","section","header","containsTaskListItems","some","listItem","itemContent","_createVNode","_mergeProps","length","q","n","r","A","t","a","Ze","P","g","d","w","ae","We","Ee","de","ye","xe","Te","ze","Se","Ie","J","He","qe","Je","Qe","Ye","c","h","l","f","$e","oe","Ae","Ke","Ne","se","Be","et","ue","tt","rt","nt","Z","it","at","ot","st","ut","ht","lt","ft","ct","mt","Q","pt","Pe","he","Y","le","_e","gt","vt","$","fe","Oe","yt","bt","K","dt","Et","b","E","y","x","I","T","D","R","U","ie","ee","xt","N","Nt","At","St","Tt","Re","Le","te","It","Ht","re","B","O","ce","Bt","_t","S","Pt","Ot","Rt","Lt","W","Mt","Me","M","G","Ct","wt","me","H","z","Dt","C","Ft","Gt","Ut","Ce","L","jt","ne","Vt","V","pe","ge","ve","we","X","kt","Xt","Zt","Wt","zt","qt","Jt","Qt","be","Yt","$t","De","Kt","er","tr","rr","nr","ir","Fe","ar","or","sr","ur","hr","lr","F","je","Ge","Ue","u","fr","pr","cr","ke","Xe","vr","usei18n","createI18n","english","Translation","useUtilities","items","requiredProps","isValid","item","requiredProp","composables","useI18n","toSlug","input","suffix","addUniqueHeadingSlugs","slugMap","slugs","addSlug","prefix","firstChild","defaultText","slugCount","duplicateSuffix","i18n","objectIsEmpty","hasRequiredProps","Children"],"mappings":"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A,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,IAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP;AAAA,IACA;AAA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QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,OAAO,MAAM,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,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","x_google_ignoreList":[3,4]}
|