`\n };\n\n const VuePlugin = {\n install(Vue) {\n Vue.component('highlightjs', Component);\n }\n };\n\n return { Component, VuePlugin };\n}\n\n/* plugin itself */\n\n/** @type {HLJSPlugin} */\nconst mergeHTMLPlugin = {\n \"after:highlightElement\": ({ el, result, text }) => {\n const originalStream = nodeStream(el);\n if (!originalStream.length) return;\n\n const resultNode = document.createElement('div');\n resultNode.innerHTML = result.value;\n result.value = mergeStreams(originalStream, nodeStream(resultNode), text);\n }\n};\n\n/* Stream merging support functions */\n\n/**\n * @typedef Event\n * @property {'start'|'stop'} event\n * @property {number} offset\n * @property {Node} node\n */\n\n/**\n * @param {Node} node\n */\nfunction tag(node) {\n return node.nodeName.toLowerCase();\n}\n\n/**\n * @param {Node} node\n */\nfunction nodeStream(node) {\n /** @type Event[] */\n const result = [];\n (function _nodeStream(node, offset) {\n for (let child = node.firstChild; child; child = child.nextSibling) {\n if (child.nodeType === 3) {\n offset += child.nodeValue.length;\n } else if (child.nodeType === 1) {\n result.push({\n event: 'start',\n offset: offset,\n node: child\n });\n offset = _nodeStream(child, offset);\n // Prevent void elements from having an end tag that would actually\n // double them in the output. There are more void elements in HTML\n // but we list only those realistically expected in code display.\n if (!tag(child).match(/br|hr|img|input/)) {\n result.push({\n event: 'stop',\n offset: offset,\n node: child\n });\n }\n }\n }\n return offset;\n })(node, 0);\n return result;\n}\n\n/**\n * @param {any} original - the original stream\n * @param {any} highlighted - stream of the highlighted source\n * @param {string} value - the original source itself\n */\nfunction mergeStreams(original, highlighted, value) {\n let processed = 0;\n let result = '';\n const nodeStack = [];\n\n function selectStream() {\n if (!original.length || !highlighted.length) {\n return original.length ? original : highlighted;\n }\n if (original[0].offset !== highlighted[0].offset) {\n return (original[0].offset < highlighted[0].offset) ? original : highlighted;\n }\n\n /*\n To avoid starting the stream just before it should stop the order is\n ensured that original always starts first and closes last:\n\n if (event1 == 'start' && event2 == 'start')\n return original;\n if (event1 == 'start' && event2 == 'stop')\n return highlighted;\n if (event1 == 'stop' && event2 == 'start')\n return original;\n if (event1 == 'stop' && event2 == 'stop')\n return highlighted;\n\n ... which is collapsed to:\n */\n return highlighted[0].event === 'start' ? original : highlighted;\n }\n\n /**\n * @param {Node} node\n */\n function open(node) {\n /** @param {Attr} attr */\n function attributeString(attr) {\n return ' ' + attr.nodeName + '=\"' + escapeHTML(attr.value) + '\"';\n }\n // @ts-ignore\n result += '<' + tag(node) + [].map.call(node.attributes, attributeString).join('') + '>';\n }\n\n /**\n * @param {Node} node\n */\n function close(node) {\n result += '' + tag(node) + '>';\n }\n\n /**\n * @param {Event} event\n */\n function render(event) {\n (event.event === 'start' ? open : close)(event.node);\n }\n\n while (original.length || highlighted.length) {\n let stream = selectStream();\n result += escapeHTML(value.substring(processed, stream[0].offset));\n processed = stream[0].offset;\n if (stream === original) {\n /*\n On any opening or closing tag of the original markup we first close\n the entire highlighted node stack, then render the original tag along\n with all the following original tags at the same offset and then\n reopen all the tags on the highlighted stack.\n */\n nodeStack.reverse().forEach(close);\n do {\n render(stream.splice(0, 1)[0]);\n stream = selectStream();\n } while (stream === original && stream.length && stream[0].offset === processed);\n nodeStack.reverse().forEach(open);\n } else {\n if (stream[0].event === 'start') {\n nodeStack.push(stream[0].node);\n } else {\n nodeStack.pop();\n }\n render(stream.splice(0, 1)[0]);\n }\n }\n return result + escapeHTML(value.substr(processed));\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record blocks on a page\n *\n * @type {Function & {called?: boolean}}\n */\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n if (initHighlighting.called) return;\n initHighlighting.called = true;\n\n deprecated(\"10.6.0\", \"initHighlighting() is deprecated. Use highlightAll() instead.\");\n\n const blocks = document.querySelectorAll('pre code');\n blocks.forEach(highlightElement);\n };\n\n // Higlights all when DOMContentLoaded fires\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() is deprecated. Use highlightAll() instead.\");\n wantsHighlight = true;\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll('pre code');\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n intended usage: When one language truly requires another\n\n Unlike `getLanguage`, this will throw when the requested language\n is not available.\n\n @param {string} name - name of the language to fetch/require\n @returns {Language | never}\n */\n function requireLanguage(name) {\n deprecated(\"10.4.0\", \"requireLanguage will be removed entirely in v11.\");\n deprecated(\"10.4.0\", \"Please see https://github.com/highlightjs/highlight.js/pull/2844\");\n\n const lang = getLanguage(name);\n if (lang) { return lang; }\n\n const err = new Error('The \\'{}\\' language is required, but not loaded.'.replace('{}', name));\n throw err;\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n Note: fixMarkup is deprecated and will be removed entirely in v11\n\n @param {string} arg\n @returns {string}\n */\n function deprecateFixMarkup(arg) {\n deprecated(\"10.2.0\", \"fixMarkup will be removed entirely in v11.0\");\n deprecated(\"10.2.0\", \"Please see https://github.com/highlightjs/highlight.js/issues/2534\");\n\n return fixMarkup(arg);\n }\n\n /**\n *\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n fixMarkup: deprecateFixMarkup,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n requireLanguage,\n autoDetection,\n inherit: inherit$1,\n addPlugin,\n // plugins for frameworks\n vuePlugin: BuildVuePlugin(hljs).VuePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreezeEs6(MODES[key]);\n }\n }\n\n // merge all the modes/regexs into our main object\n Object.assign(hljs, MODES);\n\n // built-in plugins, likely to be moved out of core in the future\n hljs.addPlugin(brPlugin); // slated to be removed in v11\n hljs.addPlugin(mergeHTMLPlugin);\n hljs.addPlugin(tabReplacePlugin);\n return hljs;\n};\n\n// export an \"instance\" of the highlighter\nvar highlight = HLJS({});\n\nmodule.exports = highlight;\n","var map = {\n\t\"./1c\": [\n\t\t73870,\n\t\t\"highlight/1c\"\n\t],\n\t\"./1c.js\": [\n\t\t73870,\n\t\t\"highlight/1c\"\n\t],\n\t\"./abnf\": [\n\t\t1122,\n\t\t\"highlight/abnf\"\n\t],\n\t\"./abnf.js\": [\n\t\t1122,\n\t\t\"highlight/abnf\"\n\t],\n\t\"./accesslog\": [\n\t\t63074,\n\t\t\"highlight/accesslog\"\n\t],\n\t\"./accesslog.js\": [\n\t\t63074,\n\t\t\"highlight/accesslog\"\n\t],\n\t\"./actionscript\": [\n\t\t39696,\n\t\t\"highlight/actionscript\"\n\t],\n\t\"./actionscript.js\": [\n\t\t39696,\n\t\t\"highlight/actionscript\"\n\t],\n\t\"./ada\": [\n\t\t19389,\n\t\t\"highlight/ada\"\n\t],\n\t\"./ada.js\": [\n\t\t19389,\n\t\t\"highlight/ada\"\n\t],\n\t\"./angelscript\": [\n\t\t46147,\n\t\t\"highlight/angelscript\"\n\t],\n\t\"./angelscript.js\": [\n\t\t46147,\n\t\t\"highlight/angelscript\"\n\t],\n\t\"./apache\": [\n\t\t96936,\n\t\t\"highlight/apache\"\n\t],\n\t\"./apache.js\": [\n\t\t96936,\n\t\t\"highlight/apache\"\n\t],\n\t\"./applescript\": [\n\t\t5460,\n\t\t\"highlight/applescript\"\n\t],\n\t\"./applescript.js\": [\n\t\t5460,\n\t\t\"highlight/applescript\"\n\t],\n\t\"./arcade\": [\n\t\t43178,\n\t\t\"highlight/arcade\"\n\t],\n\t\"./arcade.js\": [\n\t\t43178,\n\t\t\"highlight/arcade\"\n\t],\n\t\"./arduino\": [\n\t\t1232,\n\t\t\"highlight/arduino\"\n\t],\n\t\"./arduino.js\": [\n\t\t1232,\n\t\t\"highlight/arduino\"\n\t],\n\t\"./armasm\": [\n\t\t71196,\n\t\t\"highlight/armasm\"\n\t],\n\t\"./armasm.js\": [\n\t\t71196,\n\t\t\"highlight/armasm\"\n\t],\n\t\"./asciidoc\": [\n\t\t90630,\n\t\t\"highlight/asciidoc\"\n\t],\n\t\"./asciidoc.js\": [\n\t\t90630,\n\t\t\"highlight/asciidoc\"\n\t],\n\t\"./aspectj\": [\n\t\t25044,\n\t\t\"highlight/aspectj\"\n\t],\n\t\"./aspectj.js\": [\n\t\t25044,\n\t\t\"highlight/aspectj\"\n\t],\n\t\"./autohotkey\": [\n\t\t67130,\n\t\t\"highlight/autohotkey\"\n\t],\n\t\"./autohotkey.js\": [\n\t\t67130,\n\t\t\"highlight/autohotkey\"\n\t],\n\t\"./autoit\": [\n\t\t75039,\n\t\t\"highlight/autoit\"\n\t],\n\t\"./autoit.js\": [\n\t\t75039,\n\t\t\"highlight/autoit\"\n\t],\n\t\"./avrasm\": [\n\t\t18324,\n\t\t\"highlight/avrasm\"\n\t],\n\t\"./avrasm.js\": [\n\t\t18324,\n\t\t\"highlight/avrasm\"\n\t],\n\t\"./awk\": [\n\t\t40070,\n\t\t\"highlight/awk\"\n\t],\n\t\"./awk.js\": [\n\t\t40070,\n\t\t\"highlight/awk\"\n\t],\n\t\"./axapta\": [\n\t\t80149,\n\t\t\"highlight/axapta\"\n\t],\n\t\"./axapta.js\": [\n\t\t80149,\n\t\t\"highlight/axapta\"\n\t],\n\t\"./bash\": [\n\t\t61519,\n\t\t\"highlight/bash\"\n\t],\n\t\"./bash.js\": [\n\t\t61519,\n\t\t\"highlight/bash\"\n\t],\n\t\"./basic\": [\n\t\t56827,\n\t\t\"highlight/basic\"\n\t],\n\t\"./basic.js\": [\n\t\t56827,\n\t\t\"highlight/basic\"\n\t],\n\t\"./bnf\": [\n\t\t78349,\n\t\t\"highlight/bnf\"\n\t],\n\t\"./bnf.js\": [\n\t\t78349,\n\t\t\"highlight/bnf\"\n\t],\n\t\"./brainfuck\": [\n\t\t44536,\n\t\t\"highlight/brainfuck\"\n\t],\n\t\"./brainfuck.js\": [\n\t\t44536,\n\t\t\"highlight/brainfuck\"\n\t],\n\t\"./c\": [\n\t\t25745,\n\t\t\"highlight/c\"\n\t],\n\t\"./c-like\": [\n\t\t58212,\n\t\t\"highlight/c-like\"\n\t],\n\t\"./c-like.js\": [\n\t\t58212,\n\t\t\"highlight/c-like\"\n\t],\n\t\"./c.js\": [\n\t\t25745,\n\t\t\"highlight/c\"\n\t],\n\t\"./cal\": [\n\t\t45041,\n\t\t\"highlight/cal\"\n\t],\n\t\"./cal.js\": [\n\t\t45041,\n\t\t\"highlight/cal\"\n\t],\n\t\"./capnproto\": [\n\t\t51446,\n\t\t\"highlight/capnproto\"\n\t],\n\t\"./capnproto.js\": [\n\t\t51446,\n\t\t\"highlight/capnproto\"\n\t],\n\t\"./ceylon\": [\n\t\t1795,\n\t\t\"highlight/ceylon\"\n\t],\n\t\"./ceylon.js\": [\n\t\t1795,\n\t\t\"highlight/ceylon\"\n\t],\n\t\"./clean\": [\n\t\t82280,\n\t\t\"highlight/clean\"\n\t],\n\t\"./clean.js\": [\n\t\t82280,\n\t\t\"highlight/clean\"\n\t],\n\t\"./clojure\": [\n\t\t36134,\n\t\t\"highlight/clojure\"\n\t],\n\t\"./clojure-repl\": [\n\t\t36746,\n\t\t\"highlight/clojure-repl\"\n\t],\n\t\"./clojure-repl.js\": [\n\t\t36746,\n\t\t\"highlight/clojure-repl\"\n\t],\n\t\"./clojure.js\": [\n\t\t36134,\n\t\t\"highlight/clojure\"\n\t],\n\t\"./cmake\": [\n\t\t71422,\n\t\t\"highlight/cmake\"\n\t],\n\t\"./cmake.js\": [\n\t\t71422,\n\t\t\"highlight/cmake\"\n\t],\n\t\"./coffeescript\": [\n\t\t6691,\n\t\t\"highlight/coffeescript\"\n\t],\n\t\"./coffeescript.js\": [\n\t\t6691,\n\t\t\"highlight/coffeescript\"\n\t],\n\t\"./coq\": [\n\t\t73621,\n\t\t\"highlight/coq\"\n\t],\n\t\"./coq.js\": [\n\t\t73621,\n\t\t\"highlight/coq\"\n\t],\n\t\"./cos\": [\n\t\t69586,\n\t\t\"highlight/cos\"\n\t],\n\t\"./cos.js\": [\n\t\t69586,\n\t\t\"highlight/cos\"\n\t],\n\t\"./cpp\": [\n\t\t74006,\n\t\t\"highlight/cpp\"\n\t],\n\t\"./cpp.js\": [\n\t\t74006,\n\t\t\"highlight/cpp\"\n\t],\n\t\"./crmsh\": [\n\t\t37641,\n\t\t\"highlight/crmsh\"\n\t],\n\t\"./crmsh.js\": [\n\t\t37641,\n\t\t\"highlight/crmsh\"\n\t],\n\t\"./crystal\": [\n\t\t91139,\n\t\t\"highlight/crystal\"\n\t],\n\t\"./crystal.js\": [\n\t\t91139,\n\t\t\"highlight/crystal\"\n\t],\n\t\"./csharp\": [\n\t\t681,\n\t\t\"highlight/csharp\"\n\t],\n\t\"./csharp.js\": [\n\t\t681,\n\t\t\"highlight/csharp\"\n\t],\n\t\"./csp\": [\n\t\t60530,\n\t\t\"highlight/csp\"\n\t],\n\t\"./csp.js\": [\n\t\t60530,\n\t\t\"highlight/csp\"\n\t],\n\t\"./css\": [\n\t\t68914,\n\t\t\"highlight/css\"\n\t],\n\t\"./css.js\": [\n\t\t68914,\n\t\t\"highlight/css\"\n\t],\n\t\"./d\": [\n\t\t89968,\n\t\t\"highlight/d\"\n\t],\n\t\"./d.js\": [\n\t\t89968,\n\t\t\"highlight/d\"\n\t],\n\t\"./dart\": [\n\t\t65778,\n\t\t\"highlight/dart\"\n\t],\n\t\"./dart.js\": [\n\t\t65778,\n\t\t\"highlight/dart\"\n\t],\n\t\"./delphi\": [\n\t\t48008,\n\t\t\"highlight/delphi\"\n\t],\n\t\"./delphi.js\": [\n\t\t48008,\n\t\t\"highlight/delphi\"\n\t],\n\t\"./diff\": [\n\t\t91833,\n\t\t\"highlight/diff\"\n\t],\n\t\"./diff.js\": [\n\t\t91833,\n\t\t\"highlight/diff\"\n\t],\n\t\"./django\": [\n\t\t45253,\n\t\t\"highlight/django\"\n\t],\n\t\"./django.js\": [\n\t\t45253,\n\t\t\"highlight/django\"\n\t],\n\t\"./dns\": [\n\t\t65594,\n\t\t\"highlight/dns\"\n\t],\n\t\"./dns.js\": [\n\t\t65594,\n\t\t\"highlight/dns\"\n\t],\n\t\"./dockerfile\": [\n\t\t27055,\n\t\t\"highlight/dockerfile\"\n\t],\n\t\"./dockerfile.js\": [\n\t\t27055,\n\t\t\"highlight/dockerfile\"\n\t],\n\t\"./dos\": [\n\t\t85215,\n\t\t\"highlight/dos\"\n\t],\n\t\"./dos.js\": [\n\t\t85215,\n\t\t\"highlight/dos\"\n\t],\n\t\"./dsconfig\": [\n\t\t71524,\n\t\t\"highlight/dsconfig\"\n\t],\n\t\"./dsconfig.js\": [\n\t\t71524,\n\t\t\"highlight/dsconfig\"\n\t],\n\t\"./dts\": [\n\t\t29702,\n\t\t\"highlight/dts\"\n\t],\n\t\"./dts.js\": [\n\t\t29702,\n\t\t\"highlight/dts\"\n\t],\n\t\"./dust\": [\n\t\t27115,\n\t\t\"highlight/dust\"\n\t],\n\t\"./dust.js\": [\n\t\t27115,\n\t\t\"highlight/dust\"\n\t],\n\t\"./ebnf\": [\n\t\t26254,\n\t\t\"highlight/ebnf\"\n\t],\n\t\"./ebnf.js\": [\n\t\t26254,\n\t\t\"highlight/ebnf\"\n\t],\n\t\"./elixir\": [\n\t\t27204,\n\t\t\"highlight/elixir\"\n\t],\n\t\"./elixir.js\": [\n\t\t27204,\n\t\t\"highlight/elixir\"\n\t],\n\t\"./elm\": [\n\t\t58259,\n\t\t\"highlight/elm\"\n\t],\n\t\"./elm.js\": [\n\t\t58259,\n\t\t\"highlight/elm\"\n\t],\n\t\"./erb\": [\n\t\t328,\n\t\t\"highlight/erb\"\n\t],\n\t\"./erb.js\": [\n\t\t328,\n\t\t\"highlight/erb\"\n\t],\n\t\"./erlang\": [\n\t\t87489,\n\t\t\"highlight/erlang\"\n\t],\n\t\"./erlang-repl\": [\n\t\t27670,\n\t\t\"highlight/erlang-repl\"\n\t],\n\t\"./erlang-repl.js\": [\n\t\t27670,\n\t\t\"highlight/erlang-repl\"\n\t],\n\t\"./erlang.js\": [\n\t\t87489,\n\t\t\"highlight/erlang\"\n\t],\n\t\"./excel\": [\n\t\t94369,\n\t\t\"highlight/excel\"\n\t],\n\t\"./excel.js\": [\n\t\t94369,\n\t\t\"highlight/excel\"\n\t],\n\t\"./fix\": [\n\t\t51377,\n\t\t\"highlight/fix\"\n\t],\n\t\"./fix.js\": [\n\t\t51377,\n\t\t\"highlight/fix\"\n\t],\n\t\"./flix\": [\n\t\t72041,\n\t\t\"highlight/flix\"\n\t],\n\t\"./flix.js\": [\n\t\t72041,\n\t\t\"highlight/flix\"\n\t],\n\t\"./fortran\": [\n\t\t28362,\n\t\t\"highlight/fortran\"\n\t],\n\t\"./fortran.js\": [\n\t\t28362,\n\t\t\"highlight/fortran\"\n\t],\n\t\"./fsharp\": [\n\t\t34639,\n\t\t\"highlight/fsharp\"\n\t],\n\t\"./fsharp.js\": [\n\t\t34639,\n\t\t\"highlight/fsharp\"\n\t],\n\t\"./gams\": [\n\t\t9392,\n\t\t\"highlight/gams\"\n\t],\n\t\"./gams.js\": [\n\t\t9392,\n\t\t\"highlight/gams\"\n\t],\n\t\"./gauss\": [\n\t\t44859,\n\t\t\"highlight/gauss\"\n\t],\n\t\"./gauss.js\": [\n\t\t44859,\n\t\t\"highlight/gauss\"\n\t],\n\t\"./gcode\": [\n\t\t38036,\n\t\t\"highlight/gcode\"\n\t],\n\t\"./gcode.js\": [\n\t\t38036,\n\t\t\"highlight/gcode\"\n\t],\n\t\"./gherkin\": [\n\t\t65962,\n\t\t\"highlight/gherkin\"\n\t],\n\t\"./gherkin.js\": [\n\t\t65962,\n\t\t\"highlight/gherkin\"\n\t],\n\t\"./glsl\": [\n\t\t85243,\n\t\t\"highlight/glsl\"\n\t],\n\t\"./glsl.js\": [\n\t\t85243,\n\t\t\"highlight/glsl\"\n\t],\n\t\"./gml\": [\n\t\t94807,\n\t\t\"highlight/gml\"\n\t],\n\t\"./gml.js\": [\n\t\t94807,\n\t\t\"highlight/gml\"\n\t],\n\t\"./go\": [\n\t\t33048,\n\t\t\"highlight/go\"\n\t],\n\t\"./go.js\": [\n\t\t33048,\n\t\t\"highlight/go\"\n\t],\n\t\"./golo\": [\n\t\t87140,\n\t\t\"highlight/golo\"\n\t],\n\t\"./golo.js\": [\n\t\t87140,\n\t\t\"highlight/golo\"\n\t],\n\t\"./gradle\": [\n\t\t88267,\n\t\t\"highlight/gradle\"\n\t],\n\t\"./gradle.js\": [\n\t\t88267,\n\t\t\"highlight/gradle\"\n\t],\n\t\"./groovy\": [\n\t\t12175,\n\t\t\"highlight/groovy\"\n\t],\n\t\"./groovy.js\": [\n\t\t12175,\n\t\t\"highlight/groovy\"\n\t],\n\t\"./haml\": [\n\t\t25268,\n\t\t\"highlight/haml\"\n\t],\n\t\"./haml.js\": [\n\t\t25268,\n\t\t\"highlight/haml\"\n\t],\n\t\"./handlebars\": [\n\t\t83512,\n\t\t\"highlight/handlebars\"\n\t],\n\t\"./handlebars.js\": [\n\t\t83512,\n\t\t\"highlight/handlebars\"\n\t],\n\t\"./haskell\": [\n\t\t56703,\n\t\t\"highlight/haskell\"\n\t],\n\t\"./haskell.js\": [\n\t\t56703,\n\t\t\"highlight/haskell\"\n\t],\n\t\"./haxe\": [\n\t\t429,\n\t\t\"highlight/haxe\"\n\t],\n\t\"./haxe.js\": [\n\t\t429,\n\t\t\"highlight/haxe\"\n\t],\n\t\"./hsp\": [\n\t\t90793,\n\t\t\"highlight/hsp\"\n\t],\n\t\"./hsp.js\": [\n\t\t90793,\n\t\t\"highlight/hsp\"\n\t],\n\t\"./htmlbars\": [\n\t\t93202,\n\t\t\"highlight/htmlbars\"\n\t],\n\t\"./htmlbars.js\": [\n\t\t93202,\n\t\t\"highlight/htmlbars\"\n\t],\n\t\"./http\": [\n\t\t30786,\n\t\t\"highlight/http\"\n\t],\n\t\"./http.js\": [\n\t\t30786,\n\t\t\"highlight/http\"\n\t],\n\t\"./hy\": [\n\t\t35359,\n\t\t\"highlight/hy\"\n\t],\n\t\"./hy.js\": [\n\t\t35359,\n\t\t\"highlight/hy\"\n\t],\n\t\"./inform7\": [\n\t\t68968,\n\t\t\"highlight/inform7\"\n\t],\n\t\"./inform7.js\": [\n\t\t68968,\n\t\t\"highlight/inform7\"\n\t],\n\t\"./ini\": [\n\t\t29560,\n\t\t\"highlight/ini\"\n\t],\n\t\"./ini.js\": [\n\t\t29560,\n\t\t\"highlight/ini\"\n\t],\n\t\"./irpf90\": [\n\t\t10811,\n\t\t\"highlight/irpf90\"\n\t],\n\t\"./irpf90.js\": [\n\t\t10811,\n\t\t\"highlight/irpf90\"\n\t],\n\t\"./isbl\": [\n\t\t15044,\n\t\t\"highlight/isbl\"\n\t],\n\t\"./isbl.js\": [\n\t\t15044,\n\t\t\"highlight/isbl\"\n\t],\n\t\"./java\": [\n\t\t37721,\n\t\t\"highlight/java\"\n\t],\n\t\"./java.js\": [\n\t\t37721,\n\t\t\"highlight/java\"\n\t],\n\t\"./javascript\": [\n\t\t96344,\n\t\t\"highlight/javascript\"\n\t],\n\t\"./javascript.js\": [\n\t\t96344,\n\t\t\"highlight/javascript\"\n\t],\n\t\"./jboss-cli\": [\n\t\t40412,\n\t\t\"highlight/jboss-cli\"\n\t],\n\t\"./jboss-cli.js\": [\n\t\t40412,\n\t\t\"highlight/jboss-cli\"\n\t],\n\t\"./json\": [\n\t\t82026,\n\t\t\"highlight/json\"\n\t],\n\t\"./json.js\": [\n\t\t82026,\n\t\t\"highlight/json\"\n\t],\n\t\"./julia\": [\n\t\t47337,\n\t\t\"highlight/julia\"\n\t],\n\t\"./julia-repl\": [\n\t\t79989,\n\t\t\"highlight/julia-repl\"\n\t],\n\t\"./julia-repl.js\": [\n\t\t79989,\n\t\t\"highlight/julia-repl\"\n\t],\n\t\"./julia.js\": [\n\t\t47337,\n\t\t\"highlight/julia\"\n\t],\n\t\"./kotlin\": [\n\t\t48099,\n\t\t\"highlight/kotlin\"\n\t],\n\t\"./kotlin.js\": [\n\t\t48099,\n\t\t\"highlight/kotlin\"\n\t],\n\t\"./lasso\": [\n\t\t54082,\n\t\t\"highlight/lasso\"\n\t],\n\t\"./lasso.js\": [\n\t\t54082,\n\t\t\"highlight/lasso\"\n\t],\n\t\"./latex\": [\n\t\t850,\n\t\t\"highlight/latex\"\n\t],\n\t\"./latex.js\": [\n\t\t850,\n\t\t\"highlight/latex\"\n\t],\n\t\"./ldif\": [\n\t\t33310,\n\t\t\"highlight/ldif\"\n\t],\n\t\"./ldif.js\": [\n\t\t33310,\n\t\t\"highlight/ldif\"\n\t],\n\t\"./leaf\": [\n\t\t2774,\n\t\t\"highlight/leaf\"\n\t],\n\t\"./leaf.js\": [\n\t\t2774,\n\t\t\"highlight/leaf\"\n\t],\n\t\"./less\": [\n\t\t23874,\n\t\t\"highlight/less\"\n\t],\n\t\"./less.js\": [\n\t\t23874,\n\t\t\"highlight/less\"\n\t],\n\t\"./lisp\": [\n\t\t17169,\n\t\t\"highlight/lisp\"\n\t],\n\t\"./lisp.js\": [\n\t\t17169,\n\t\t\"highlight/lisp\"\n\t],\n\t\"./livecodeserver\": [\n\t\t63909,\n\t\t\"highlight/livecodeserver\"\n\t],\n\t\"./livecodeserver.js\": [\n\t\t63909,\n\t\t\"highlight/livecodeserver\"\n\t],\n\t\"./livescript\": [\n\t\t39563,\n\t\t\"highlight/livescript\"\n\t],\n\t\"./livescript.js\": [\n\t\t39563,\n\t\t\"highlight/livescript\"\n\t],\n\t\"./llvm\": [\n\t\t40119,\n\t\t\"highlight/llvm\"\n\t],\n\t\"./llvm.js\": [\n\t\t40119,\n\t\t\"highlight/llvm\"\n\t],\n\t\"./lsl\": [\n\t\t12130,\n\t\t\"highlight/lsl\"\n\t],\n\t\"./lsl.js\": [\n\t\t12130,\n\t\t\"highlight/lsl\"\n\t],\n\t\"./lua\": [\n\t\t31067,\n\t\t\"highlight/lua\"\n\t],\n\t\"./lua.js\": [\n\t\t31067,\n\t\t\"highlight/lua\"\n\t],\n\t\"./makefile\": [\n\t\t30465,\n\t\t\"highlight/makefile\"\n\t],\n\t\"./makefile.js\": [\n\t\t30465,\n\t\t\"highlight/makefile\"\n\t],\n\t\"./markdown\": [\n\t\t93839,\n\t\t\"highlight/markdown\"\n\t],\n\t\"./markdown.js\": [\n\t\t93839,\n\t\t\"highlight/markdown\"\n\t],\n\t\"./mathematica\": [\n\t\t61083,\n\t\t\"highlight/mathematica\"\n\t],\n\t\"./mathematica.js\": [\n\t\t61083,\n\t\t\"highlight/mathematica\"\n\t],\n\t\"./matlab\": [\n\t\t41304,\n\t\t\"highlight/matlab\"\n\t],\n\t\"./matlab.js\": [\n\t\t41304,\n\t\t\"highlight/matlab\"\n\t],\n\t\"./maxima\": [\n\t\t46747,\n\t\t\"highlight/maxima\"\n\t],\n\t\"./maxima.js\": [\n\t\t46747,\n\t\t\"highlight/maxima\"\n\t],\n\t\"./mel\": [\n\t\t70483,\n\t\t\"highlight/mel\"\n\t],\n\t\"./mel.js\": [\n\t\t70483,\n\t\t\"highlight/mel\"\n\t],\n\t\"./mercury\": [\n\t\t53038,\n\t\t\"highlight/mercury\"\n\t],\n\t\"./mercury.js\": [\n\t\t53038,\n\t\t\"highlight/mercury\"\n\t],\n\t\"./mipsasm\": [\n\t\t45802,\n\t\t\"highlight/mipsasm\"\n\t],\n\t\"./mipsasm.js\": [\n\t\t45802,\n\t\t\"highlight/mipsasm\"\n\t],\n\t\"./mizar\": [\n\t\t90918,\n\t\t\"highlight/mizar\"\n\t],\n\t\"./mizar.js\": [\n\t\t90918,\n\t\t\"highlight/mizar\"\n\t],\n\t\"./mojolicious\": [\n\t\t92210,\n\t\t\"highlight/mojolicious\"\n\t],\n\t\"./mojolicious.js\": [\n\t\t92210,\n\t\t\"highlight/mojolicious\"\n\t],\n\t\"./monkey\": [\n\t\t97350,\n\t\t\"highlight/monkey\"\n\t],\n\t\"./monkey.js\": [\n\t\t97350,\n\t\t\"highlight/monkey\"\n\t],\n\t\"./moonscript\": [\n\t\t27239,\n\t\t\"highlight/moonscript\"\n\t],\n\t\"./moonscript.js\": [\n\t\t27239,\n\t\t\"highlight/moonscript\"\n\t],\n\t\"./n1ql\": [\n\t\t77669,\n\t\t\"highlight/n1ql\"\n\t],\n\t\"./n1ql.js\": [\n\t\t77669,\n\t\t\"highlight/n1ql\"\n\t],\n\t\"./nginx\": [\n\t\t42387,\n\t\t\"highlight/nginx\"\n\t],\n\t\"./nginx.js\": [\n\t\t42387,\n\t\t\"highlight/nginx\"\n\t],\n\t\"./nim\": [\n\t\t35587,\n\t\t\"highlight/nim\"\n\t],\n\t\"./nim.js\": [\n\t\t35587,\n\t\t\"highlight/nim\"\n\t],\n\t\"./nix\": [\n\t\t88170,\n\t\t\"highlight/nix\"\n\t],\n\t\"./nix.js\": [\n\t\t88170,\n\t\t\"highlight/nix\"\n\t],\n\t\"./node-repl\": [\n\t\t93668,\n\t\t\"highlight/node-repl\"\n\t],\n\t\"./node-repl.js\": [\n\t\t93668,\n\t\t\"highlight/node-repl\"\n\t],\n\t\"./nsis\": [\n\t\t29269,\n\t\t\"highlight/nsis\"\n\t],\n\t\"./nsis.js\": [\n\t\t29269,\n\t\t\"highlight/nsis\"\n\t],\n\t\"./objectivec\": [\n\t\t61896,\n\t\t\"highlight/objectivec\"\n\t],\n\t\"./objectivec.js\": [\n\t\t61896,\n\t\t\"highlight/objectivec\"\n\t],\n\t\"./ocaml\": [\n\t\t78550,\n\t\t\"highlight/ocaml\"\n\t],\n\t\"./ocaml.js\": [\n\t\t78550,\n\t\t\"highlight/ocaml\"\n\t],\n\t\"./openscad\": [\n\t\t41078,\n\t\t\"highlight/openscad\"\n\t],\n\t\"./openscad.js\": [\n\t\t41078,\n\t\t\"highlight/openscad\"\n\t],\n\t\"./oxygene\": [\n\t\t89015,\n\t\t\"highlight/oxygene\"\n\t],\n\t\"./oxygene.js\": [\n\t\t89015,\n\t\t\"highlight/oxygene\"\n\t],\n\t\"./parser3\": [\n\t\t6247,\n\t\t\"highlight/parser3\"\n\t],\n\t\"./parser3.js\": [\n\t\t6247,\n\t\t\"highlight/parser3\"\n\t],\n\t\"./perl\": [\n\t\t78529,\n\t\t\"highlight/perl\"\n\t],\n\t\"./perl.js\": [\n\t\t78529,\n\t\t\"highlight/perl\"\n\t],\n\t\"./pf\": [\n\t\t15994,\n\t\t\"highlight/pf\"\n\t],\n\t\"./pf.js\": [\n\t\t15994,\n\t\t\"highlight/pf\"\n\t],\n\t\"./pgsql\": [\n\t\t86509,\n\t\t\"highlight/pgsql\"\n\t],\n\t\"./pgsql.js\": [\n\t\t86509,\n\t\t\"highlight/pgsql\"\n\t],\n\t\"./php\": [\n\t\t73306,\n\t\t\"highlight/php\"\n\t],\n\t\"./php-template\": [\n\t\t75377,\n\t\t\"highlight/php-template\"\n\t],\n\t\"./php-template.js\": [\n\t\t75377,\n\t\t\"highlight/php-template\"\n\t],\n\t\"./php.js\": [\n\t\t73306,\n\t\t\"highlight/php\"\n\t],\n\t\"./plaintext\": [\n\t\t76572,\n\t\t\"highlight/plaintext\"\n\t],\n\t\"./plaintext.js\": [\n\t\t76572,\n\t\t\"highlight/plaintext\"\n\t],\n\t\"./pony\": [\n\t\t28422,\n\t\t\"highlight/pony\"\n\t],\n\t\"./pony.js\": [\n\t\t28422,\n\t\t\"highlight/pony\"\n\t],\n\t\"./powershell\": [\n\t\t66336,\n\t\t\"highlight/powershell\"\n\t],\n\t\"./powershell.js\": [\n\t\t66336,\n\t\t\"highlight/powershell\"\n\t],\n\t\"./processing\": [\n\t\t44148,\n\t\t\"highlight/processing\"\n\t],\n\t\"./processing.js\": [\n\t\t44148,\n\t\t\"highlight/processing\"\n\t],\n\t\"./profile\": [\n\t\t9129,\n\t\t\"highlight/profile\"\n\t],\n\t\"./profile.js\": [\n\t\t9129,\n\t\t\"highlight/profile\"\n\t],\n\t\"./prolog\": [\n\t\t58074,\n\t\t\"highlight/prolog\"\n\t],\n\t\"./prolog.js\": [\n\t\t58074,\n\t\t\"highlight/prolog\"\n\t],\n\t\"./properties\": [\n\t\t81245,\n\t\t\"highlight/properties\"\n\t],\n\t\"./properties.js\": [\n\t\t81245,\n\t\t\"highlight/properties\"\n\t],\n\t\"./protobuf\": [\n\t\t3306,\n\t\t\"highlight/protobuf\"\n\t],\n\t\"./protobuf.js\": [\n\t\t3306,\n\t\t\"highlight/protobuf\"\n\t],\n\t\"./puppet\": [\n\t\t73736,\n\t\t\"highlight/puppet\"\n\t],\n\t\"./puppet.js\": [\n\t\t73736,\n\t\t\"highlight/puppet\"\n\t],\n\t\"./purebasic\": [\n\t\t34055,\n\t\t\"highlight/purebasic\"\n\t],\n\t\"./purebasic.js\": [\n\t\t34055,\n\t\t\"highlight/purebasic\"\n\t],\n\t\"./python\": [\n\t\t30308,\n\t\t\"highlight/python\"\n\t],\n\t\"./python-repl\": [\n\t\t93725,\n\t\t\"highlight/python-repl\"\n\t],\n\t\"./python-repl.js\": [\n\t\t93725,\n\t\t\"highlight/python-repl\"\n\t],\n\t\"./python.js\": [\n\t\t30308,\n\t\t\"highlight/python\"\n\t],\n\t\"./q\": [\n\t\t76891,\n\t\t\"highlight/q\"\n\t],\n\t\"./q.js\": [\n\t\t76891,\n\t\t\"highlight/q\"\n\t],\n\t\"./qml\": [\n\t\t63259,\n\t\t\"highlight/qml\"\n\t],\n\t\"./qml.js\": [\n\t\t63259,\n\t\t\"highlight/qml\"\n\t],\n\t\"./r\": [\n\t\t30806,\n\t\t\"highlight/r\"\n\t],\n\t\"./r.js\": [\n\t\t30806,\n\t\t\"highlight/r\"\n\t],\n\t\"./reasonml\": [\n\t\t82050,\n\t\t\"highlight/reasonml\"\n\t],\n\t\"./reasonml.js\": [\n\t\t82050,\n\t\t\"highlight/reasonml\"\n\t],\n\t\"./rib\": [\n\t\t44613,\n\t\t\"highlight/rib\"\n\t],\n\t\"./rib.js\": [\n\t\t44613,\n\t\t\"highlight/rib\"\n\t],\n\t\"./roboconf\": [\n\t\t33176,\n\t\t\"highlight/roboconf\"\n\t],\n\t\"./roboconf.js\": [\n\t\t33176,\n\t\t\"highlight/roboconf\"\n\t],\n\t\"./routeros\": [\n\t\t25096,\n\t\t\"highlight/routeros\"\n\t],\n\t\"./routeros.js\": [\n\t\t25096,\n\t\t\"highlight/routeros\"\n\t],\n\t\"./rsl\": [\n\t\t61025,\n\t\t\"highlight/rsl\"\n\t],\n\t\"./rsl.js\": [\n\t\t61025,\n\t\t\"highlight/rsl\"\n\t],\n\t\"./ruby\": [\n\t\t58473,\n\t\t\"highlight/ruby\"\n\t],\n\t\"./ruby.js\": [\n\t\t58473,\n\t\t\"highlight/ruby\"\n\t],\n\t\"./ruleslanguage\": [\n\t\t65506,\n\t\t\"highlight/ruleslanguage\"\n\t],\n\t\"./ruleslanguage.js\": [\n\t\t65506,\n\t\t\"highlight/ruleslanguage\"\n\t],\n\t\"./rust\": [\n\t\t11374,\n\t\t\"highlight/rust\"\n\t],\n\t\"./rust.js\": [\n\t\t11374,\n\t\t\"highlight/rust\"\n\t],\n\t\"./sas\": [\n\t\t35457,\n\t\t\"highlight/sas\"\n\t],\n\t\"./sas.js\": [\n\t\t35457,\n\t\t\"highlight/sas\"\n\t],\n\t\"./scala\": [\n\t\t5818,\n\t\t\"highlight/scala\"\n\t],\n\t\"./scala.js\": [\n\t\t5818,\n\t\t\"highlight/scala\"\n\t],\n\t\"./scheme\": [\n\t\t10336,\n\t\t\"highlight/scheme\"\n\t],\n\t\"./scheme.js\": [\n\t\t10336,\n\t\t\"highlight/scheme\"\n\t],\n\t\"./scilab\": [\n\t\t47691,\n\t\t\"highlight/scilab\"\n\t],\n\t\"./scilab.js\": [\n\t\t47691,\n\t\t\"highlight/scilab\"\n\t],\n\t\"./scss\": [\n\t\t36632,\n\t\t\"highlight/scss\"\n\t],\n\t\"./scss.js\": [\n\t\t36632,\n\t\t\"highlight/scss\"\n\t],\n\t\"./shell\": [\n\t\t19514,\n\t\t\"highlight/shell\"\n\t],\n\t\"./shell.js\": [\n\t\t19514,\n\t\t\"highlight/shell\"\n\t],\n\t\"./smali\": [\n\t\t60522,\n\t\t\"highlight/smali\"\n\t],\n\t\"./smali.js\": [\n\t\t60522,\n\t\t\"highlight/smali\"\n\t],\n\t\"./smalltalk\": [\n\t\t75030,\n\t\t\"highlight/smalltalk\"\n\t],\n\t\"./smalltalk.js\": [\n\t\t75030,\n\t\t\"highlight/smalltalk\"\n\t],\n\t\"./sml\": [\n\t\t79664,\n\t\t\"highlight/sml\"\n\t],\n\t\"./sml.js\": [\n\t\t79664,\n\t\t\"highlight/sml\"\n\t],\n\t\"./sqf\": [\n\t\t85168,\n\t\t\"highlight/sqf\"\n\t],\n\t\"./sqf.js\": [\n\t\t85168,\n\t\t\"highlight/sqf\"\n\t],\n\t\"./sql\": [\n\t\t97181,\n\t\t\"highlight/sql\"\n\t],\n\t\"./sql.js\": [\n\t\t97181,\n\t\t\"highlight/sql\"\n\t],\n\t\"./sql_more\": [\n\t\t83224,\n\t\t\"highlight/sql_more\"\n\t],\n\t\"./sql_more.js\": [\n\t\t83224,\n\t\t\"highlight/sql_more\"\n\t],\n\t\"./stan\": [\n\t\t53413,\n\t\t\"highlight/stan\"\n\t],\n\t\"./stan.js\": [\n\t\t53413,\n\t\t\"highlight/stan\"\n\t],\n\t\"./stata\": [\n\t\t92417,\n\t\t\"highlight/stata\"\n\t],\n\t\"./stata.js\": [\n\t\t92417,\n\t\t\"highlight/stata\"\n\t],\n\t\"./step21\": [\n\t\t52706,\n\t\t\"highlight/step21\"\n\t],\n\t\"./step21.js\": [\n\t\t52706,\n\t\t\"highlight/step21\"\n\t],\n\t\"./stylus\": [\n\t\t82054,\n\t\t\"highlight/stylus\"\n\t],\n\t\"./stylus.js\": [\n\t\t82054,\n\t\t\"highlight/stylus\"\n\t],\n\t\"./subunit\": [\n\t\t36886,\n\t\t\"highlight/subunit\"\n\t],\n\t\"./subunit.js\": [\n\t\t36886,\n\t\t\"highlight/subunit\"\n\t],\n\t\"./swift\": [\n\t\t26306,\n\t\t\"highlight/swift\"\n\t],\n\t\"./swift.js\": [\n\t\t26306,\n\t\t\"highlight/swift\"\n\t],\n\t\"./taggerscript\": [\n\t\t54858,\n\t\t\"highlight/taggerscript\"\n\t],\n\t\"./taggerscript.js\": [\n\t\t54858,\n\t\t\"highlight/taggerscript\"\n\t],\n\t\"./tap\": [\n\t\t49113,\n\t\t\"highlight/tap\"\n\t],\n\t\"./tap.js\": [\n\t\t49113,\n\t\t\"highlight/tap\"\n\t],\n\t\"./tcl\": [\n\t\t74562,\n\t\t\"highlight/tcl\"\n\t],\n\t\"./tcl.js\": [\n\t\t74562,\n\t\t\"highlight/tcl\"\n\t],\n\t\"./thrift\": [\n\t\t55063,\n\t\t\"highlight/thrift\"\n\t],\n\t\"./thrift.js\": [\n\t\t55063,\n\t\t\"highlight/thrift\"\n\t],\n\t\"./tp\": [\n\t\t27092,\n\t\t\"highlight/tp\"\n\t],\n\t\"./tp.js\": [\n\t\t27092,\n\t\t\"highlight/tp\"\n\t],\n\t\"./twig\": [\n\t\t35488,\n\t\t\"highlight/twig\"\n\t],\n\t\"./twig.js\": [\n\t\t35488,\n\t\t\"highlight/twig\"\n\t],\n\t\"./typescript\": [\n\t\t91533,\n\t\t\"highlight/typescript\"\n\t],\n\t\"./typescript.js\": [\n\t\t91533,\n\t\t\"highlight/typescript\"\n\t],\n\t\"./vala\": [\n\t\t65431,\n\t\t\"highlight/vala\"\n\t],\n\t\"./vala.js\": [\n\t\t65431,\n\t\t\"highlight/vala\"\n\t],\n\t\"./vbnet\": [\n\t\t86479,\n\t\t\"highlight/vbnet\"\n\t],\n\t\"./vbnet.js\": [\n\t\t86479,\n\t\t\"highlight/vbnet\"\n\t],\n\t\"./vbscript\": [\n\t\t80824,\n\t\t\"highlight/vbscript\"\n\t],\n\t\"./vbscript-html\": [\n\t\t3316,\n\t\t\"highlight/vbscript-html\"\n\t],\n\t\"./vbscript-html.js\": [\n\t\t3316,\n\t\t\"highlight/vbscript-html\"\n\t],\n\t\"./vbscript.js\": [\n\t\t80824,\n\t\t\"highlight/vbscript\"\n\t],\n\t\"./verilog\": [\n\t\t49115,\n\t\t\"highlight/verilog\"\n\t],\n\t\"./verilog.js\": [\n\t\t49115,\n\t\t\"highlight/verilog\"\n\t],\n\t\"./vhdl\": [\n\t\t53260,\n\t\t\"highlight/vhdl\"\n\t],\n\t\"./vhdl.js\": [\n\t\t53260,\n\t\t\"highlight/vhdl\"\n\t],\n\t\"./vim\": [\n\t\t5298,\n\t\t\"highlight/vim\"\n\t],\n\t\"./vim.js\": [\n\t\t5298,\n\t\t\"highlight/vim\"\n\t],\n\t\"./x86asm\": [\n\t\t43377,\n\t\t\"highlight/x86asm\"\n\t],\n\t\"./x86asm.js\": [\n\t\t43377,\n\t\t\"highlight/x86asm\"\n\t],\n\t\"./xl\": [\n\t\t731,\n\t\t\"highlight/xl\"\n\t],\n\t\"./xl.js\": [\n\t\t731,\n\t\t\"highlight/xl\"\n\t],\n\t\"./xml\": [\n\t\t42157,\n\t\t\"highlight/xml\"\n\t],\n\t\"./xml.js\": [\n\t\t42157,\n\t\t\"highlight/xml\"\n\t],\n\t\"./xquery\": [\n\t\t46629,\n\t\t\"highlight/xquery\"\n\t],\n\t\"./xquery.js\": [\n\t\t46629,\n\t\t\"highlight/xquery\"\n\t],\n\t\"./yaml\": [\n\t\t54587,\n\t\t\"highlight/yaml\"\n\t],\n\t\"./yaml.js\": [\n\t\t54587,\n\t\t\"highlight/yaml\"\n\t],\n\t\"./zephir\": [\n\t\t58737,\n\t\t\"highlight/zephir\"\n\t],\n\t\"./zephir.js\": [\n\t\t58737,\n\t\t\"highlight/zephir\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 23506;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CollisionResolveDialog.vue?vue&type=template&id=4a5d4c0f&scoped=true&\"\nimport script from \"./CollisionResolveDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./CollisionResolveDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a5d4c0f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"collision-resolve-dialog\",attrs:{\"id\":\"resolve-conflicts\"}},[_c('button',{on:{\"click\":function($event){return _vm.$emit('resolve-use-this-version')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Use current version'))+\"\\n\\t\")]),_vm._v(\" \"),_c('button',{on:{\"click\":function($event){return _vm.$emit('resolve-use-server-version')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Use the saved version'))+\"\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-editor\",attrs:{\"id\":\"editor-container\",\"data-text-el\":\"editor-container\"}},[(_vm.displayed)?_c('div',{staticClass:\"document-status\"},[(_vm.idle)?_c('p',{staticClass:\"msg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'Document idle for {timeout} minutes, click to continue editing', { timeout: _vm.IDLE_TIMEOUT }))+\" \"),_c('a',{staticClass:\"button primary\",on:{\"click\":_vm.reconnect}},[_vm._v(_vm._s(_vm.t('text', 'Reconnect')))])]):(_vm.hasSyncCollission)?_c('p',{staticClass:\"msg icon-error\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'The document has been changed outside of the editor. The changes cannot be applied.'))+\"\\n\\t\\t\")]):(_vm.hasConnectionIssue)?_c('p',{staticClass:\"msg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'File could not be loaded. Please check your internet connection.'))+\" \"),_c('a',{staticClass:\"button primary\",on:{\"click\":_vm.reconnect}},[_vm._v(_vm._s(_vm.t('text', 'Reconnect')))])]):_vm._e(),_vm._v(\" \"),(_vm.lock)?_c('p',{staticClass:\"msg msg-locked\"},[_c('Lock'),_vm._v(\" \"+_vm._s(_vm.t('text', 'This file is opened read-only as it is currently locked by {user}.', { user: _vm.lock.displayName }))+\"\\n\\t\\t\")],1):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.displayed)?_c('div',{staticClass:\"text-editor__wrapper\",class:{\n\t\t\t'has-conflicts': _vm.hasSyncCollission,\n\t\t\t'icon-loading': !_vm.contentLoaded && !_vm.hasConnectionIssue,\n\t\t\t'is-rich-workspace': _vm.isRichWorkspace,\n\t\t\t'is-rich-editor': _vm.isRichEditor,\n\t\t\t'show-color-annotations': _vm.showAuthorAnnotations\n\t\t},attrs:{\"id\":\"editor-wrapper\"}},[(_vm.$editor)?_c('EditorMidiaHandler',{staticClass:\"text-editor__main\",attrs:{\"id\":\"editor\"}},[(_vm.renderMenus)?_c('MenuBar',{ref:\"menubar\",attrs:{\"autohide\":_vm.autohide,\"loaded\":_vm.menubarLoaded},on:{\"update:loaded\":function($event){_vm.menubarLoaded=$event}}},[_c('div',{staticClass:\"text-editor__session-list\"},[(_vm.isMobile)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.lastSavedStatusTooltip),expression:\"lastSavedStatusTooltip\"}],class:_vm.saveStatusClass}):_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.lastSavedStatusTooltip),expression:\"lastSavedStatusTooltip\"}],staticClass:\"save-status\",class:_vm.lastSavedStatusClass,attrs:{\"aria-label\":_vm.t('text', 'Document save status')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.lastSavedStatus)+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('SessionList',{attrs:{\"sessions\":_vm.filteredSessions}},[_c('p',{staticClass:\"last-saved\",attrs:{\"slot\":\"lastSaved\"},slot:\"lastSaved\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Last saved'))+\": \"+_vm._s(_vm.lastSavedString)+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPublic && !_vm.currentSession.userId)?_c('GuestNameDialog',{attrs:{\"session\":_vm.currentSession}}):_vm._e()],1)],1),_vm._v(\" \"),_vm._t(\"header\")],2):_vm._e(),_vm._v(\" \"),(!_vm.menubarLoaded)?_c('div',{staticClass:\"menubar-placeholder\"}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"contentWrapper\",staticClass:\"content-wrapper text-editor__content-wrapper\",attrs:{\"data-text-el\":\"editor-content-wrapper\"}},[(_vm.renderMenus)?_c('MenuBubble',{attrs:{\"content-wrapper\":_vm.contentWrapper,\"file-path\":_vm.relativePath}}):_vm._e(),_vm._v(\" \"),_c('EditorContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.contentLoaded),expression:\"contentLoaded\"}],staticClass:\"editor__content text-editor__content\",attrs:{\"tabindex\":\"0\",\"role\":\"document\",\"editor\":_vm.$editor}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.hasSyncCollission)?_c('Reader',{attrs:{\"content\":_vm.syncError.data.outsideChange,\"is-rich-editor\":_vm.isRichEditor}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasSyncCollission && !_vm.readOnly)?_c('CollisionResolveDialog',{on:{\"resolve-use-this-version\":_vm.resolveUseThisVersion,\"resolve-use-server-version\":_vm.resolveUseServerVersion}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport axios from '@nextcloud/axios'\nimport { endpointUrl } from '../helpers/index.js'\nimport { SyncService, ERROR_TYPE } from './SyncService.js'\nimport { sendableSteps } from 'prosemirror-collab'\n\n/**\n * Minimum inverval to refetch the document changes\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL = 300\n\n/**\n * Maximum interval between refetches of document state if multiple users have joined\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_MAX = 5000\n\n/**\n * Interval to check for changes when there is only one user joined\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_SINGLE_EDITOR = 5000\n\n/**\n * Interval to fetch for changes when a browser window is considered invisible by the\n * page visibility API https://developer.mozilla.org/de/docs/Web/API/Page_Visibility_API\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_INVISIBLE = 60000\n\nconst MIN_PUSH_RETRY = 500\nconst MAX_PUSH_RETRY = 10000\n\n/* Timeout after that a PUSH_FAILURE error is emitted */\nconst WARNING_PUSH_RETRY = 5000\n\n/* Maximum number of retries for fetching before emitting a connection error */\nconst MAX_RETRY_FETCH_COUNT = 5\n\n/**\n * Timeout for sessions to be marked as disconnected\n * Make sure that this is higher than any FETCH_INTERVAL_ values\n */\nconst COLLABORATOR_DISCONNECT_TIME = FETCH_INTERVAL_INVISIBLE * 1.5\n\nclass PollingBackend {\n\n\tconstructor(authority) {\n\t\t/** @type {SyncService} */\n\t\tthis._authority = authority\n\t\tthis.fetchInterval = FETCH_INTERVAL\n\t\tthis.retryTime = MIN_PUSH_RETRY\n\t\tthis.lock = false\n\t\tthis.fetchRetryCounter = 0\n\t}\n\n\tconnect() {\n\t\tthis.initialLoadingFinished = false\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), 50)\n\t\tdocument.addEventListener('visibilitychange', this.visibilitychange.bind(this))\n\t}\n\n\t_isPublic() {\n\t\treturn !!this._authority.options.shareToken\n\t}\n\n\tforceSave() {\n\t\tthis._forcedSave = true\n\t\tthis.fetchSteps()\n\t}\n\n\tsave() {\n\t\tthis._manualSave = true\n\t\tthis.fetchSteps()\n\t}\n\n\tfetchSteps() {\n\t\tthis._fetchSteps()\n\t}\n\n\t/**\n\t * This method is only called though the timer\n\t */\n\t_fetchSteps() {\n\t\tif (this.lock || !this.fetcher) {\n\t\t\treturn\n\t\t}\n\t\tthis.lock = true\n\t\tlet autosaveContent\n\t\tif (this._forcedSave || this._manualSave\n\t\t\t|| (!sendableSteps(this._authority.state)\n\t\t\t&& (this._authority._getVersion() !== this._authority.document.lastSavedVersion))\n\t\t) {\n\t\t\tautosaveContent = this._authority._getContent()\n\t\t}\n\t\taxios.post(endpointUrl('session/sync', this._isPublic()), {\n\t\t\tdocumentId: this._authority.document.id,\n\t\t\tsessionId: this._authority.session.id,\n\t\t\tsessionToken: this._authority.session.token,\n\t\t\tversion: this._authority._getVersion(),\n\t\t\tautosaveContent,\n\t\t\tforce: !!this._forcedSave,\n\t\t\tmanualSave: !!this._manualSave,\n\t\t\ttoken: this._authority.options.shareToken,\n\t\t\tfilePath: this._authority.options.filePath,\n\t\t}).then(this._handleResponse.bind(this), this._handleError.bind(this))\n\t\tthis._manualSave = false\n\t\tthis._forcedSave = false\n\t}\n\n\t_handleResponse(response) {\n\t\tthis.fetchRetryCounter = 0\n\n\t\tif (this._authority.document.lastSavedVersion < response.data.document.lastSavedVersion) {\n\t\t\tconsole.debug('Saved document', response.data.document)\n\t\t\tthis._authority.emit('save', { document: response.data.document, sessions: response.data.sessions })\n\t\t}\n\n\t\tthis._authority.emit('change', { document: response.data.document, sessions: response.data.sessions })\n\t\tthis._authority.document = response.data.document\n\t\tthis._authority.sessions = response.data.sessions\n\n\t\tif (response.data.steps.length === 0) {\n\t\t\tif (!this.initialLoadingFinished) {\n\t\t\t\tthis.initialLoadingFinished = true\n\t\t\t}\n\t\t\tif (this._authority.checkIdle()) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.lock = false\n\t\t\tif (response.data.sessions.filter((session) => session.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME).length < 2) {\n\t\t\t\tthis.maximumRefetchTimer()\n\t\t\t} else {\n\t\t\t\tthis.increaseRefetchTimer()\n\t\t\t}\n\t\t\tthis._authority.emit('stateChange', { dirty: false })\n\t\t\tthis._authority.emit('stateChange', { initialLoading: true })\n\t\t\treturn\n\t\t}\n\n\t\tthis._authority._receiveSteps(response.data)\n\t\tthis.lock = false\n\t\tthis._forcedSave = false\n\t\tif (this.initialLoadingFinished) {\n\t\t\tthis.resetRefetchTimer()\n\t\t}\n\t}\n\n\t_handleError(e) {\n\t\tthis.lock = false\n\t\tif (!e.response || e.code === 'ECONNABORTED') {\n\t\t\tif (this.fetchRetryCounter++ >= MAX_RETRY_FETCH_COUNT) {\n\t\t\t\tconsole.error('[PollingBackend:fetchSteps] Network error when fetching steps, emitting CONNECTION_FAILED')\n\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\n\t\t\t} else {\n\t\t\t\tconsole.error(`[PollingBackend:fetchSteps] Network error when fetching steps, retry ${this.fetchRetryCounter}`)\n\t\t\t}\n\t\t} else if (e.response.status === 409 && e.response.data.document.currentVersion === this._authority.document.currentVersion) {\n\t\t\t// Only emit conflict event if we have synced until the latest version\n\t\t\tconsole.error('Conflict during file save, please resolve')\n\t\t\tthis._authority.emit('error', {\n\t\t\t\ttype: ERROR_TYPE.SAVE_COLLISSION,\n\t\t\t\tdata: {\n\t\t\t\t\toutsideChange: e.response.data.outsideChange,\n\t\t\t\t},\n\t\t\t})\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 403) {\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.SOURCE_NOT_FOUND, data: {} })\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 404) {\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.SOURCE_NOT_FOUND, data: {} })\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 503) {\n\t\t\tthis.increaseRefetchTimer()\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\t\t\tconsole.error('Failed to fetch steps due to unavailable service', e)\n\t\t} else {\n\t\t\tthis.disconnect()\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\t\t\tconsole.error('Failed to fetch steps due to other reason', e)\n\t\t}\n\n\t}\n\n\tsendSteps(_sendable) {\n\t\tthis._authority.emit('stateChange', { dirty: true })\n\t\tif (this.lock) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._authority.sendSteps()\n\t\t\t}, 100)\n\t\t\treturn\n\t\t}\n\t\tthis.lock = true\n\t\tconst sendable = (typeof _sendable === 'function') ? _sendable() : _sendable\n\t\tconst steps = sendable.steps\n\t\taxios.post(endpointUrl('session/push', !!this._authority.options.shareToken), {\n\t\t\tdocumentId: this._authority.document.id,\n\t\t\tsessionId: this._authority.session.id,\n\t\t\tsessionToken: this._authority.session.token,\n\t\t\tsteps: steps.map(s => s.toJSON ? s.toJSON() : s) || [],\n\t\t\tversion: sendable.version,\n\t\t\ttoken: this._authority.options.shareToken,\n\t\t\tfilePath: this._authority.options.filePath,\n\t\t}).then((response) => {\n\t\t\tthis.carefulRetryReset()\n\t\t\tthis.lock = false\n\t\t\tthis.fetchSteps()\n\t\t}).catch(({ response, code }) => {\n\t\t\tconsole.error('failed to apply steps due to collission, retrying')\n\t\t\tthis.lock = false\n\t\t\tif (!response || code === 'ECONNABORTED') {\n\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: {} })\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst { status, data } = response\n\t\t\tif (status === 403) {\n\t\t\t\tif (!data.document) {\n\t\t\t\t\t// either the session is invalid or the document is read only.\n\t\t\t\t\tconsole.error('failed to write to document - not allowed')\n\t\t\t\t}\n\t\t\t\t// Only emit conflict event if we have synced until the latest version\n\t\t\t\tif (data.document?.currentVersion === this._authority.document.currentVersion) {\n\t\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.PUSH_FAILURE, data: {} })\n\t\t\t\t\tOC.Notification.showTemporary('Changes could not be sent yet')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.fetchSteps()\n\t\t\tthis.carefulRetry()\n\t\t})\n\t}\n\n\tdisconnect() {\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = 0\n\t\tdocument.removeEventListener('visibilitychange', this.visibilitychange.bind(this))\n\t}\n\n\tresetRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = FETCH_INTERVAL\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\n\t}\n\n\tincreaseRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = Math.min(this.fetchInterval * 2, FETCH_INTERVAL_MAX)\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t}\n\n\tmaximumRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = FETCH_INTERVAL_SINGLE_EDITOR\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t}\n\n\tvisibilitychange() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tif (document.visibilityState === 'hidden') {\n\t\t\tthis.fetchInterval = FETCH_INTERVAL_INVISIBLE\n\t\t\tclearInterval(this.fetcher)\n\t\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t\t} else {\n\t\t\tthis.resetRefetchTimer()\n\t\t}\n\t}\n\n\tcarefulRetry() {\n\t\tconst newRetry = this.retryTime ? Math.min(this.retryTime * 2, MAX_PUSH_RETRY) : MIN_PUSH_RETRY\n\t\tif (newRetry > WARNING_PUSH_RETRY && this.retryTime < WARNING_PUSH_RETRY) {\n\t\t\tOC.Notification.showTemporary('Changes could not be sent yet')\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.PUSH_FAILURE, data: {} })\n\t\t}\n\t\tthis.retryTime = newRetry\n\t}\n\n\tcarefulRetryReset() {\n\t\tthis.retryTime = MIN_PUSH_RETRY\n\t}\n\n}\n\nexport default PollingBackend\n","/* eslint-disable jsdoc/valid-types */\n/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport axios from '@nextcloud/axios'\n\nimport PollingBackend from './PollingBackend.js'\nimport { endpointUrl } from './../helpers/index.js'\nimport { getVersion, sendableSteps } from 'prosemirror-collab'\nimport mitt from 'mitt'\n\nconst defaultOptions = {\n\tshareToken: null,\n\tforceRecreate: false,\n\tserialize: (document) => document,\n}\n\n/**\n * Timeout after which the editor will consider a document without changes being synced as idle\n * The session will be terminated and the document will stay open in read-only mode with a button to reconnect if needed\n *\n * @type {number}\n */\nconst IDLE_TIMEOUT = 30\n\nconst ERROR_TYPE = {\n\t/**\n\t * Failed to save collaborative document due to external change\n\t * collission needs to be resolved manually\n\t */\n\tSAVE_COLLISSION: 0,\n\t/**\n\t * Failed to push changes for MAX_REBASE_RETRY times\n\t */\n\tPUSH_FAILURE: 1,\n\n\tLOAD_ERROR: 2,\n\n\tCONNECTION_FAILED: 3,\n\n\tSOURCE_NOT_FOUND: 4,\n}\n\nclass SyncService {\n\n\tconstructor(options) {\n\t\t/** @type {import('mitt').Emitter} _bus */\n\t\tthis._bus = mitt()\n\n\t\tthis.backend = new PollingBackend(this)\n\n\t\tthis.options = Object.assign({}, defaultOptions, options)\n\n\t\tthis.document = null\n\t\tthis.session = null\n\t\tthis.sessions = []\n\n\t\tthis.steps = []\n\t\tthis.stepClientIDs = []\n\n\t\tthis.lastStepPush = Date.now()\n\n\t\tthis.lock = null\n\n\t\treturn this\n\t}\n\n\tasync open({ fileId, filePath, initialSession }) {\n\t\tconst connectionData = initialSession\n\t\t\t|| await this._openDocument({ fileId, filePath })\n\t\tthis.document = connectionData.document\n\t\tthis.document.readOnly = connectionData.readOnly\n\t\tthis.session = connectionData.session\n\t\tthis.lock = connectionData.lock\n\t\tthis.emit('opened', {\n\t\t\tdocument: this.document,\n\t\t\tsession: this.session,\n\t\t})\n\t\tconst content = connectionData.content\n\t\t\t|| await this._fetchDocument()\n\t\tthis.emit('loaded', {\n\t\t\tdocument: this.document,\n\t\t\tsession: this.session,\n\t\t\tdocumentSource: '' + content,\n\t\t})\n\t}\n\n\tstartSync() {\n\t\tthis.backend.connect()\n\t}\n\n\t_openDocument({ fileId, filePath }) {\n\t\treturn axios.put(endpointUrl('session/create', !!this.options.shareToken), {\n\t\t\tfileId,\n\t\t\tfilePath,\n\t\t\ttoken: this.options.shareToken,\n\t\t\tguestName: this.options.guestName,\n\t\t\tforceRecreate: this.options.forceRecreate,\n\t\t})\n\t\t\t.then(response => response.data, error => {\n\t\t\t\tif (!error.response || error.code === 'ECONNABORTED') {\n\t\t\t\t\tthis.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: {} })\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit('error', { type: ERROR_TYPE.LOAD_ERROR, data: error.response.status })\n\t\t\t\t}\n\t\t\t\tthrow error\n\t\t\t})\n\t}\n\n\t_fetchDocument() {\n\t\treturn axios.post(\n\t\t\tendpointUrl('session/fetch', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t}, {\n\t\t\t\t// Axios normally tries to parse string responses as json.\n\t\t\t\t// Just return the plain content here.\n\t\t\t\ttransformResponse: [(data) => data],\n\t\t\t}\n\t\t).then(response => response.data)\n\t}\n\n\tupdateSession(guestName) {\n\t\tif (!this.isPublic()) {\n\t\t\treturn\n\t\t}\n\t\treturn axios.post(\n\t\t\tendpointUrl('session', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t\tguestName,\n\t\t\t}\n\t\t).then(({ data }) => {\n\t\t\tthis.session = data\n\t\t\treturn data\n\t\t}).catch((error) => {\n\t\t\tconsole.error('Failed to update the session', error)\n\t\t\treturn Promise.reject(error)\n\t\t})\n\t}\n\n\tsendSteps(_sendable) {\n\t\tconst sendable = _sendable || sendableSteps(this.state)\n\t\tif (!sendable) {\n\t\t\treturn\n\t\t}\n\t\treturn this.backend.sendSteps(sendable)\n\t}\n\n\tstepsSince(version) {\n\t\treturn {\n\t\t\tsteps: this.steps.slice(version),\n\t\t\tclientIDs: this.stepClientIDs.slice(version),\n\t\t}\n\t}\n\n\t_receiveSteps({ steps, document }) {\n\t\tconst newSteps = []\n\t\tfor (let i = 0; i < steps.length; i++) {\n\t\t\tconst singleSteps = steps[i].data\n\t\t\tif (!Array.isArray(singleSteps)) {\n\t\t\t\tconsole.error('Invalid step data, skipping step', steps[i])\n\t\t\t\t// TODO: recover\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsingleSteps.forEach(step => {\n\t\t\t\tthis.steps.push(step)\n\t\t\t\tnewSteps.push({\n\t\t\t\t\tstep,\n\t\t\t\t\tclientID: steps[i].sessionId,\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\tthis.lastStepPush = Date.now()\n\t\tthis.emit('sync', { steps: newSteps, document })\n\t\tconsole.debug('receivedSteps', 'newVersion', this._getVersion())\n\t}\n\n\tcheckIdle() {\n\t\tconst lastPushMinutesAgo = (Date.now() - this.lastStepPush) / 1000 / 60\n\t\tif (lastPushMinutesAgo > IDLE_TIMEOUT) {\n\t\t\tconsole.debug(`[SyncService] Document is idle for ${this.IDLE_TIMEOUT} minutes, suspending connection`)\n\t\t\tthis.emit('idle')\n\t\t}\n\t}\n\n\t_getVersion() {\n\t\tif (this.state) {\n\t\t\treturn getVersion(this.state)\n\t\t}\n\t\treturn 0\n\t}\n\n\t_getDocument() {\n\t\tif (this.state) {\n\t\t\treturn this.state.doc\n\t\t}\n\t}\n\n\t_getContent() {\n\t\treturn this.options.serialize(this._getDocument())\n\t}\n\n\tsave() {\n\t\tif (this.backend.save) {\n\t\t\tthis.backend.save()\n\t\t}\n\t}\n\n\tforceSave() {\n\t\tif (this.backend.forceSave) {\n\t\t\tthis.backend.forceSave()\n\t\t}\n\t}\n\n\tclose() {\n\t\tlet closed = false\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.on('save', () => {\n\t\t\t\tthis._close().then(() => {\n\t\t\t\t\tclosed = true\n\t\t\t\t\tresolve()\n\t\t\t\t}).catch(() => resolve())\n\t\t\t})\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!closed) {\n\t\t\t\t\tthis._close().then(() => {\n\t\t\t\t\t\tresolve()\n\t\t\t\t\t}).catch(() => resolve())\n\t\t\t\t}\n\t\t\t}, 2000)\n\t\t\tthis.save()\n\t\t})\n\t}\n\n\t_close() {\n\t\tif (this.document === null || this.session === null) {\n\t\t\treturn Promise.resolve()\n\t\t}\n\t\tthis.backend.disconnect()\n\t\treturn axios.post(\n\t\t\tendpointUrl('session/close', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t})\n\t}\n\n\tuploadImage(image) {\n\t\tconst formData = new FormData()\n\t\tformData.append('image', image)\n\t\tformData.append('documentId', this.document.id)\n\t\tformData.append('sessionId', this.session.id)\n\t\tformData.append('sessionToken', this.session.token)\n\t\tformData.append('shareToken', this.options.shareToken || '')\n\t\tconst url = endpointUrl('image/upload')\n\t\treturn axios.post(url, formData, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'multipart/form-data',\n\t\t\t},\n\t\t})\n\t}\n\n\tinsertImageLink(imageLink) {\n\t\tconst params = {\n\t\t\tdocumentId: this.document.id,\n\t\t\tsessionId: this.session.id,\n\t\t\tsessionToken: this.session.token,\n\t\t\tshareToken: this.options.shareToken || '',\n\t\t\tlink: imageLink,\n\t\t}\n\t\tconst url = endpointUrl('image/link')\n\t\treturn axios.post(url, params)\n\t}\n\n\tinsertImageFile(imagePath) {\n\t\tconst params = {\n\t\t\tdocumentId: this.document.id,\n\t\t\tsessionId: this.session.id,\n\t\t\tsessionToken: this.session.token,\n\t\t\timagePath,\n\t\t}\n\t\tconst url = endpointUrl('image/filepath')\n\t\treturn axios.post(url, params)\n\t}\n\n\ton(event, callback) {\n\t\tthis._bus.on(event, callback)\n\t\treturn this\n\t}\n\n\toff(event, callback) {\n\t\tthis._bus.off(event, callback)\n\t\treturn this\n\t}\n\n\temit(event, data) {\n\t\tthis._bus.emit(event, data)\n\t}\n\n\tisPublic() {\n\t\treturn !!this.options.shareToken\n\t}\n\n}\n\nexport default SyncService\nexport { SyncService, ERROR_TYPE, IDLE_TIMEOUT }\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateUrl, generateRemoteUrl } from '@nextcloud/router'\nimport pathNormalize from 'path-normalize'\n\nexport default class ImageResolver {\n\n\t#session\n\t#user\n\t#shareToken\n\t#currentDirectory\n\t#attachmentDirectory\n\n\tconstructor({ session, user, shareToken, currentDirectory, fileId }) {\n\t\tthis.#session = session\n\t\tthis.#user = user\n\t\tthis.#shareToken = shareToken\n\t\tthis.#currentDirectory = currentDirectory\n\t\tfileId ||= session?.documentId\n\t\tthis.#attachmentDirectory = `.attachments.${fileId}`\n\t}\n\n\t/*\n\t * Resolve a given src.\n\t * @param { string } the original src in the node.\n\t * @returns { Array } - resolved urls to try.\n\t *\n\t * Currently returns either one or two urls.\n\t */\n\tresolve(src) {\n\t\tif (this.#session && src.startsWith('text://')) {\n\t\t\tconst imageFileName = getQueryVariable(src, 'imageFileName')\n\t\t\treturn [this.#getAttachmentUrl(imageFileName)]\n\t\t}\n\n\t\tif (this.#session && src.startsWith(`.attachments.${this.#session?.documentId}/`)) {\n\t\t\tconst imageFileName = decodeURIComponent(src.replace(`.attachments.${this.#session?.documentId}/`, '').split('?')[0])\n\t\t\treturn [this.#getAttachmentUrl(imageFileName)]\n\t\t}\n\n\t\tif (isDirectUrl(src)) {\n\t\t\treturn [src]\n\t\t}\n\n\t\tif (hasPreview(src)) { // && this.#mime !== 'image/gif') {\n\t\t\treturn [this.#previewUrl(src)]\n\t\t}\n\n\t\t// if it starts with '.attachments.1234/'\n\t\tif (src.match(/^\\.attachments\\.\\d+\\//)) {\n\t\t\tconst imageFileName = this.#relativePath(src)\n\t\t\t\t.replace(/\\.attachments\\.\\d+\\//, '')\n\t\t\tconst attachmentUrl = this.#getAttachmentUrl(imageFileName)\n\t\t\t// try the webdav url and attachment API if the fails\n\t\t\treturn [this.#davUrl(src), attachmentUrl]\n\t\t}\n\n\t\treturn [this.#davUrl(src)]\n\t}\n\n\t#getAttachmentUrl(imageFileName) {\n\t\tif (!this.#session) {\n\t\t\treturn this.#davUrl(\n\t\t\t\t`${this.#attachmentDirectory}/${imageFileName}`\n\t\t\t)\n\t\t}\n\n\t\tif (this.#user || !this.#shareToken) {\n\t\t\treturn generateUrl('/apps/text/image?documentId={documentId}&sessionId={sessionId}&sessionToken={sessionToken}&imageFileName={imageFileName}', {\n\t\t\t\t...this.#textApiParams(),\n\t\t\t\timageFileName,\n\t\t\t})\n\t\t}\n\n\t\treturn generateUrl('/apps/text/image?documentId={documentId}&sessionId={sessionId}&sessionToken={sessionToken}&imageFileName={imageFileName}&shareToken={shareToken}', {\n\t\t\t...this.#textApiParams(),\n\t\t\timageFileName,\n\t\t\tshareToken: this.#shareToken,\n\t\t})\n\t}\n\n\t#textApiParams() {\n\t\tif (this.#session) {\n\t\t\treturn {\n\t\t\t\tdocumentId: this.#session.documentId,\n\t\t\t\tsessionId: this.#session.id,\n\t\t\t\tsessionToken: this.#session.token,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n\n\t#previewUrl(src) {\n\t\tconst imageFileId = getQueryVariable(src, 'fileId')\n\t\tconst path = this.#filePath(src)\n\t\tconst fileQuery = `file=${encodeURIComponent(path)}`\n\t\tconst query = fileQuery + '&x=1024&y=1024&a=true'\n\n\t\tif (this.#user && imageFileId) {\n\t\t\treturn generateUrl(`/core/preview?fileId=${imageFileId}&${query}`)\n\t\t}\n\n\t\tif (this.#user) {\n\t\t\treturn generateUrl(`/core/preview.png?${query}`)\n\t\t}\n\n\t\tif (this.#shareToken) {\n\t\t\treturn generateUrl(`/apps/files_sharing/publicpreview/${this.#shareToken}?${query}`)\n\t\t}\n\n\t\tconsole.error('No way to authenticate image retrival - need to be logged in or provide a token')\n\t\treturn src\n\t}\n\n\t#davUrl(src) {\n\t\tif (this.#user) {\n\t\t\tconst uid = this.#user.uid\n\t\t\tconst encoded = encodeURI(this.#filePath(src))\n\t\t\treturn generateRemoteUrl(`dav/files/${uid}${encoded}`)\n\t\t}\n\n\t\tconst path = this.#filePath(src).split('/')\n\t\tconst basename = path.pop()\n\t\tconst dirname = path.join('/')\n\n\t\treturn generateUrl('/s/{token}/download?path={dirname}&files={basename}', {\n\t\t\ttoken: this.#shareToken,\n\t\t\tbasename,\n\t\t\tdirname,\n\t\t})\n\t}\n\n\t/**\n\t * Return the relativePath to a file specified in the url\n\t *\n\t * @param {string} src - url to extract path from\n\t */\n\t#relativePath(src) {\n\t\tif (src.startsWith('text://')) {\n\t\t\treturn [\n\t\t\t\tthis.#attachmentDirectory,\n\t\t\t\tgetQueryVariable(src, 'imageFileName'),\n\t\t\t].join('/')\n\t\t}\n\n\t\treturn decodeURI(src.split('?')[0])\n\t}\n\n\t#filePath(src) {\n\t\tconst f = [\n\t\t\tthis.#currentDirectory,\n\t\t\tthis.#relativePath(src),\n\t\t].join('/')\n\n\t\treturn pathNormalize(f)\n\t}\n\n}\n\n/**\n * Check if a url can be loaded directly - i.e. is one of\n * - remote url\n * - data url\n * - preview url\n *\n * @param {string} src - the url to check\n */\nfunction isDirectUrl(src) {\n\treturn src.startsWith('http://')\n\t\t|| src.startsWith('https://')\n\t\t|| src.startsWith('data:')\n\t\t|| src.match(/^(\\/index.php)?\\/core\\/preview/)\n\t\t|| src.match(/^(\\/index.php)?\\/apps\\/files_sharing\\/publicpreview\\//)\n}\n\n/**\n * Check if the given url has a preview\n *\n * @param {string} src - the url to check\n */\nfunction hasPreview(src) {\n\treturn getQueryVariable(src, 'hasPreview') === 'true'\n}\n\n/**\n * Extract the value of a query variable from the given url\n *\n * @param {string} src - the url to extract query variable from\n * @param {string} variable - name of the variable to read out\n */\nfunction getQueryVariable(src, variable) {\n\tconst query = src.split('?')[1]\n\n\tif (typeof query === 'undefined') {\n\t\treturn\n\t}\n\n\tconst vars = query.split(/[]/)\n\n\tif (typeof vars === 'undefined') {\n\t\treturn\n\t}\n\n\tfor (let i = 0; i < vars.length; i++) {\n\t\tconst pair = vars[i].split('=')\n\t\tif (decodeURIComponent(pair[0]) === variable) {\n\t\t\treturn decodeURIComponent(pair[1])\n\t\t}\n\t}\n}\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst extensionHighlight = {\n\tpy: 'python',\n\tgyp: 'python',\n\twsgi: 'python',\n\thtm: 'html',\n\txhtml: 'html',\n\terl: 'erlang',\n\tjsp: 'java',\n\tpl: 'perl',\n\trss: 'xml',\n\tatom: 'xml',\n\txsl: 'xml',\n\tplist: 'xml',\n\trb: 'ruby',\n\tbuilder: 'ruby',\n\tgemspec: 'ruby',\n\tpodspec: 'ruby',\n\tthor: 'ruby',\n\tdiff: 'patch',\n\ths: 'haskell',\n\ticl: 'haskell',\n\tphp3: 'php',\n\tphp4: 'php',\n\tphp5: 'php',\n\tphp6: 'php',\n\tsh: 'bash',\n\tzsh: 'bash',\n\tst: 'smalltalk',\n\tas: 'actionscript',\n\tapacheconf: 'apache',\n\tosacript: 'applescript',\n\tb: 'brainfuck',\n\tbf: 'brainfuck',\n\tclj: 'clojure',\n\t'cmake.in': 'cmake',\n\tcoffee: 'coffeescript',\n\tcson: 'coffescript',\n\ticed: 'coffescript',\n\tc: 'cpp',\n\th: 'cpp',\n\t'c++': 'cpp',\n\t'h++': 'cpp',\n\thh: 'cpp',\n\tjinja: 'django',\n\tbat: 'dos',\n\tcmd: 'dos',\n\tfs: 'fsharp',\n\thbs: 'handlebars',\n\t'html.hbs': 'handlebars',\n\t'html.handlebars': 'handlebars',\n\tsublime_metrics: 'json',\n\tsublime_session: 'json',\n\t'sublime-keymap': 'json',\n\t'sublime-mousemap': 'json',\n\t'sublime-project': 'json',\n\t'sublime-settings': 'json',\n\t'sublime-workspace': 'json',\n\tjs: 'javascript',\n\tmk: 'makefile',\n\tmak: 'makefile',\n\tmd: 'markdown',\n\tmkdown: 'markdown',\n\tmkd: 'markdown',\n\tnginxconf: 'nginx',\n\tm: 'objectivec',\n\tmm: 'objectivec',\n\tml: 'ocaml',\n\trs: 'rust',\n\tsci: 'scilab',\n\ttxt: 'plaintext',\n\tvb: 'vbnet',\n\tvbs: 'vbscript',\n}\n\nexport default extensionHighlight\nexport {\n\textensionHighlight,\n}\n","/*\n * @copyright Copyright (c) 2021, überdosis GbR\n *\n * @license MIT\n *\n */\n\nimport { Extension } from '@tiptap/core'\nimport { PluginKey, Plugin } from 'prosemirror-state'\n\n/**\n * @param {object} args Arguments as deconstructable object\n * @param {Array | object} args.types possible types\n * @param {object} args.node node to check\n */\nfunction nodeEqualsType({ types, node }) {\n\treturn (Array.isArray(types) && types.includes(node.type)) || node.type === types\n}\n\n/**\n * Extension based on:\n * - https://github.com/ueberdosis/tiptap/tree/main/demos/src/Experiments/TrailingNode\n * - https://github.com/ueberdosis/tiptap/blob/v1/packages/tiptap-extensions/src/extensions/TrailingNode.js\n * - https://github.com/remirror/remirror/blob/e0f1bec4a1e8073ce8f5500d62193e52321155b9/packages/prosemirror-trailing-node/src/trailing-node-plugin.ts\n */\n\nconst TrailingNode = Extension.create({\n\tname: 'trailingNode',\n\n\taddOptions() {\n\t\treturn {\n\t\t\tnode: 'paragraph',\n\t\t\tnotAfter: ['paragraph'],\n\t\t}\n\t},\n\n\taddProseMirrorPlugins() {\n\t\tconst plugin = new PluginKey(this.name)\n\t\tconst disabledNodes = Object.entries(this.editor.schema.nodes)\n\t\t\t.map(([, value]) => value)\n\t\t\t.filter(node => this.options.notAfter.includes(node.name))\n\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tkey: plugin,\n\t\t\t\tappendTransaction: (_, __, state) => {\n\t\t\t\t\tconst { doc, tr, schema } = state\n\t\t\t\t\tconst shouldInsertNodeAtEnd = plugin.getState(state)\n\t\t\t\t\tconst endPosition = doc.content.size\n\t\t\t\t\tconst type = schema.nodes[this.options.node]\n\n\t\t\t\t\tif (!shouldInsertNodeAtEnd) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\treturn tr.insert(endPosition, type.create())\n\t\t\t\t},\n\t\t\t\tstate: {\n\t\t\t\t\tinit: (_, state) => {\n\t\t\t\t\t\tconst lastNode = state.tr.doc.lastChild\n\t\t\t\t\t\treturn !nodeEqualsType({ node: lastNode, types: disabledNodes })\n\t\t\t\t\t},\n\t\t\t\t\tapply: (tr, value) => {\n\t\t\t\t\t\tif (!tr.docChanged) {\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst lastNode = tr.doc.lastChild\n\t\t\t\t\t\treturn !nodeEqualsType({ node: lastNode, types: disabledNodes })\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t},\n})\n\nexport default TrailingNode\n","\n\n\n\t\n\t\t \n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t{{ t('text', 'Delete this table') }}\n\t\t\t \n\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableView.vue?vue&type=template&id=8c5f0358&scoped=true&\"\nimport script from \"./TableView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8c5f0358\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{staticClass:\"table-wrapper\",attrs:{\"data-text-el\":\"table-view\"}},[_c('NodeViewContent',{staticClass:\"content\",attrs:{\"as\":\"table\"}}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{staticClass:\"table-settings\",attrs:{\"force-menu\":\"\",\"data-text-table-actions\":\"settings\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableSettings')]},proxy:true}],null,false,1699550424)},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"delete\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteNode},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this table'))+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"clearfix\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add row before') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add row after') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Delete this row') }}\n\t\t\t\t \n\t\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableCellView.vue?vue&type=template&id=bef9ed02&scoped=true&\"\nimport script from \"./TableCellView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableCellView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bef9ed02\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{attrs:{\"data-text-el\":\"table-cell\",\"as\":\"td\"}},[_c('div',{staticClass:\"container\"},[_c('NodeViewContent',{staticClass:\"content\"}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{attrs:{\"data-text-table-actions\":\"row\"}},[_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-row-before\",\"close-after-click\":\"\"},on:{\"click\":_vm.addRowBefore},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddRowBefore')]},proxy:true}],null,false,1805502767)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add row before'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-row-after\",\"close-after-click\":\"\"},on:{\"click\":_vm.addRowAfter},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddRowAfter')]},proxy:true}],null,false,3179199218)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add row after'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"remove-row\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteRow},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this row'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add column before') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add column after') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Delete this column') }}\n\t\t\t\t \n\t\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableHeaderView.vue?vue&type=template&id=aefbe706&scoped=true&\"\nimport script from \"./TableHeaderView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableHeaderView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"aefbe706\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{attrs:{\"data-text-el\":\"table-header\",\"as\":\"th\"}},[_c('div',[_c('NodeViewContent',{staticClass:\"content\"}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{attrs:{\"data-text-table-actions\":\"header\"}},[_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-column-before\",\"close-after-click\":\"\"},on:{\"click\":_vm.addColumnBefore},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddColumnBefore')]},proxy:true}],null,false,3782681875)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add column before'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-column-after\",\"close-after-click\":\"\"},on:{\"click\":_vm.addColumnAfter},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddColumnAfter')]},proxy:true}],null,false,1608287598)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add column after'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"remove-column\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteColumn},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this column'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Table from './Table/Table.js'\nimport TableCaption from './Table/TableCaption.js'\nimport TableCell from './Table/TableCell.js'\nimport TableHeader from './Table/TableHeader.js'\nimport TableHeadRow from './Table/TableHeadRow.js'\nimport TableRow from './Table/TableRow.js'\nimport { VueNodeViewRenderer } from '@tiptap/vue-2'\nimport TableView from './Table/TableView.vue'\nimport TableCellView from './Table/TableCellView.vue'\nimport TableHeaderView from './Table/TableHeaderView.vue'\n\n/**\n * Add the node view to the node.\n * The node views include buttons to enable editing the table.\n *\n * @param {object} node - the node to add the view to.\n * @param {object} view - the node view to add to the node.\n */\nfunction extendNodeWithView(node, view) {\n\treturn node.extend({\n\t\taddNodeView() {\n\t\t\treturn VueNodeViewRenderer(view)\n\t\t},\n\t})\n}\n\nexport default Table.extend({\n\n\taddNodeView() {\n\t\treturn VueNodeViewRenderer(TableView)\n\t},\n\n\taddExtensions() {\n\t\treturn [\n\t\t\tTableCaption,\n\t\t\textendNodeWithView(TableCell, TableCellView),\n\t\t\textendNodeWithView(TableHeader, TableHeaderView),\n\t\t\tTableHeadRow,\n\t\t\tTableRow,\n\t\t]\n\t},\n})\n","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ emojiObject.native }}\n\t\t\t\t\n\t\t\t\t:{{ emojiObject.short_name }}\n\t\t\t\n\t\t\n\t\t\n\t\t\t{{ t('text', 'No emoji found') }}\n\t\t\n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmojiList.vue?vue&type=template&id=debb463c&scoped=true&\"\nimport script from \"./EmojiList.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"debb463c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emoji-list\"},[(_vm.hasResults)?_vm._l((_vm.items),function(emojiObject,index){return _c('div',{key:index,staticClass:\"emoji-list__item\",class:{ 'is-selected': index === _vm.selectedIndex },on:{\"click\":function($event){return _vm.selectItem(index)}}},[_c('span',{staticClass:\"emoji-list__item__emoji\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(emojiObject.native)+\"\\n\\t\\t\\t\")]),_vm._v(\"\\n\\t\\t\\t:\"+_vm._s(emojiObject.short_name)+\"\\n\\t\\t\")])}):_c('div',{staticClass:\"emoji-list__item is-empty\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'No emoji found'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n*/\n\n/* eslint-disable import/no-named-as-default */\nimport History from '@tiptap/extension-history'\nimport Placeholder from '@tiptap/extension-placeholder'\n/* eslint-enable import/no-named-as-default */\n\nimport TrailingNode from './nodes/TrailingNode.js'\nimport EditableTable from './nodes/EditableTable.js'\nimport { Editor } from '@tiptap/core'\nimport { Emoji, Markdown, PlainText, RichText } from './extensions/index.js'\nimport { translate as t } from '@nextcloud/l10n'\nimport { listLanguages, registerLanguage } from 'lowlight/lib/core'\nimport { emojiSearch } from '@nextcloud/vue/dist/Functions/emoji'\nimport { VueRenderer } from '@tiptap/vue-2'\nimport EmojiList from './components/EmojiList.vue'\nimport tippy from 'tippy.js'\n\nimport 'proxy-polyfill'\n\nconst loadSyntaxHighlight = async (language) => {\n\tconst list = listLanguages()\n\tconsole.info(list)\n\tif (!listLanguages().includes(language)) {\n\t\ttry {\n\t\t\tconst syntax = await import(/* webpackChunkName: \"highlight/[request]\" */'highlight.js/lib/languages/' + language)\n\t\t\tregisterLanguage(language, syntax.default)\n\t\t} catch (e) {\n\t\t\t// No matching highlighing found, fallback to none\n\t\t\tconsole.debug(e)\n\t\t}\n\t}\n}\n\nconst createEditor = ({ content, onCreate, onUpdate, extensions, enableRichEditing }) => {\n\tlet richEditingExtensions = []\n\tif (enableRichEditing) {\n\t\trichEditingExtensions = [\n\t\t\tMarkdown,\n\t\t\tRichText.configure({\n\t\t\t\textensions: [EditableTable],\n\t\t\t}),\n\t\t\tEmoji.configure({\n\t\t\t\tsuggestion: {\n\t\t\t\t\titems: ({ query }) => {\n\t\t\t\t\t\treturn emojiSearch(query)\n\t\t\t\t\t},\n\t\t\t\t\trender: () => {\n\t\t\t\t\t\tlet component\n\t\t\t\t\t\tlet popup\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tonStart: props => {\n\t\t\t\t\t\t\t\tcomponent = new VueRenderer(EmojiList, {\n\t\t\t\t\t\t\t\t\tparent: this,\n\t\t\t\t\t\t\t\t\tpropsData: props,\n\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\tpopup = tippy('body', {\n\t\t\t\t\t\t\t\t\tgetReferenceClientRect: props.clientRect,\n\t\t\t\t\t\t\t\t\tappendTo: () => document.body,\n\t\t\t\t\t\t\t\t\tcontent: component.element,\n\t\t\t\t\t\t\t\t\tshowOnCreate: true,\n\t\t\t\t\t\t\t\t\tinteractive: true,\n\t\t\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonUpdate(props) {\n\t\t\t\t\t\t\t\tcomponent.updateProps(props)\n\t\t\t\t\t\t\t\tpopup[0].setProps({\n\t\t\t\t\t\t\t\t\tgetReferenceClientRect: props.clientRect,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonKeyDown(props) {\n\t\t\t\t\t\t\t\tif (props.event.key === 'Escape') {\n\t\t\t\t\t\t\t\t\tpopup[0].hide()\n\t\t\t\t\t\t\t\t\treturn true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn component.ref?.onKeyDown(props)\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonExit() {\n\t\t\t\t\t\t\t\tpopup[0].destroy()\n\t\t\t\t\t\t\t\tcomponent.destroy()\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\tPlaceholder.configure({\n\t\t\t\temptyNodeClass: 'is-empty',\n\t\t\t\tplaceholder: t('text', 'Add notes, lists or links …'),\n\t\t\t\tshowOnlyWhenEditable: true,\n\t\t\t}),\n\t\t\tTrailingNode,\n\t\t]\n\t} else {\n\t\trichEditingExtensions = [PlainText]\n\t}\n\textensions = extensions || []\n\treturn new Editor({\n\t\tcontent,\n\t\tonCreate,\n\t\tonUpdate,\n\t\textensions: [\n\t\t\tHistory,\n\t\t\t...richEditingExtensions,\n\t\t].concat(extensions),\n\t})\n}\n\nconst SerializeException = function(message) {\n\tthis.message = message\n}\n\nconst serializePlainText = (tiptap) => {\n\tconst doc = tiptap.getJSON()\n\n\tif (doc.content.length !== 1 || typeof doc.content[0].content === 'undefined' || doc.content[0].content.length !== 1) {\n\t\tif (doc.content[0].type === 'codeBlock' && typeof doc.content[0].content === 'undefined') {\n\t\t\treturn ''\n\t\t}\n\t\tthrow new SerializeException('Failed to serialize document to plain text')\n\t}\n\tconst codeBlock = doc.content[0].content[0]\n\tif (codeBlock.type !== 'text') {\n\t\tthrow new SerializeException('Failed to serialize document to plain text')\n\t}\n\treturn codeBlock.text\n}\n\nexport default createEditor\nexport { createEditor, serializePlainText, loadSyntaxHighlight }\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: this._isMobile(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update mobile mode\n\t\t\tthis.isMobile = this._isMobile()\n\t\t},\n\t\t_isMobile() {\n\t\t\t// check if content width is under 768px\n\t\t\treturn document.documentElement.clientWidth < 768\n\t\t},\n\t},\n}\n","\n\t\n\t\t{{ t('text', 'Formatting help') }}
\n\t\t{{ t('text', 'Speed up your writing with simple shortcuts.') }}
\n\t\t\n\t\t\t{{ t('text', 'Just type the Markdown syntax or use keyboard shortcuts from below.') }}\n\t\t
\n\t\t\n\t\t\t{{ t('text', 'Just type the Markdown syntax from below.') }}\n\t\t
\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Style') }} \n\t\t\t\t\t{{ t('text', 'Syntax') }} \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Keyboard shortcuts') }}\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Bold') }} \n\t\t\t\t\t**{{ t('text', 'Bold text') }}** \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tB\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Italic') }} \n\t\t\t\t\t*{{ t('text', 'Italicized text') }}* \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tI\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Strikethrough') }} \n\t\t\t\t\t~~{{ t('text', 'Mistaken text') }}~~ \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tX\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Underline') }} \n\t\t\t\t\t__{{ t('text', 'Underlined text') }}__ \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tU\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Heading 1') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t# {{ t('text', 'Heading level 1') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t1\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t…\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t…\n\t\t\t\t\t \n\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\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Heading 6') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t###### {{ t('text', 'Heading level 6') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t6\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Unordered list') }} \n\t\t\t\t\t\n\t\t\t\t\t\t* {{ t('text', 'An item') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t8\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Ordered list') }} \n\t\t\t\t\t\n\t\t\t\t\t\t1. {{ t('text', 'First item') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t7\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Checklist') }} \n\t\t\t\t\t\n\t\t\t\t\t\t* [] {{ t('text', 'To-Do item') }}\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Blockquote') }} \n\t\t\t\t\t\n\t\t\t\t\t\t> {{ t('text', 'Quoted text') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\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\t\n\t\t\t\t\t{{ t('text', 'Code block') }} \n\t\t\t\t\t\n\t\t\t\t\t\t``` {{ t('text', 'Some code') }}\n\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\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HelpModal.vue?vue&type=template&id=84b85632&scoped=true&\"\nimport script from \"./HelpModal.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84b85632\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"size\":\"normal\",\"title\":_vm.t('text', 'Formatting help')},on:{\"close\":function($event){return _vm.$emit('close')}}},[_c('h2',[_vm._v(_vm._s(_vm.t('text', 'Formatting help')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.t('text', 'Speed up your writing with simple shortcuts.')))]),_vm._v(\" \"),(!_vm.isMobile)?_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Just type the Markdown syntax or use keyboard shortcuts from below.'))+\"\\n\\t\")]):_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Just type the Markdown syntax from below.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.t('text', 'Style')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.t('text', 'Syntax')))]),_vm._v(\" \"),(!_vm.isMobile)?_c('th',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Keyboard shortcuts'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()])]),_vm._v(\" \"),_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Bold')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"**\"+_vm._s(_vm.t('text', 'Bold text'))+\"**\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"B\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Italic')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"*\"+_vm._s(_vm.t('text', 'Italicized text'))+\"*\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"I\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Strikethrough')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"~~\"+_vm._s(_vm.t('text', 'Mistaken text'))+\"~~\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"X\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Underline')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"__\"+_vm._s(_vm.t('text', 'Underlined text'))+\"__\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"U\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"ellipsis_top\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Heading 1'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"ellipsis_top\"},[_c('code',[_vm._v(\"# \"+_vm._s(_vm.t('text', 'Heading level 1')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"ellipsis_top\"},[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"1\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"noborder ellipsis\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"noborder ellipsis\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"ellipsis noborder\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Heading 6'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_c('code',[_vm._v(\"###### \"+_vm._s(_vm.t('text', 'Heading level 6')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"6\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Unordered list')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"* \"+_vm._s(_vm.t('text', 'An item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"8\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Ordered list')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"1. \"+_vm._s(_vm.t('text', 'First item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"7\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Checklist')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"* [] \"+_vm._s(_vm.t('text', 'To-Do item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td'):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Blockquote')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"> \"+_vm._s(_vm.t('text', 'Quoted text')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\">\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Code block')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"``` \"+_vm._s(_vm.t('text', 'Some code')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td'):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst translations = {\n\tctrl: t('text', 'Ctrl'),\n\talt: t('text', 'Alt'),\n\tshift: t('text', 'Shift'),\n}\n\nconst getEntryClasses = (actionEntry, isActive) => {\n\treturn {\n\t\t'is-active': isActive,\n\t\t[`action-menu-${actionEntry.key}`]: true,\n\t}\n}\n\nconst keysString = (keyChar, modifiers = []) => {\n\treturn Object.entries(translations)\n\t\t.filter(([k, v]) => modifiers.includes(k))\n\t\t.map(([k, v]) => v)\n\t\t.concat(keyChar.toUpperCase())\n\t\t.join('+')\n}\n\nconst getKeys = (isMobile, { keyChar, keyModifiers }) => {\n\treturn (!isMobile && keyChar)\n\t\t? `(${keysString(keyChar, keyModifiers)})`\n\t\t: ''\n}\n\nconst isDisabled = (actionEntry, $editor) => {\n\treturn actionEntry.action && !actionEntry.action($editor.can())\n}\n\nconst getIsActive = ({ isActive }, $editor) => {\n\tif (!isActive) {\n\t\treturn false\n\t}\n\n\tconst args = Array.isArray(isActive)\n\t\t? isActive\n\t\t: [isActive]\n\n\treturn $editor.isActive(...args)\n}\n\nconst getActionState = (actionEntry, $editor) => {\n\tconst active = getIsActive(actionEntry, $editor)\n\n\treturn {\n\t\tariaLabel: actionEntry.label,\n\t\tdisabled: isDisabled(actionEntry, $editor),\n\t\tclass: getEntryClasses(actionEntry, active),\n\t\tactive,\n\t}\n}\n\nexport {\n\tisDisabled,\n\tgetIsActive,\n\tgetKeys,\n\tgetEntryClasses,\n\tgetActionState,\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./ActionEntry.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./ActionEntry.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/* eslint-disable jsdoc/valid-types */\n\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\nimport debounce from 'debounce'\n\nimport { useEditorMixin, useIsMobileMixin } from '../EditorWrapper.provider.js'\nimport { getActionState, getKeys } from './utils.js'\n\nimport './ActionEntry.scss'\n\n/**\n * @type {import(\"vue\").ComponentOptions} BaseActionEntry\n */\nconst BaseActionEntry = {\n\tdirectives: {\n\t\tTooltip,\n\t},\n\tmixins: [useEditorMixin, useIsMobileMixin],\n\tprops: {\n\t\tactionEntry: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstate: getActionState(this.actionEntry, this.$editor),\n\t\t}\n\t},\n\tcomputed: {\n\t\ticon() {\n\t\t\treturn this.actionEntry.icon\n\t\t},\n\t\ttooltip() {\n\t\t\treturn [this.actionEntry.label, getKeys(this.$isMobile, this.actionEntry)].join(' ')\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$_updateState = debounce(this.updateState.bind(this), 50)\n\t\tthis.$editor.on('update', this.$_updateState)\n\t\tthis.$editor.on('selectionUpdate', this.$_updateState)\n\t},\n\tbeforeDestroy() {\n\t\tthis.$editor.off('update', this.$_updateState)\n\t\tthis.$editor.off('selectionUpdate', this.$_updateState)\n\t},\n\tmethods: {\n\t\tupdateState() {\n\t\t\tthis.state = getActionState(this.actionEntry, this.$editor)\n\t\t},\n\t},\n}\n\nexport { BaseActionEntry }\n","\n\n\t\n\t\t\n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerAction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerAction.vue?vue&type=template&id=21a414b0&\"\nimport script from \"./EmojiPickerAction.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerAction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('EmojiPicker',{staticClass:\"entry-action entry-action__emoji\",attrs:{\"data-text-action-entry\":_vm.actionEntry.key},on:{\"selectData\":_vm.addEmoji}},[_c('Button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.actionEntry.label),expression:\"actionEntry.label\"}],staticClass:\"entry-action__button\",attrs:{\"role\":\"menu\",\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"aria-haspopup\":true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{tag:\"component\"})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Actions',{staticClass:\"entry-action entry-action__image-upload\",attrs:{\"data-text-action-entry\":_vm.actionEntry.key,\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"role\":\"menu\",\"aria-haspopup\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{tag:\"component\",attrs:{\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"aria-haspopup\":\"\"}})]},proxy:true}])},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"close-after-click\":\"\",\"disabled\":_vm.isUploadingImages,\"data-text-action-entry\":((_vm.actionEntry.key) + \"-upload\")},on:{\"click\":_vm.$callChooseLocalImage},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Upload from computer'))+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.$isPublic)?_c('ActionButton',{attrs:{\"close-after-click\":\"\",\"disabled\":_vm.isUploadingImages,\"data-text-action-entry\":((_vm.actionEntry.key) + \"-insert\")},on:{\"click\":_vm.$callImagePrompt},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder')]},proxy:true}],null,false,2750733237)},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Insert from Files'))+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const STATE_UPLOADING = Symbol('state:uploading-state')\nexport const ACTION_IMAGE_PROMPT = Symbol('editor:action:image-prompt')\nexport const ACTION_CHOOSE_LOCAL_IMAGE = Symbol('editor:action:upload-image')\n\nexport const useUploadingStateMixin = {\n\tinject: {\n\t\t$uploadingState: {\n\t\t\tfrom: STATE_UPLOADING,\n\t\t\tdefault: {\n\t\t\t\tisUploadingImages: false,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport const useActionImagePromptMixin = {\n\tinject: {\n\t\t$callImagePrompt: { from: ACTION_IMAGE_PROMPT, default: () => {} },\n\t},\n}\n\nexport const useActionChooseLocalImageMixin = {\n\tinject: {\n\t\t$callChooseLocalImage: { from: ACTION_CHOOSE_LOCAL_IMAGE, default: () => {} },\n\t},\n}\n","\n\n\t\n\t\t\n\t\t\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t{{ t('text', 'Upload from computer') }}\n\t\t \n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t{{ t('text', 'Insert from Files') }}\n\t\t \n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionImageUpload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionImageUpload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionImageUpload.vue?vue&type=template&id=6f262d5e&\"\nimport script from \"./ActionImageUpload.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionImageUpload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport {\n\tUndo,\n\tRedo,\n\tFormatBold,\n\tFormatItalic,\n\tFormatUnderline,\n\tFormatStrikethrough,\n\tFormatHeader1,\n\tFormatHeader2,\n\tFormatHeader3,\n\tFormatHeader4,\n\tFormatHeader5,\n\tFormatHeader6,\n\tFormatListNumbered,\n\tFormatListBulleted,\n\tFormatListCheckbox,\n\tFormatQuote,\n\tInfo,\n\tPositive,\n\tWarn,\n\tDanger,\n\tCodeTags,\n\tTable,\n\tEmoticon,\n\tHelp,\n\tImages,\n} from '../icons.js'\nimport EmojiPickerAction from './EmojiPickerAction.vue'\nimport ActionImageUpload from './ActionImageUpload.vue'\n\nexport default [\n\t{\n\t\tkey: 'undo',\n\t\tlabel: t('text', 'Undo'),\n\t\tkeyChar: 'z',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: Undo,\n\t\taction: (command) => command.undo(),\n\t\tpriority: 5,\n\t},\n\t{\n\t\tkey: 'redo',\n\t\tlabel: t('text', 'Redo'),\n\t\tkeyChar: 'y',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: Redo,\n\t\taction: (command) => command.redo(),\n\t\tpriority: 11,\n\t},\n\t{\n\t\tkey: 'bold',\n\t\tlabel: t('text', 'Bold'),\n\t\tkeyChar: 'b',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatBold,\n\t\tisActive: 'strong',\n\t\taction: (command) => {\n\t\t\treturn command.toggleBold()\n\t\t},\n\t\tpriority: 6,\n\t},\n\t{\n\t\tkey: 'italic',\n\t\tlabel: t('text', 'Italic'),\n\t\tkeyChar: 'i',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatItalic,\n\t\tisActive: 'em',\n\t\taction: (command) => {\n\t\t\treturn command.toggleItalic()\n\t\t},\n\t\tpriority: 7,\n\t},\n\t{\n\t\tkey: 'underline',\n\t\tlabel: t('text', 'Underline'),\n\t\tkeyChar: 'u',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatUnderline,\n\t\tisActive: 'underline',\n\t\taction: (command) => {\n\t\t\treturn command.toggleUnderline()\n\t\t},\n\t\tpriority: 14,\n\t},\n\t{\n\t\tkey: 'strikethrough',\n\t\tlabel: t('text', 'Strikethrough'),\n\t\tkeyChar: 'd',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatStrikethrough,\n\t\tisActive: 'strike',\n\t\taction: (command) => {\n\t\t\treturn command.toggleStrike()\n\t\t},\n\t\tpriority: 15,\n\t},\n\t{\n\t\tkey: 'headings',\n\t\tlabel: t('text', 'Headings'),\n\t\tkeyChar: '1…6',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tvisible: false,\n\t\ticon: FormatHeader1,\n\t\tisActive: 'heading',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tkey: 'headings-h1',\n\t\t\t\tlabel: t('text', 'Heading 1'),\n\t\t\t\ticon: FormatHeader1,\n\t\t\t\tisActive: ['heading', { level: 1 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 1 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h2',\n\t\t\t\tlabel: t('text', 'Heading 2'),\n\t\t\t\ticon: FormatHeader2,\n\t\t\t\tisActive: ['heading', { level: 2 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 2 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h3',\n\t\t\t\tlabel: t('text', 'Heading 3'),\n\t\t\t\ticon: FormatHeader3,\n\t\t\t\tisActive: ['heading', { level: 3 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 3 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h4',\n\t\t\t\tlabel: t('text', 'Heading 4'),\n\t\t\t\tisActive: ['heading', { level: 4 }],\n\t\t\t\ticon: FormatHeader4,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 4 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h5',\n\t\t\t\tlabel: t('text', 'Heading 5'),\n\t\t\t\tisActive: ['heading', { level: 5 }],\n\t\t\t\ticon: FormatHeader5,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 5 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h6',\n\t\t\t\tlabel: t('text', 'Heading 6'),\n\t\t\t\tisActive: ['heading', { level: 6 }],\n\t\t\t\ticon: FormatHeader6,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 6 })\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tpriority: 1,\n\t},\n\t{\n\t\tkey: 'unordered-list',\n\t\tlabel: t('text', 'Unordered list'),\n\t\tkeyChar: '8',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tisActive: 'bulletList',\n\t\ticon: FormatListBulleted,\n\t\taction: (command) => {\n\t\t\treturn command.toggleBulletList()\n\t\t},\n\t\tpriority: 8,\n\t},\n\t{\n\t\tkey: 'ordered-list',\n\t\tlabel: t('text', 'Ordered list'),\n\t\tkeyChar: '9',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tisActive: 'orderedList',\n\t\ticon: FormatListNumbered,\n\t\taction: (command) => {\n\t\t\treturn command.toggleOrderedList()\n\t\t},\n\t\tpriority: 9,\n\t},\n\t{\n\t\tkey: 'task-list',\n\t\tlabel: t('text', 'To-Do list'),\n\t\tisActive: 'taskList',\n\t\ticon: FormatListCheckbox,\n\t\taction: (command) => command.toggleTaskList(),\n\t\tpriority: 10,\n\t},\n\t{\n\t\tkey: 'blockquote',\n\t\tlabel: t('text', 'Blockquote'),\n\t\tkeyChar: '>',\n\t\tkeyModifiers: ['ctrl'],\n\t\tisActive: 'blockquote',\n\t\ticon: FormatQuote,\n\t\taction: (command) => {\n\t\t\treturn command.toggleBlockquote()\n\t\t},\n\t\tpriority: 12,\n\t},\n\t{\n\t\tkey: 'callouts',\n\t\tlabel: t('text', 'Callouts'),\n\t\tvisible: false,\n\t\ticon: Info,\n\t\tisActive: 'callout',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tkey: 'callout-info',\n\t\t\t\tlabel: t('text', 'Info'),\n\t\t\t\tisActive: ['callout', { type: 'info' }],\n\t\t\t\ticon: Info,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'info' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-success',\n\t\t\t\tlabel: t('text', 'Success'),\n\t\t\t\tisActive: ['callout', { type: 'success' }],\n\t\t\t\ticon: Positive,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'success' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-warn',\n\t\t\t\tlabel: t('text', 'Warning'),\n\t\t\t\tisActive: ['callout', { type: 'warn' }],\n\t\t\t\ticon: Warn,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'warn' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-error',\n\t\t\t\tlabel: t('text', 'Danger'),\n\t\t\t\tisActive: ['callout', { type: 'error' }],\n\t\t\t\ticon: Danger,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'error' })\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tpriority: 3,\n\t},\n\t{\n\t\tkey: 'code-block',\n\t\tlabel: t('text', 'Code block'),\n\t\tisActive: 'codeBlock',\n\t\ticon: CodeTags,\n\t\taction: (command) => {\n\t\t\treturn command.toggleCodeBlock()\n\t\t},\n\t\tpriority: 13,\n\t},\n\t{\n\t\tkey: 'table',\n\t\tlabel: t('text', 'Table'),\n\t\tisActive: 'table',\n\t\ticon: Table,\n\t\taction: (command) => {\n\t\t\treturn command.insertTable()\n\t\t},\n\t\tpriority: 16,\n\t},\n\t{\n\t\tkey: 'emoji-picker',\n\t\tlabel: t('text', 'Insert emoji'),\n\t\ticon: Emoticon,\n\t\tcomponent: EmojiPickerAction,\n\t\taction: (command, emojiObject = {}) => {\n\t\t\treturn command.emoji(emojiObject)\n\t\t},\n\t\tpriority: 4,\n\t},\n\t{\n\t\tkey: 'insert-image',\n\t\tlabel: t('text', 'Insert image'),\n\t\ticon: Images,\n\t\tcomponent: ActionImageUpload,\n\t\tpriority: 2,\n\t},\n\t{\n\t\tkey: 'formatting-help',\n\t\tlabel: t('text', 'Formatting help'),\n\t\ticon: Help,\n\t\tclick: (view) => view.$emit('call:help'),\n\t\tpriority: 17,\n\t},\n]\n","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionSingle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionSingle.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./ActionSingle.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionSingle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\n\t\t \n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionList.vue?vue&type=template&id=9c6130a4&\"\nimport script from \"./ActionList.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Actions',_vm._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"entry-list-action entry-action\",attrs:{\"role\":\"menu\",\"aria-label\":_vm.actionEntry.label,\"title\":_vm.actionEntry.label,\"data-text-action-entry\":_vm.actionEntry.key,\"data-text-action-active\":_vm.activeKey},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{key:_vm.iconKey,tag:\"component\"})]},proxy:true}])},'Actions',_vm.state,false),[_vm._v(\" \"),_vm._l((_vm.actionEntry.children),function(child){return _c('ActionSingle',{key:(\"child-\" + (child.key)),attrs:{\"is-item\":\"\",\"action-entry\":child},on:{\"trigged\":_vm.onTrigger}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\n\n\n\n\n","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport ActionSingle from './ActionSingle.vue'\nimport ActionList from './ActionList.vue'\n\nexport default {\n\tname: 'ActionEntry',\n\tfunctional: true,\n\trender(h, ctx) {\n\t\tconst { actionEntry } = ctx.props\n\t\tconst { data, props, listeners } = ctx\n\t\tconst { key } = data\n\n\t\tconst params = {\n\t\t\tdata,\n\t\t\tkey,\n\t\t\tprops,\n\t\t\ton: listeners,\n\t\t}\n\n\t\tif (actionEntry.component) {\n\t\t\treturn h(actionEntry.component, params)\n\t\t}\n\n\t\treturn actionEntry.children\n\t\t\t? h(ActionList, params)\n\t\t\t: h(ActionSingle, params)\n\t},\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./MenuBar.vue?vue&type=template&id=744790a8&scoped=true&\"\nimport script from \"./MenuBar.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"744790a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-menubar\",class:{\n\t\t'text-menubar--ready': _vm.isReady,\n\t\t'text-menubar--show': _vm.isVisible,\n\t\t'text-menubar--autohide': _vm.autohide,\n\t\t'text-menubar--is-workspace': _vm.$isRichWorkspace\n\t},attrs:{\"data-text-el\":\"menubar\",\"role\":\"menubar\",\"aria-label\":_vm.t('text', 'Formatting menubar')}},[(_vm.displayHelp)?_c('HelpModal',{on:{\"close\":_vm.hideHelp}}):_vm._e(),_vm._v(\" \"),(_vm.$isRichEditor)?_c('div',{ref:\"menubar\",staticClass:\"text-menubar__entries\",attrs:{\"role\":\"group\",\"aria-label\":_vm.t('text', 'Editor actions')}},_vm._l((_vm.visibleEntries),function(actionEntry){return _c('ActionEntry',_vm._b({key:(\"text-action--\" + (actionEntry.key)),on:{\"call:help\":_vm.showHelp}},'ActionEntry',{ actionEntry: actionEntry },false))}),1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"text-menubar__slot\"},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"editor editor-midia-handler\",class:{ draggedOver: _vm.draggedOver },attrs:{\"data-text-el\":\"editor-midia-handler\"},on:{\"image-paste\":_vm.onPaste,\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.setDraggedOver(true)},\"dragleave\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.setDraggedOver(false)},\"image-drop\":_vm.onEditorDrop}},[_c('input',{ref:\"imageFileInput\",staticClass:\"hidden-visually\",attrs:{\"data-text-el\":\"image-file-input\",\"type\":\"file\",\"accept\":\"image/*\",\"aria-hidden\":\"true\",\"multiple\":\"\"},on:{\"change\":_vm.onImageUploadFilePicked}}),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t \n\t\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorMediaHandler.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorMediaHandler.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorMediaHandler.vue?vue&type=template&id=7eb21802&\"\nimport script from \"./EditorMediaHandler.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorMediaHandler.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t{{ t('text', 'Document idle for {timeout} minutes, click to continue editing', { timeout: IDLE_TIMEOUT }) }} {{ t('text', 'Reconnect') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t{{ t('text', 'The document has been changed outside of the editor. The changes cannot be applied.') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t{{ t('text', 'File could not be loaded. Please check your internet connection.') }} {{ t('text', 'Reconnect') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t {{ t('text', 'This file is opened read-only as it is currently locked by {user}.', { user: lock.displayName }) }}\n\t\t\t
\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ lastSavedStatus }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ t('text', 'Last saved') }}: {{ lastSavedString }}\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\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\n\t\t\t \n\t\t\t \n\t\t\n\n\t\t \n\t\n\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditorWrapper.vue?vue&type=template&id=2ce1ab75&scoped=true&\"\nimport script from \"./EditorWrapper.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorWrapper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\"\nimport style1 from \"./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ce1ab75\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isRichEditor)?_c('RichTextReader',{attrs:{\"content\":_vm.content}}):_c('PlainTextReader',{attrs:{\"content\":_vm.content}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseReader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaseReader.vue?vue&type=template&id=60e3e19c&\"\nimport script from \"./BaseReader.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseReader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$editor)?_c('EditorContent',{attrs:{\"id\":\"read-only-editor\",\"editor\":_vm.$editor}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlainTextReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlainTextReader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlainTextReader.vue?vue&type=template&id=68296ea2&\"\nimport script from \"./PlainTextReader.vue?vue&type=script&lang=js&\"\nexport * from \"./PlainTextReader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseReader',{attrs:{\"content\":_vm.content}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseReader',{attrs:{\"content\":_vm.content},on:{\"click-link\":function (e, a) { return _vm.$emit('click-link', e, a); }}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t $emit('click-link', e, a)\" />\n \n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RichTextReader.vue?vue&type=template&id=a491aef0&\"\nimport script from \"./RichTextReader.vue?vue&type=script&lang=js&\"\nexport * from \"./RichTextReader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RichTextReader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=script&lang=js&\"","\n\n\n\t \n\t \n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Reader.vue?vue&type=template&id=35c4246b&\"\nimport script from \"./Reader.vue?vue&type=script&lang=js&\"\nexport * from \"./Reader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Reader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.saving},attrs:{\"id\":\"direct-editor\"}},[_c('EditorWrapper',{ref:\"editor\",attrs:{\"initial-session\":_vm.initialSession,\"active\":true,\"mime\":_vm.initial.mimetype,\"is-direct-editing\":true},on:{\"ready\":_vm.loaded},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('button',{staticClass:\"icon-share\",on:{\"click\":_vm.share}}),_vm._v(\" \"),_c('button',{staticClass:\"icon-close\",on:{\"click\":_vm.close}})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t \n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DirectEditing.vue?vue&type=template&id=5c2efba8&scoped=true&\"\nimport script from \"./DirectEditing.vue?vue&type=script&lang=js&\"\nexport * from \"./DirectEditing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c2efba8\",\n null\n \n)\n\nexport default component.exports"],"names":["EDITOR","Symbol","FILE","IMAGE_RESOLVER","IS_MOBILE","IS_PUBLIC","IS_RICH_EDITOR","IS_RICH_WORKSPACE","SYNC_SERVICE","useEditorMixin","inject","$editor","from","default","useSyncServiceMixin","$syncService","useIsPublicMixin","$isPublic","useIsRichWorkspaceMixin","$isRichWorkspace","useIsRichEditorMixin","$isRichEditor","useIsMobileMixin","$isMobile","useFileMixin","$file","fileId","relativePath","document","useImageResolver","$imageResolver","resolve","src","console","warn","makeIcon","original","functional","render","h","data","props","key","staticClass","size","Loading","MDI_Loading","Check","MDI_Check","CodeTags","MDI_CodeTags","Danger","MDI_Danger","Delete","MDI_Delete","Document","MDI_Document","DotsHorizontal","MDI_DotsHorizontal","Emoticon","MDI_Emoticon","Folder","MDI_Folder","FormatBold","MDI_FormatBold","FormatHeader1","MDI_FormatHeader1","FormatHeader2","MDI_FormatHeader2","FormatHeader3","MDI_FormatHeader3","FormatHeader4","MDI_FormatHeader4","FormatHeader5","MDI_FormatHeader5","FormatHeader6","MDI_FormatHeader6","FormatItalic","MDI_FormatItalic","FormatListBulleted","MDI_FormatListBulleted","FormatListCheckbox","MDI_FormatListCheckbox","FormatListNumbered","MDI_FormatListNumbered","FormatQuote","MDI_FormatQuote","FormatStrikethrough","MDI_FormatStrikethrough","FormatUnderline","MDI_FormatUnderline","Help","MDI_Help","Image","MDI_Image","Images","MDI_Images","Info","MDI_Info","Link","MDI_Link","Positive","MDI_Lock","MDI_Positive","Redo","MDI_Redo","Table","MDI_Table","TableAddColumnAfter","MDI_TableAddColumnAfter","TableAddColumnBefore","MDI_TableAddColumnBefore","TableAddRowAfter","MDI_TableAddRowAfter","TableAddRowBefore","MDI_TableAddRowBefore","TableSettings","MDI_TableSettings","TrashCan","MDI_TrashCan","Undo","MDI_Undo","Upload","MDI_Upload","Warn","MDI_Warn","TipTapHardBreak","toMarkdown","state","node","parent","index","i","childCount","child","type","text","startsWith","write","require","Mark","create","name","parseHTML","tag","renderHTML","class","open","close","mixable","escape","expelEnclosingWhitespace","onUpdate","tr","this","editor","doc","descendants","pos","marks","findIndex","mark","length","removeMark","nodeSize","docChanged","setMeta","view","dispatch","Markdown","Extension","extendMarkSchema","extension","context","options","storage","getExtensionField","extendNodeSchema","createMarkdownSerializer","nodes","defaultNodes","convertNames","defaultMarkdownSerializer","defaultMarks","serializer","MarkdownSerializer","extractToMarkdown","serialize","content","tightLists","nodesOrMarks","Object","entries","map","spec","filter","reduce","items","object","convert","replace","_m","letter","toUpperCase","fromEntries","value","LoadImageError","Error","components","ImageIcon","NodeViewWrapper","directives","ClickOutside","mixins","store","imageLoaded","loaded","failed","showIcons","imageUrl","errorMessage","computed","canDisplayImage","imageFileId","isSupportedImage","IMAGE_MIMES","internalLinkOrImage","get","set","alt","t","token","beforeMount","catch","methods","init","url","fallback","loadImage","img","reject","onImageLoadFailure","err","error","updateAlt","event","onLoaded","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","_h","$createElement","_c","_self","attrs","rawName","expression","on","$event","_v","ref","domProps","indexOf","_k","keyCode","apply","arguments","isEditable","deleteNode","_e","_s","TiptapImage","selectable","addOptions","addNodeView","VueNodeViewRenderer","ImageView","addProseMirrorPlugins","Plugin","handleDrop","slice","dataTransfer","files","coordinates","posAtCoords","left","clientX","top","clientY","customEvent","CustomEvent","bubbles","detail","position","target","dispatchEvent","handlePaste","clipboardData","TipTapHeading","addKeyboardShortcuts","levels","level","commands","toggleHeading","TiptapBulletList","rule","assign","preserveWhitespace","addInputRules","find","InputRule","handler","range","match","wrappingInputRule","getAttributes","insertText","TiptapTaskList","priority","renderList","bullet","TipTapTaskItem","nested","HTMLAttributes","draggable","addAttributes","adjust","checked","el","querySelector","getAttrs","listAttributes","checkboxAttributes","contenteditable","mergeAttributes","renderContent","includes","handleClick","schema","parentList","findParentNodeClosestToPos","taskItem","listItem","tagName","toLowerCase","setNodeMarkup","info","success","NodeViewContent","required","icon","Node","group","defining","types","typesAvailable","rendered","element","getAttribute","classList","contains","attributes","classy","ensureNewLine","closeBlock","Callout","addCommands","setCallout","wrapIn","toggleCallout","isNodeActive","unsetCallout","updateAttributes","lift","basedir","file","end","lastIndexOf","domHref","href","relPath","id","dir","base","rel","split","pop","shift","concat","join","absolutePath","OCA","Viewer","generateUrl","parseHref","dom","path","openLink","_attrs","htmlHref","closest","query","OC","parseQueryString","fragment","filename","title","theme","window","location","pathname","markdownit","clickHandler","onClick","PluginKey","link","m","button","ctrlKey","stopPropagation","debug","TipTapLink","inclusive","plugins","openOnClick","TipTapStrike","style","Bold","markInputRule","starInputRegex","addPasteRules","markPasteRule","starPasteRegex","TipTapUnderline","underscoreInputRegex","underscorePasteRegex","Italic","TipTapItalic","Paragraph","TipTapParagraph","extensions","addExtensions","defaultExtensions","Text","HardBreak","Heading","Strong","Strike","Blockquote","Code","CodeBlock","BulletList","HorizontalRule","OrderedList","ListItem","TaskList","TaskItem","Underline","inline","Dropcursor","KeepSyntax","push","additionalExtensionNames","e","EmojiPluginKey","suggestion","char","pluginKey","command","chain","focus","insertContentAt","native","run","emoji","emojiObject","insertContent","Suggestion","handleKeyDown","metaKey","shiftKey","Span","to","author","updateBlameMap","transform","clientIDs","result","mapping","span","maps","after","forEach","start","next","splice","Math","min","max","insertIntoBlameMap","TrackState","blameMap","clientID","getMeta","steps","item","color","floor","abs","sin","toString","_","instance","tracked","deco","DecorationSet","oldState","decos","tState","getState","applyTransform","Decoration","dec","decorations","timeout","onCreate","fn","delay","getSendableSteps","sendable","sendableSteps","editable","onSendable","version","step","toJSON","debounce","args","clearTimeout","setTimeout","random","update","getVersion","receiveTransaction","Step","collab","Tab","PlainTextDocument","CodeBlockLowlight","lowlight","documentReady","callback","attachEvent","readyState","addEventListener","_baseUrl","endpointUrl","endpoint","isPublic","mimetypesImages","openMimetypesMarkdown","openMimetypesPlainText","oc_appswebroots","richdocuments","onlyoffice","openMimetypes","buildRender","tokens","idx","env","slf","nesting","attrSet","attrJoin","renderToken","md","use","container","includesClass","cls","attrGet","MarkdownIt","html","breaks","enable","taskLists","labelAfter","core","ruler","startsWithTask","attrIndex","splitBefore","parentIndex","predicate","searchLevel","findChildOf","TokenConstructor","closeList","block","openList","splitListAt","Token","ruler2","markup","callouts","escaped","before","j","children","exec","contentNext","$store","TableCaption","TableCell","TableHeader","TableHeadRow","TableRow","insertTable","isInTable","rowsCount","colsCount","cellContent","headerCells","cells","cell","tableCell","createAndFill","headerCell","tableHeader","headRow","tableHeadRow","createChecked","rows","tableRow","table","createTable","offset","selection","anchor","replaceSelectionWith","scrollIntoView","setSelection","TextSelection","leaveTable","$head","empty","tableDepth","depth","$next","goToNextRow","$cell","cellStart","row","indexAfter","rowNode","findSameCellInNextRow","selectionCell","moveCellForward","goToNextCell","Enter","can","addRowAfter","renderInline","repeat","textContent","persistentStorage","getBuilder","persist","build","Vue","Vuex","Store","showAuthorAnnotations","getItem","currentSession","mutations","SET_SHOW_AUTHOR_ANNOTATIONS","setItem","SET_CURRENT_SESSION","actions","setShowAuthorAnnotations","commit","setCurrentSession","___CSS_LOADER_EXPORT___","module","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","deepFreeze","obj","Map","clear","delete","Set","add","freeze","getOwnPropertyNames","prop","isFrozen","deepFreezeEs6","_default","Response","constructor","mode","undefined","isMatchIgnored","ignoreMatch","escapeHTML","inherit","objects","emitsWrappingTags","kind","HTMLRenderer","parseTree","buffer","classPrefix","walk","addText","openNode","className","sublanguage","closeNode","TokenTree","rootNode","stack","root","closeAllNodes","JSON","stringify","builder","_walk","static","every","_collapse","TokenTreeEmitter","super","addKeyword","addSublanguage","emitter","toHTML","finalize","source","re","BACKREF_RE","IDENT_RE","UNDERSCORE_IDENT_RE","NUMBER_RE","C_NUMBER_RE","BINARY_NUMBER_RE","BACKSLASH_ESCAPE","begin","relevance","APOS_STRING_MODE","illegal","QUOTE_STRING_MODE","PHRASAL_WORDS_MODE","COMMENT","modeOptions","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","HASH_COMMENT_MODE","NUMBER_MODE","C_NUMBER_MODE","BINARY_NUMBER_MODE","CSS_NUMBER_MODE","REGEXP_MODE","TITLE_MODE","UNDERSCORE_TITLE_MODE","METHOD_GUARD","MODES","__proto__","MATCH_NOTHING_RE","RE_STARTERS_RE","SHEBANG","opts","beginShebang","binary","x","resp","END_SAME_AS_BEGIN","_beginMatch","skipIfhasPrecedingDot","response","input","beginKeywords","__beforeBegin","keywords","compileIllegal","_parent","Array","isArray","either","compileMatch","compileRelevance","COMMON_KEYWORDS","compileKeywords","rawKeywords","caseInsensitive","compiledKeywords","compileList","keys","keywordList","keyword","pair","scoreForKeyword","providedScore","Number","commonKeyword","compileLanguage","language","langRe","global","RegExp","case_insensitive","MultiRegex","matchIndexes","regexes","matchAt","addRule","countMatchGroups","compile","terminators","matcherRe","regexps","separator","numCaptures","regex","out","substring","String","lastIndex","s","matchData","ResumableMultiRegex","rules","multiRegexes","count","regexIndex","getMatcher","matcher","resumingScanAtSamePosition","considerAll","m2","compilerExtensions","classNameAliases","compileMode","cmode","isCompiled","ext","keywordPattern","$pattern","lexemes","keywordPatternRe","beginRe","endSameAsBegin","endsWithParent","endRe","terminatorEnd","illegalRe","c","variants","cachedVariants","variant","dependencyOnParent","starts","expandOrCloneMode","mm","term","buildModeRegex","BuildVuePlugin","hljs","Component","detectedLanguage","unknownLanguage","highlighted","autoDetect","getLanguage","code","highlightAuto","highlight","ignoreIllegals","autodetect","Boolean","createElement","innerHTML","VuePlugin","install","component","mergeHTMLPlugin","originalStream","nodeStream","resultNode","processed","nodeStack","selectStream","attributeString","attr","nodeName","call","stream","reverse","substr","mergeStreams","_nodeStream","firstChild","nextSibling","nodeType","nodeValue","seenDeprecations","message","log","deprecated","escape$1","inherit$1","NO_MATCH","languages","aliases","SAFE_MODE","fixMarkupRe","LANGUAGE_NOT_FOUND","PLAINTEXT_LANGUAGE","disableAutodetect","noHighlightRe","languageDetectRe","tabReplace","useBR","__emitter","shouldNotHighlight","languageName","test","codeOrlanguageName","optionsOrCode","continuation","fire","_highlight","codeToHighlight","keywordData","matchText","prototype","hasOwnProperty","processBuffer","subLanguage","modeBuffer","continuations","processSubLanguage","buf","keywordRelevance","cssClass","processKeywords","startNewMode","endOfMode","matchPlusRemainder","matched","lexeme","endsParent","doIgnore","resumeScanAtSamePosition","doBeginMatch","newMode","beforeCallbacks","cb","skip","excludeBegin","returnBegin","doEndMatch","endMode","origin","returnEnd","excludeEnd","lastMatch","processLexeme","textBeforeMatch","badRule","iterations","list","current","unshift","processContinuations","processedCount","illegalBy","msg","sofar","errorRaised","languageSubset","plaintext","justTextHighlightResult","results","autoDetection","sorted","sort","a","b","supersetOf","best","secondBest","second_best","brPlugin","TAB_REPLACE_RE","tabReplacePlugin","highlightElement","classes","parentNode","_class","blockLanguage","currentLang","resultLang","updateClassName","relavance","initHighlighting","called","querySelectorAll","wantsHighlight","highlightAll","registerAliases","aliasList","alias","lang","plugin","fixMarkup","arg","highlightBlock","configure","userOptions","initHighlightingOnLoad","registerLanguage","languageDefinition","error$1","rawDefinition","bind","unregisterLanguage","listLanguages","requireLanguage","addPlugin","upgradePluginAPI","vuePlugin","debugMode","safeMode","versionString","HLJS","exports","webpackAsyncContext","req","__webpack_require__","o","Promise","then","ids","webpackContext","webpackContextResolve","$emit","PollingBackend","authority","_authority","fetchInterval","retryTime","lock","fetchRetryCounter","initialLoadingFinished","fetcher","setInterval","_fetchSteps","visibilitychange","shareToken","_forcedSave","fetchSteps","_manualSave","autosaveContent","_getVersion","lastSavedVersion","_getContent","axios","_isPublic","documentId","sessionId","session","sessionToken","force","manualSave","filePath","_handleResponse","_handleError","emit","sessions","checkIdle","lastContact","Date","now","FETCH_INTERVAL_INVISIBLE","maximumRefetchTimer","increaseRefetchTimer","dirty","initialLoading","_receiveSteps","resetRefetchTimer","status","currentVersion","ERROR_TYPE","SAVE_COLLISSION","outsideChange","disconnect","SOURCE_NOT_FOUND","CONNECTION_FAILED","retry","_sendable","sendSteps","carefulRetryReset","PUSH_FAILURE","Notification","showTemporary","carefulRetry","clearInterval","removeEventListener","visibilityState","newRetry","defaultOptions","forceRecreate","LOAD_ERROR","SyncService","_bus","mitt","backend","stepClientIDs","lastStepPush","initialSession","_openDocument","connectionData","readOnly","_fetchDocument","documentSource","connect","guestName","transformResponse","newSteps","singleSteps","IDLE_TIMEOUT","_getDocument","save","forceSave","closed","_close","image","formData","FormData","append","headers","imageLink","params","imagePath","off","ImageResolver","user","currentDirectory","imageFileName","getQueryVariable","decodeURIComponent","isDirectUrl","hasPreview","attachmentUrl","encodeURIComponent","uid","encoded","encodeURI","generateRemoteUrl","basename","dirname","decodeURI","f","pathNormalize","variable","vars","extensionHighlight","py","gyp","wsgi","htm","xhtml","erl","jsp","pl","rss","atom","xsl","plist","rb","gemspec","podspec","thor","diff","hs","icl","php3","php4","php5","php6","sh","zsh","st","as","apacheconf","osacript","bf","clj","coffee","cson","iced","hh","jinja","bat","cmd","fs","hbs","sublime_metrics","sublime_session","js","mk","mak","mkdown","mkd","nginxconf","ml","rs","sci","txt","vb","vbs","nodeEqualsType","TrailingNode","notAfter","disabledNodes","appendTransaction","__","shouldInsertNodeAtEnd","endPosition","lastChild","ActionButton","Actions","scopedSlots","_u","proxy","getPos","deleteRow","setTextSelection","addRowBefore","deleteColumn","addColumnBefore","addColumnAfter","extendNodeWithView","extend","TableView","TableCellView","TableHeaderView","selectedIndex","hasResults","itemHeight","itemInsideScrollView","watch","onKeyDown","selectItem","addRecent","_l","short_name","loadSyntaxHighlight","syntax","createEditor","richEditingExtensions","enableRichEditing","RichText","EditableTable","Emoji","emojiSearch","popup","onStart","VueRenderer","EmojiList","propsData","tippy","getReferenceClientRect","clientRect","appendTo","body","showOnCreate","interactive","trigger","placement","updateProps","setProps","hide","onExit","destroy","Placeholder","emptyNodeClass","placeholder","showOnlyWhenEditable","PlainText","Editor","History","SerializeException","isMobile","_isMobile","_onResize","beforeDestroy","documentElement","clientWidth","Modal","Tooltip","formatted","bold","italic","strikethrough","heading1","heading6","unorderdList","orderedList","checkList","blockQuote","codeBlock","isFormatted","toggleFormatted","translations","ctrl","getEntryClasses","actionEntry","isActive","getKeys","keyChar","keyModifiers","modifiers","k","keysString","isDisabled","action","getIsActive","getActionState","active","ariaLabel","label","disabled","BaseActionEntry","tooltip","mounted","$_updateState","updateState","EmojiPicker","Button","extends","toggleChildMenu","addEmoji","STATE_UPLOADING","ACTION_IMAGE_PROMPT","ACTION_CHOOSE_LOCAL_IMAGE","useUploadingStateMixin","$uploadingState","isUploadingImages","useActionImagePromptMixin","$callImagePrompt","useActionChooseLocalImageMixin","$callChooseLocalImage","undo","redo","toggleBold","toggleItalic","toggleUnderline","toggleStrike","visible","toggleBulletList","toggleOrderedList","toggleTaskList","toggleBlockquote","toggleCodeBlock","EmojiPickerAction","ActionImageUpload","click","isItem","bindState","runAction","$listeners","slot","role","ActionSingle","currentChild","iconKey","activeKey","onTrigger","entry","_b","ActionEntry","ctx","listeners","ActionList","HelpModal","autohide","displayHelp","forceRecompute","isReady","isVisible","windowWidth","iconsLimit","menubar","visibleEntries","hiddenEntries","remainAction","subscribe","unsubscribe","getWindowWidth","redrawAfterTransition","redrawMenuBar","showHelp","hideHelp","_t","provide","draggedOver","setDraggedOver","val","onPaste","onEditorDrop","onImageUploadFilePicked","chooseLocalImage","uploadImageFiles","uploadPromises","showError","uploadImageFile","showImagePrompt","insertImagePath","insertAttachmentImage","preventDefault","EditorContent","EditorMidiaHandler","MenuBar","MenuBubble","Reader","CollisionResolveDialog","GuestNameDialog","SessionList","Lock","richWorkspace","autofocus","mime","isDirectEditing","filteredSessions","idle","contentLoaded","lastSavedString","syncError","hasConnectionIssue","menubarLoaded","saveStatusPolling","contentWrapper","isRichWorkspace","lastSavedStatus","lastSavedStatusClass","dirtyStateIndicator","lastSavedStatusTooltip","lastSaved","hasSyncCollission","hasUnpushedChanges","hasUnsavedChanges","hasDocumentParameters","isRichEditor","fileExtension","displayed","renderMenus","fileData","saveStatusClass","created","updateLastSavedStatus","initSession","tiptap","getJSON","listenEditorEvents","unlistenEditorEvents","listenSyncServiceEvents","unlistenSyncServiceEvents","resolveUseThisVersion","resolveUseServerVersion","reconnect","updateSessions","onOpened","localStorage","Collaboration","Keymap","UserColor","onChange","onSync","collaboration","onError","onStateChange","onIdle","onSave","onFocus","onBlur","displayName","userId","htmlContent","updateContent","BaseReader","renderHtml","unmounted","preventOpeningLinks","PlainTextReader","RichTextReader","messages","mtime","MessageName","Values","attributesString","EditorWrapper","initial","saving","callMobileMessage","share","mimetype"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"editor.js?v=f172216e15ce4032262b","mappings":";+RAsBaA,EAASC,OAAO,iBAChBC,EAAOD,OAAO,eACdE,EAAiBF,OAAO,kBACxBG,EAAYH,OAAO,oBACnBI,EAAYJ,OAAO,oBACnBK,EAAiBL,OAAO,yBACxBM,EAAoBN,OAAO,4BAC3BO,EAAeP,OAAO,gBAEtBQ,EAAiB,CAC7BC,OAAQ,CACPC,QAAS,CAAEC,KAAMZ,EAAQa,QAAS,QAIvBC,EAAsB,CAClCJ,OAAQ,CACPK,aAAc,CAAEH,KAAMJ,EAAcK,QAAS,QAIlCG,EAAmB,CAC/BN,OAAQ,CACPO,UAAW,CAAEL,KAAMP,EAAWQ,SAAS,KAI5BK,EAA0B,CACtCR,OAAQ,CACPS,iBAAkB,CAAEP,KAAML,EAAmBM,SAAS,KAI3CO,EAAuB,CACnCV,OAAQ,CACPW,cAAe,CAAET,KAAMN,EAAgBO,SAAS,KAIrCS,EAAmB,CAC/BZ,OAAQ,CACPa,UAAW,CAAEX,KAAMR,EAAWS,SAAS,KAI5BW,EAAe,CAC3Bd,OAAQ,CACPe,MAAO,CACNb,KAAMV,EACNW,QAAS,iBAAO,CACfa,OAAQ,EACRC,aAAc,KACdC,SAAU,KAHF,KASCC,EAAmB,CAC/BnB,OAAQ,CACPoB,eAAgB,CACflB,KAAMT,EACNU,QAAS,CACRkB,QADQ,SACAC,GAEP,OADAC,EAAQC,KAAK,sEACN,CAACF,EACR,gjDCvBL,IAEMG,EAAW,SAACC,GAAD,MAAe,CAC/BC,YAAY,EACZC,OAF+B,SAExBC,EAFwB,GAEJ,IAAfC,EAAe,EAAfA,KAAMC,EAAS,EAATA,MACjB,OAAOF,EAAEH,EAAU,CAClBI,KAAAA,EACAE,IAAKF,EAAKE,IACVC,YAAaH,EAAKG,YAClBF,MAAO,EAAF,CAAIG,KATc,IAScH,IAEtC,EATe,EAYJI,EAAU,CACtBR,YAAY,EACZC,OAFsB,SAEfC,EAFe,GAEK,IAAfC,EAAe,EAAfA,KAAMC,EAAS,EAATA,MACjB,OAAOF,EAAEO,EAAAA,EAAa,CACrBN,KAAAA,EACAG,YAAa,mBACbF,MAAO,EAAF,CAAIG,KApBc,IAoBcH,IAEtC,GAGWM,EAAQZ,EAASa,EAAAA,GACjBC,EAAWd,EAASe,EAAAA,GACpBC,EAAShB,EAASiB,EAAAA,GAClBC,EAASlB,EAASmB,EAAAA,GAClBC,EAAWpB,EAASqB,EAAAA,GACpBC,GAAiBtB,EAASuB,EAAAA,SAC1BC,GAAWxB,EAASyB,EAAAA,GACpBC,GAAS1B,EAAS2B,EAAAA,GAClBC,GAAa5B,EAAS6B,EAAAA,GACtBC,GAAgB9B,EAAS+B,EAAAA,GACzBC,GAAgBhC,EAASiC,EAAAA,GACzBC,GAAgBlC,EAASmC,EAAAA,GACzBC,GAAgBpC,EAASqC,EAAAA,GACzBC,GAAgBtC,EAASuC,EAAAA,GACzBC,GAAgBxC,EAASyC,EAAAA,GACzBC,GAAe1C,EAAS2C,EAAAA,GACxBC,GAAqB5C,EAAS6C,EAAAA,GAC9BC,GAAqB9C,EAAS+C,EAAAA,GAC9BC,GAAqBhD,EAASiD,EAAAA,GAC9BC,GAAclD,EAASmD,EAAAA,GACvBC,GAAsBpD,EAASqD,EAAAA,GAC/BC,GAAkBtD,EAASuD,EAAAA,GAC3BC,GAAOxD,EAASyD,EAAAA,GAChBC,GAAQ1D,EAAS2D,EAAAA,GACjBC,GAAS5D,EAAS6D,EAAAA,GAClBC,GAAO9D,EAAS+D,EAAAA,GAChBC,GAAOhE,EAASiE,EAAAA,GAEhBC,IADOlE,EAASmE,EAAAA,GACLnE,EAASoE,EAAAA,IACpBC,GAAOrE,EAASsE,EAAAA,GAChBC,GAAQvE,EAASwE,EAAAA,GACjBC,GAAsBzE,EAAS0E,EAAAA,GAC/BC,GAAuB3E,EAAS4E,EAAAA,GAChCC,GAAmB7E,EAAS8E,EAAAA,GAC5BC,GAAoB/E,EAASgF,EAAAA,GAC7BC,GAAgBjF,EAASkF,EAAAA,GACzBC,GAAWnF,EAASoF,EAAAA,GACpBC,GAAOrF,EAASsF,EAAAA,GAChBC,GAASvF,EAASwF,EAAAA,GAClBC,GAAOzF,EAAS0F,EAAAA,kDC5F7B,iBAbkBC,EAAAA,OAAuB,CAExCC,WAFwC,SAE7BC,EAAOC,EAAMC,EAAQC,GAC/B,IAAK,IAAIC,EAAID,EAAQ,EAAGC,EAAIF,EAAOG,WAAYD,IAAK,CACX,MAAxC,GAAIF,EAAOI,MAAMF,GAAGG,OAASN,EAAKM,KAGjC,YAFA,UAAIL,EAAOI,MAAMF,GAAGI,YAApB,OAAI,EAAsBC,WAAW,MAAOT,EAAMU,MAAM,MACnDV,EAAMU,MAAM,QAGlB,CACD,mDCYF,QA9CiBC,EAAQ,OAAjBC,KAKgBC,OAAO,CAC9BC,KAAM,cACNC,UAF8B,WAG7B,MAAO,CACN,CACCC,IAAK,gBAGP,EACDC,WAT8B,WAU7B,MAAO,CAAC,OAAQ,CAAEC,MAAO,WAAa,EACtC,EACDnB,WAAY,CACXoB,KAAM,GACNC,MAAO,GACPC,SAAS,EACTC,QAAQ,EACRC,0BAA0B,GAM3BC,SAvB8B,WAuBnB,WACJC,EAAKC,KAAKC,OAAO3B,MAAMyB,GAE7BC,KAAKC,OAAO3B,MAAM4B,IAAIC,aAAY,SAAC5B,EAAM6B,EAAK5B,EAAQC,IACe,IAAhEF,EAAK8B,MAAMC,WAAU,SAAAC,GAAI,OAAIA,EAAK1B,KAAKO,OAAS,EAAKA,IAA5B,MACL,SAAnBb,EAAKM,KAAKO,MAAwC,IAArBb,EAAKO,KAAK0B,QAC1CT,EAAGU,WAAWL,EAAKA,EAAM7B,EAAKmC,SAAU,EAAK7B,MAG/C,IACGkB,EAAGY,aACNZ,EAAGa,QAAQ,gBAAgB,GAC3Bb,EAAGa,QAAQ,iBAAiB,GAC5BZ,KAAKC,OAAOY,KAAKC,SAASf,GAE3B,4tDCAF,IAAMgB,EAAWC,EAAAA,UAAAA,OAAiB,CAEjC5B,KAAM,WAEN6B,iBAJiC,SAIhBC,GAChB,IAAMC,EAAU,CACf/B,KAAM8B,EAAU9B,KAChBgC,QAASF,EAAUE,QACnBC,QAASH,EAAUG,SAEpB,MAAO,CACNhD,YAAYiD,EAAAA,EAAAA,mBAAkBJ,EAAW,aAAcC,GAExD,EAEDI,iBAfiC,SAehBL,GAChB,IAAMC,EAAU,CACf/B,KAAM8B,EAAU9B,KAChBgC,QAASF,EAAUE,QACnBC,QAASH,EAAUG,SAEpB,MAAO,CACNhD,YAAYiD,EAAAA,EAAAA,mBAAkBJ,EAAW,aAAcC,GAExD,IAIIK,EAA2B,SAAC,GAAqB,IAAnBC,EAAmB,EAAnBA,MAAOpB,EAAY,EAAZA,MACpCqB,EAAeC,EAAaC,EAAAA,GAAAA,OAC5BC,EAAeF,EAAaC,EAAAA,GAAAA,OAClC,MAAO,CACNE,WAAY,IAAIC,EAAAA,GAAJ,OACNL,GAAiBM,EAAkBP,IAD7B,OAENI,GAAiBG,EAAkB3B,KAEzC4B,UALM,SAKIC,EAASd,GAClB,OAAOpB,KAAK8B,WAAWG,UAAUC,EAA1B,OAAwCd,GAAxC,IAAiDe,YAAY,IACpE,EAEF,EAEKH,EAAoB,SAACI,GAC1B,OAAOC,OACLC,QAAQF,GACRG,KAAI,+BAAwB,CAAxB,UAA0CC,KAAKnE,WAA/C,IACJoE,QAAO,gCACPC,QAAO,SAACC,EAAD,gBAASvD,EAAT,KAAef,EAAf,mBACJsE,GADI,QAENvD,EAAOf,GAFD,GAGJ,CAAC,EACN,EAEKsD,EAAe,SAACiB,GACrB,IAAMC,EAAU,SAACzD,GAChB,OAAOA,EAAK0D,QAAQ,UAAU,SAACC,EAAIC,GAAL,OAAgBA,EAAOC,aAAvB,GAC9B,EACD,OAAOZ,OAAOa,YACbb,OAAOC,QAAQM,GACbL,KAAI,yBAAEnD,EAAF,KAAQ+D,EAAR,WAAmB,CAACN,EAAQzD,GAAO+D,EAAnC,IAEP,EAGD,0MCzGA,6hTC6FA,IAiBAC,EAAAA,SAAAA,ucAEA,mIACA,uEACA,SACA,aAHA,CAIA,+FANAA,GAAAC,QAUA,MC1H0K,ED0H1K,CACAjE,KAAAA,YACAkE,WAAAA,CACAC,UAAAA,EAAAA,GACA3F,SAAAA,EAAAA,GACA4F,gBAAAA,EAAAA,IAEAC,WAAAA,CACAC,aAAAA,KAEAC,OAAAA,CACAC,EAAAA,EACAzL,EAAAA,IAEAY,MAAAA,CAAAA,SAAAA,OAAAA,YAAAA,mBAAAA,cACAD,KAfA,WAgBA,OACA+K,aAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,SAAAA,KACAC,aAAAA,KAEA,EACAC,SAAAA,CACAC,gBADA,WAEA,mCAIA,4BAIA,8BACA,EACAC,YAZA,WAaA,OAjEA,cACA,sBACA,eAGA,sBACA,cAGA,4BACA,sBACA,gCACA,+BAEA,CAVA,CAWA,CAkDA,mBACA,EACAC,iBAfA,WAgBA,4BACAC,IAAAA,EAAAA,GAAAA,QAAAA,KAAAA,KACA,EACAC,oBAnBA,WAoBA,yBACA,yCAEA,QACA,EACAlM,IAAAA,CACAmM,IADA,WAEA,8BACA,EACAC,IAJA,SAIApM,GACA,uBACAA,IAAAA,GAEA,GAEAqM,IAAAA,CACAF,IADA,WAEA,iDACA,EACAC,IAJA,SAIAC,GACA,uBACAA,IAAAA,GAEA,GAEAC,EA7CA,WA8CA,0CACA,EACAC,MAhDA,WAiDA,gDACA3M,SAAAA,eAAAA,gBAAAA,KACA,GAEA4M,YA9EA,WA+EA,0BAMA,OAJA,eACA,oBACA,oBACA,sDAGA,YACAC,MAAA,wBACA,EACAC,QAAAA,CACAC,KADA,WACA,iIACA,gCADA,SACAC,EADA,KACAC,EADA,uBAEA,kCACA,SACA,eAIA,iBACA,KATA,4CAUA,EAEAC,UAbA,SAaAnB,GAAA,qIACA,2BACA,gBACAoB,EAAAA,OAAAA,WACA,aACA,iBACA,YACAhN,EAAAA,EACA,EACAgN,EAAAA,QAAAA,SAAAA,GACAC,EAAAA,IAAAA,EAAAA,EAAAA,GACA,EACAD,EAAAA,IAAAA,CACA,KAbA,4CAcA,EACAE,mBA5BA,SA4BAC,GACA,eACA,oBACA,eACA,4BAEA,iBACA,qEAGA,oBAAAC,MAAAA,EAAAnN,IAAAA,KAAAA,KACA,EACAoN,UAxCA,SAwCAC,GACA,uBACAhB,IAAAA,EAAAA,OAAAA,OAEA,EACAiB,SA7CA,WA6CA,WACA,eACA,2BACA,kCACA,GACA,0IE3PIxE,GAAU,CAAC,EAEfA,GAAQyE,kBAAoB,KAC5BzE,GAAQ0E,cAAgB,IAElB1E,GAAQ2E,OAAS,SAAc,KAAM,QAE3C3E,GAAQ4E,OAAS,IACjB5E,GAAQ6E,mBAAqB,IAEhB,IAAI,KAAS7E,IAKJ,MAAW,aAAiB,4BCPlD,UAXgB,QACd,GCTW,WAAa,IAAI8E,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACA,EAAG,MAAM,CAACpN,YAAY,mBAAmBuG,MAAM,CAAC,gBAAiB0G,EAAIpC,OAAQ,qBAAsBoC,EAAInC,QAAQwC,MAAM,CAAC,iBAAiB,aAAa,WAAWL,EAAI5N,MAAM,CAAE4N,EAAmB,gBAAEG,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,gBAAgBoH,QAAQ,kBAAkBrD,MAAM,WAAe,OAAO+C,EAAIlC,WAAY,CAAQ,EAAEyC,WAAW,4BAA4BxN,YAAY,cAAcyN,GAAG,CAAC,MAAQ,SAASC,GAAQT,EAAIlC,WAAY,CAAI,EAAE,UAAY,SAAS2C,GAAQT,EAAIlC,WAAY,CAAI,EAAE,WAAa,SAAS2C,GAAQT,EAAIlC,WAAY,CAAK,IAAI,CAACqC,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAAGL,EAAInC,OAAuL,CAACsC,EAAG,YAAY,CAACpN,YAAY,uCAAuCsN,MAAM,CAAC,KAAO,QAAjQ,CAACF,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,OAAOoH,QAAQ,SAASrD,MAAO+C,EAAU,OAAEO,WAAW,WAAWxN,YAAY,cAAcsN,MAAM,CAAC,IAAML,EAAIjC,UAAUyC,GAAG,CAAC,KAAOR,EAAIN,cAAwG,GAAGM,EAAIU,GAAG,KAAKP,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,OAAOoH,QAAQ,SAASrD,MAAO+C,EAAU,OAAEO,WAAW,WAAWxN,YAAY,kBAAkB,CAACoN,EAAG,QAAQ,CAACQ,IAAI,WAAW5N,YAAY,wBAAwBsN,MAAM,CAAC,KAAO,QAAQO,SAAS,CAAC,MAAQZ,EAAIvB,KAAK+B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAIA,EAAO9H,KAAKkI,QAAQ,QAAQb,EAAIc,GAAGL,EAAOM,QAAQ,QAAQ,GAAGN,EAAO3N,IAAI,SAAkB,KAAckN,EAAIR,UAAUwB,MAAM,KAAMC,UAAU,KAAKjB,EAAIU,GAAG,KAAMV,EAAIjG,OAAOmH,YAAclB,EAAIlC,UAAWqC,EAAG,MAAM,CAACpN,YAAY,yBAAyBsN,MAAM,CAAC,MAAQ,qBAAqBG,GAAG,CAAC,MAAQR,EAAImB,aAAa,CAAChB,EAAG,aAAa,GAAGH,EAAIoB,UAAU,GAAGjB,EAAG,MAAM,CAACpN,YAAY,4BAA4B,CAACoN,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,OAAOoH,QAAQ,SAASrD,MAAO+C,EAAU,OAAEO,WAAW,YAAY,CAACJ,EAAG,IAAI,CAACE,MAAM,CAAC,KAAOL,EAAI1B,oBAAoB,OAAS,WAAW,CAAG0B,EAAI5B,iBAAuD4B,EAAIoB,KAAzCjB,EAAG,OAAO,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAIvB,cAAuBuB,EAAIU,GAAG,KAAMV,EAAoB,iBAAEG,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,OAAOoH,QAAQ,SAASrD,MAAO+C,EAAU,OAAEO,WAAW,WAAWxN,YAAY,kBAAkB,CAACoN,EAAG,QAAQ,CAACQ,IAAI,WAAWN,MAAM,CAAC,KAAO,QAAQO,SAAS,CAAC,MAAQZ,EAAIvB,KAAK+B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAIA,EAAO9H,KAAKkI,QAAQ,QAAQb,EAAIc,GAAGL,EAAOM,QAAQ,QAAQ,GAAGN,EAAO3N,IAAI,SAAkB,KAAckN,EAAIR,WAAW,SAASQ,EAAIoB,MAAM,GAAGpB,EAAIU,GAAG,KAAMV,EAAgB,aAAEG,EAAG,QAAQ,CAACpN,YAAY,wBAAwB,CAACiN,EAAIU,GAAG,WAAWV,EAAIqB,GAAGrB,EAAIhC,cAAc,YAAYgC,EAAIoB,QAAQ,GAC3/E,IDWpB,EACA,KACA,WACA,MAI8B,gWEoEhC,SA5DcE,EAAAA,GAAAA,OAAmB,CAEhCC,YAAY,EAEZlI,WAJgC,WAO/B,MAAO,CAAC,MACR,EAEDmI,WAVgC,WAUnB,MACZ,yWAAO,CAAP,aACI1H,KAAKxB,cADT,aACI,OAAAwB,MAEJ,EAED2H,YAhBgC,WAiB/B,OAAOC,EAAAA,EAAAA,IAAoBC,GAC3B,EAEDC,sBApBgC,WAqB/B,MAAO,CACN,IAAIC,EAAAA,GAAO,CACVhP,MAAO,CACNiP,WAAY,SAACnH,EAAM8E,EAAOsC,GAEzB,GAAItC,EAAMuC,aAAaC,OAASxC,EAAMuC,aAAaC,MAAM3H,OAAS,EAAG,CACpE,IAAM4H,EAAcvH,EAAKwH,YAAY,CAAEC,KAAM3C,EAAM4C,QAASC,IAAK7C,EAAM8C,UACjEC,EAAc,IAAIC,YAAY,aAAc,CACjDC,SAAS,EACTC,OAAQ,CACPV,MAAOxC,EAAMuC,aAAaC,MAC1BW,SAAUV,EAAYhI,OAIxB,OADAuF,EAAMoD,OAAOC,cAAcN,IACpB,CACP,CACD,EACDO,YAAa,SAACpI,EAAM8E,EAAOsC,GAE1B,GAAItC,EAAMuD,cAAcf,OAASxC,EAAMuD,cAAcf,MAAM3H,OAAS,EAAG,CAEtE,IAAMkI,EAAc,IAAIC,YAAY,cAAe,CAClDC,SAAS,EACTC,OAAQ,CACPV,MAAOxC,EAAMuD,cAAcf,SAI7B,OADAxC,EAAMoD,OAAOC,cAAcN,IACpB,CACP,CACD,KAIJ,isBCtEF,kBAXgBS,EAAAA,OAAqB,CAEpCC,qBAFoC,WAEb,WACtB,OAAOpJ,KAAKoB,QAAQiI,OAAO3G,QAAO,SAACC,EAAO2G,GAAR,UAAC,MAC/B3G,GAD8B,6BAEnB2G,IAAU,kBAAM,EAAKrJ,OAAOsJ,SAASC,cAAc,CAAEF,MAAAA,GAA3C,IAFS,GAG9B,CAAC,EACL,ICqCF,iBAhBmBG,GAAAA,OAAwB,CAC1CpK,UAD0C,WAEzC,OAAOW,KAAKxB,SAAS+D,KAAI,SAAAmH,GAAI,OAAIrH,OAAOsH,OAAOD,EAAM,CAAEE,oBAAoB,GAA9C,GAC7B,EAEDC,cAL0C,WAMzC,MAAO,ECLeC,EDOpB,yBCP0BjL,EDQ1BmB,KAAKnB,KCCD,IAAIkL,EAAAA,UAAU,CAAED,KAAAA,EAAME,QARb,SAAC,GAA4B,IAA1B1L,EAA0B,EAA1BA,MAAO2L,EAAmB,EAAnBA,MAAOC,EAAY,EAAZA,OACnBC,EAAAA,EAAAA,mBAAkB,CAAEL,KAAAA,EAAMjL,KAAAA,EAAMuL,cAAAA,IACxCJ,QAAQ,CAAE1L,MAAAA,EAAO2L,MAAAA,EAAOC,MAAAA,IAEzBA,EAAM1J,QAAU,GACnBlC,EAAMyB,GAAGsK,WAAWH,EAAM,GAE3B,MARa,IAASJ,EAAMjL,EAAMuL,CDWlC,IEHF,kBAfiBE,EAAAA,OAAsB,CAEtCjL,UAAW,CACV,CACCkL,SAAU,IACVjL,IAAK,0BAIPjB,WAAY,SAACC,EAAOC,GACnBD,EAAMkM,WAAWjM,EAAM,MAAM,kBAAOA,EAAKgI,MAAMkE,QAAU,KAAO,GAAnC,GAC7B,0nCCkGF,SA1GiBC,GAAAA,GAAAA,OAAsB,CAEtChD,WAFsC,WAGrC,MAAO,CACNiD,QAAQ,EACRC,eAAgB,CAAC,EAElB,EAEDC,WAAW,EAEX3I,QAAS,mBAET4I,cAbsC,WAcrC,IAAMC,oWAAS,IAAK/K,KAAKxB,UAIzB,OAHAuM,EAAOC,QAAQ3L,UAAY,SAAA4L,GAAM,MAChC,iBAAOA,EAAGC,cAAc,+BAAxB,aAAO,EAA0CF,OACjD,EACMD,CACP,EAED1L,UAAW,CACV,CACCkL,SAAU,IACVjL,IAAK,KACL6L,SAAU,SAAAF,GAET,OADiBA,EAAGC,cAAc,uBAElC,EACD/J,QAAS,cAIX5B,WAjCsC,YAiCD,IAAxBhB,EAAwB,EAAxBA,KAAMqM,EAAkB,EAAlBA,eACZQ,EAAiB,CAAE5L,MAAO,iBAC1B6L,EAAqB,CAAExM,KAAM,WAAYW,MAAO,GAAI8L,iBAAiB,GAK3E,OAJI/M,EAAKgI,MAAMyE,UACdK,EAAmBL,SAAU,EAC7BI,EAAe5L,OAAS,YAElB,CACN,MACA+L,EAAAA,EAAAA,iBAAgBX,EAAgBQ,GAChC,CACC,QACAC,GAED,CACC,QACA,GAGF,EAGD1D,aAAa,EAEbtJ,WAAY,SAACC,EAAOC,GACnBD,EAAMU,MAAN,WAAgBT,EAAKgI,MAAMyE,QAAU,IAAM,IAA3C,OACA1M,EAAMkN,cAAcjN,EACpB,EAEAsL,cA9DqC,WA+DrC,MAAO,GAAP,UACI7J,KAAKxB,UADT,EAEC2L,EAAAA,EAAAA,mBAAkB,CACjBL,KAAM,kCACNjL,KAAMmB,KAAKnB,KACXuL,cAAe,SAAAF,GAAK,MAAK,CACxBc,QAAS,KAAKS,SAASvB,EAAMA,EAAM1J,OAAS,IADzB,KAKtB,EAEDsH,sBA3EsC,WA4ErC,MAAO,CACN,IAAIC,EAAAA,GAAO,CACVhP,MAAO,CACN2S,YAAa,SAAC7K,EAAMT,EAAKuF,GACxB,IAAMrH,EAAQuC,EAAKvC,MACbqN,EAASrN,EAAMqN,OAEfvD,EAAcvH,EAAKwH,YAAY,CAAEC,KAAM3C,EAAM4C,QAASC,IAAK7C,EAAM8C,UACjEK,EAAWxK,EAAM4B,IAAI7H,QAAQ+P,EAAYhI,KACzCwL,GAAaC,EAAAA,GAAAA,IAA2B/C,GAAU,SAASvK,GAChE,OAAOA,EAAKM,OAAS8M,EAAOlK,MAAMqK,UAC9BvN,EAAKM,OAAS8M,EAAOlK,MAAMsK,QAC/B,IAED,GAD6D,OAAvCpG,EAAMoD,OAAOiD,QAAQC,eAEtCL,GACDA,EAAWrN,KAAKM,OAAS8M,EAAOlK,MAAMqK,SAF1C,CAKA,IAAM/L,EAAKzB,EAAMyB,GACjBA,EAAGmM,cAAcN,EAAWxL,IAAKuL,EAAOlK,MAAMqK,SAAU,CAAEd,SAAUY,EAAWrN,KAAKgI,MAAMyE,UAC1FnK,EAAKC,SAASf,EAHb,CAID,KAIJ,oBC9FF,IACAoM,KAAAA,EAAAA,GACAC,QAAAA,EAAAA,GACA3G,MAAAA,EAAAA,GACAjN,KAAAA,EAAAA,IAGA,MC1CwK,GD0CxK,CAEA4G,KAAAA,UACAkE,WAAAA,CACAE,gBAAAA,EAAAA,GACA6I,gBAAAA,EAAAA,IAEAtT,MAAAA,CACAwF,KAAAA,CACAM,KAAAA,OACAyN,UAAAA,IAGAnI,SAAAA,CACAoI,KADA,WAEA,0BACA,EACA1N,KAJA,WAIA,QACA,8FACA,oBElDI,GAAU,CAAC,EAEf,GAAQgH,kBAAoB,KAC5B,GAAQC,cAAgB,IAElB,GAAQC,OAAS,SAAc,KAAM,QAE3C,GAAQC,OAAS,IACjB,GAAQC,mBAAqB,IAEhB,IAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACpN,YAAY,UAAUuG,MAAO,YAAc0G,EAAIrH,KAAM0H,MAAM,CAAC,eAAe,UAAU,GAAK,QAAQ,CAACF,EAAGH,EAAIqG,KAAK,CAACjN,IAAI,YAAYrG,YAAY,kBAAkBiN,EAAIU,GAAG,KAAKP,EAAG,kBAAkB,CAACpN,YAAY,sBAAsB,EAAE,GACpU,IDWpB,EACA,KACA,WACA,MAI8B,qsBEShC,SAAeuT,EAAAA,KAAAA,OAAY,CAE1BpN,KAAM,UAEN8C,QAAS,aAETuK,MAAO,QAEPC,UAAU,EAEVhF,WAV0B,WAWzB,MAAO,CACNiF,MAAOC,GAAAA,EACPhC,eAAgB,CACfpL,MAAO,WAGT,EAEDsL,cAnB0B,WAoBzB,MAAO,CACNjM,KAAM,CACL1H,QAAS,OACT0V,UAAU,EACVxN,UAAW,SAAAyN,GACV,OAAOA,EAAQC,aAAa,iBACxBH,GAAAA,EAAAA,MAAoB,SAAC/N,GAAD,OAAUiO,EAAQE,UAAUC,SAASpO,EAArC,KACnBiO,EAAQE,UAAUC,SAAS,YAAc,MAC9C,EACD1N,WAAY,SAAA2N,GACX,MAAO,CACN,eAAgBA,EAAWrO,KAC3BW,MAAO,WAAF,OAAa0N,EAAWrO,MAE9B,GAGH,EAEDQ,UAvC0B,WAwCzB,MAAO,CACN,CACCC,IAAK,eAEN,CACCA,IAAK,YACLiL,SAAU,MAGZ,EAEDhL,WAnD0B,YAmDW,IAAxBhB,EAAwB,EAAxBA,KAAMqM,EAAkB,EAAlBA,eACHuC,EAAWnN,KAAKoB,QAAQwJ,eAA/BpL,MAEF0N,EAAa,SACflN,KAAKoB,QAAQwJ,gBADD,IAEf,eAAgBrM,EAAKgI,MAAM1H,KAC3BW,MAAO,GAAF,OAAK2N,EAAL,YAAeA,EAAf,YAAyB5O,EAAKgI,MAAM1H,QAG1C,MAAO,CAAC,OAAO0M,EAAAA,EAAAA,iBAAgB2B,EAAYtC,GAAiB,EAC5D,EAEDvM,WAAY,SAACC,EAAOC,GACnBD,EAAMU,MAAM,QAAUT,EAAKgI,MAAM1H,MAAQ,QAAU,MACnDP,EAAMkN,cAAcjN,GACpBD,EAAM8O,gBACN9O,EAAMU,MAAM,OACZV,EAAM+O,WAAW9O,EACjB,EAEDoJ,YAvE0B,WAwEzB,OAAOC,EAAAA,EAAAA,IAAoB0F,GAC3B,EAEDC,YA3E0B,WA2EZ,WACb,MAAO,CACNC,WAAY,SAAAN,GAAU,OAAI,YACzB,OAD2C,EAAf3D,SACZkE,OAAO,EAAKrO,KAAM8N,EAClC,CAFqB,EAGtBQ,cAAe,SAAAR,GAAU,OAAI,YAAyB,IAAtB3D,EAAsB,EAAtBA,SAAUjL,EAAY,EAAZA,MACzC,OAAKqP,EAAAA,EAAAA,cAAarP,EAAO,EAAKc,OAIzBuO,EAAAA,EAAAA,cAAarP,EAAO,EAAKc,KAAM8N,GAI7B3D,EAASqE,eAHRrE,EAASsE,iBAAiB,EAAKzO,KAAM8N,GAJrC3D,EAASiE,WAAWN,EAQ5B,CAVwB,EAWzBU,aAAc,kBAAM,YACnB,OADqC,EAAfrE,SACNuE,KAAK,EAAK1O,KAC1B,CAFa,EAIf,4gCClGF,IAkBM2O,GAAU,SAASC,GACxB,IAAMC,EAAMD,EAAKE,YAAY,KAC7B,OAAQD,EAAM,EACXD,EAAK/F,MAAM,EAAGgG,GACdD,EAAK/F,MAAM,EAAGgG,EAAM,EACvB,EAEKE,GAAU,SAAS5P,GACxB,IAAMsI,EAAMtI,EAAKgI,MAAM6H,KACvB,IAAKvH,EACJ,OAAOA,EAER,GAAIA,EAAIqD,MAAM,eACb,OAAOrD,EAER,IAAMqD,EAAQrD,EAAIqD,MAAM,0BACxB,GAAIA,EAAO,CACV,SAAwBA,EAAxB,GAASmE,EAAT,KAAkBC,EAAlB,KAEMC,EArCa,SAASC,EAAMC,GACnC,IAAKA,EACJ,OAAOD,EAER,GAAe,MAAXC,EAAI,GACP,OAAOA,EAIR,IAFAD,EAAOA,EAAKE,MAAM,KAClBD,EAAMA,EAAIC,MAAM,KACE,OAAXD,EAAI,IAA0B,MAAXA,EAAI,IACd,OAAXA,EAAI,IACPD,EAAKG,MAENF,EAAIG,QAEL,OAAOJ,EAAKK,OAAOJ,GAAKK,KAAK,IAC7B,CAqBaC,CADOhB,GAAQiB,IAAIC,OAAOjB,MACDD,GAAQM,IAC7C,OAAOa,EAAAA,EAAAA,aAAY,oBAAD,OAAqBX,EAArB,qBAAqCD,EAArC,oBAAmDD,GACrE,CACD,EAEKc,GAAY,SAASC,GAC1B,IAAMvI,EAAMuI,EAAIrC,aAAa,QAC7B,IAAKlG,EACJ,OAAOA,EAER,IAAMqD,EAAQrD,EAAIqD,MAAM,kDACxB,GAAIA,EAAO,CACV,SAAuBA,EAAvB,GAAWoE,EAAX,KAAee,EAAf,KACA,MAAO,GAAP,OAAUA,EAAV,mBAAyBf,EACzB,CACD,OAAOzH,CACP,EAEKyI,GAAW,SAAS3J,EAAO4J,GAChC,IACMC,EADc7J,EAAMoD,OAAO0G,QAAQ,KACZrB,KACvBsB,EAAQC,GAAGC,iBAAiBJ,GAC5BK,EAAWF,GAAGC,iBAAiBJ,EAASd,MAAM,KAAKC,OACzD,GAAIe,EAAMnB,KAAOsB,EAASxB,QAAS,CAClC,IAAMyB,EAAWD,EAASxB,QAAQK,MAAM,KAAKC,MACvCU,EAAO,GAAH,OAAMK,EAAMnB,IAAZ,YAAmBuB,GAQ7B,OAPA5X,SAAS6X,MAAT,UAAoBD,EAApB,cAAkCH,GAAGK,MAAMD,OACvCE,OAAOC,SAASC,SAASjG,MAAM,uBAKnC8E,IAAIC,OAAOxP,KAAK,CAAE4P,KAAAA,GAElB,CACD,IAAIK,EAAM1X,OAKV,OAAKoY,GAAAA,EAAAA,aAAwBZ,IAI7BS,OAAOxQ,KAAK+P,IACL,IAJNjX,GAAQkN,MAAM,eAAgB+J,IACvB,GALPS,OAAOxQ,MAAKyP,EAAAA,EAAAA,aAAY,MAAD,OAAOQ,EAAM1X,SASrC,cC1GKqY,GAAe,SAAC,GAA8B,EAA5BpQ,OAA4B,IAApBpB,EAAoB,EAApBA,KAAMyR,EAAc,EAAdA,QACrC,OAAO,IAAIvI,EAAAA,GAAO,CACjBhP,MAAO,CACNC,IAAK,IAAIuX,EAAAA,GAAU,YACnB7E,YAAa,SAAC7K,EAAMT,EAAKuF,GACxB,IACM6K,EADW3P,EAAKvC,MAAM4B,IAAI7H,QAAQ+H,GAClBC,QAAQyJ,MAAK,SAAA2G,GAAC,OAAIA,EAAE5R,KAAKO,OAASP,EAAKO,IAAzB,IACpC,QAAKoR,IAGAA,EAAKjK,MAAM6H,KAOK,IAAjBzI,EAAM+K,QAAiB/K,EAAMgL,aAAjC,GACChL,EAAMiL,kBACCN,aAAP,EAAOA,EAAU3K,EAAO6K,EAAKjK,SAR7BhO,GAAQC,KAAK,qCACbD,GAAQsY,MAAML,IACP,GAQR,IAGH,i8CC6DD,SA7DaM,GAAAA,EAAAA,OAAkB,CAE9BpJ,WAF8B,WAEjB,MACZ,OAAO,SAAP,QAAO,EACH1H,KAAKxB,cADT,aACI,OAAAwB,OADJ,IAECsQ,QAAShB,IAEV,EAEDxE,cAT8B,WAU7B,MAAO,CACNsD,KAAM,CACLjX,QAAS,MAEV4Y,MAAO,CACN5Y,QAAS,MAGX,EAED4Z,WAAW,EAEX1R,UAAW,CACV,CACCC,IAAK,UACL6L,SAAU,SAAAiE,GAAG,MAAK,CACjBhB,KAAMe,GAAUC,GAChBW,MAAOX,EAAIrC,aAAa,SAFZ,IAOfxN,WAAY,gBAAGgB,EAAH,EAAGA,KAAH,EAASqK,eAAT,MAA8B,CAAC,IAAD,SACtCrK,EAAKgG,OADiC,IAEzC6H,KAAMD,GAAQ5N,GACdkO,IAAK,iCACH,EAJS,EAMZ3G,sBAtC8B,WAuC7B,IAAMkJ,EAAUhR,KAAKxB,SAEnBiE,QAAO,YACP,OADoB,EAAVzJ,IACE+F,WAAW,kBACvB,IAEF,OAAKiB,KAAKoB,QAAQ6P,YAKX,GAAP,UACID,GADJ,CAECX,GAAa,CACZpQ,OAAQD,KAAKC,OACbpB,KAAMmB,KAAKnB,KACXyR,QAAStQ,KAAKoB,QAAQkP,YAThBU,CAYR,IC5DF,kBAAeE,GAAAA,OAAoB,CAElC7R,UAFkC,WAGjC,MAAO,CACN,CACCC,IAAK,KAEN,CACCA,IAAK,OAEN,CACCA,IAAK,UAEN,CACC6R,MAAO,kBACPhG,SAAU,SAAAhI,GAAK,MAAc,iBAAVA,CAAJ,GAGjB,EAED5D,WApBkC,WAqBjC,MAAO,CAAC,IAAK,EACb,EAGDlB,WAAY,CACXoB,KAAM,KACNC,MAAO,KACPC,SAAS,EACTE,0BAA0B,qBCN5B,SAtBeuR,GAAAA,GAAAA,OAAY,CAC1BhS,KAAM,SAENyK,cAH0B,WAIzB,MAAO,EACNwH,EAAAA,EAAAA,eAAc,CACbvH,KAAMwH,GAAAA,GACNzS,KAAMmB,KAAKnB,OAGb,EAED0S,cAZ0B,WAazB,MAAO,EACNC,EAAAA,EAAAA,eAAc,CACb1H,KAAM2H,GAAAA,GACN5S,KAAMmB,KAAKnB,OAGb,IC2BF,kBA7CkB6S,EAAAA,OAAuB,CAExCrS,UAFwC,WAGvC,MAAO,CACN,CACCC,IAAK,KAEN,CACC6R,MAAO,kBACPhG,SAAU,SAAAhI,GAAK,MAAc,cAAVA,CAAJ,GAGjB,EAED5D,WAdwC,WAevC,MAAO,CAAC,IAAK,EACb,EAEDlB,WAAY,CACXoB,KAAM,KACNC,MAAO,KACPC,SAAS,EACTE,0BAA0B,GAG3BgK,cAzBwC,WA0BvC,MAAO,EACNwH,EAAAA,EAAAA,eAAc,CACbvH,KAAM6H,GAAAA,GACN9S,KAAMmB,KAAKnB,OAGb,EAED0S,cAlCwC,WAmCvC,MAAO,EACNC,EAAAA,EAAAA,eAAc,CACb1H,KAAM8H,GAAAA,GACN/S,KAAMmB,KAAKnB,OAGb,ICvCF,IAAMgT,GAASC,GAAAA,GAAAA,OAAoB,CAClC1S,KAAM,s8CCmBP,IAAM2S,GAAYC,EAAAA,EAAAA,OAAuB,CACxC3S,UADwC,WAEvC,OAAOW,KAAKxB,SAAS+D,KAAI,SAAAmH,GAAI,OAAIrH,OAAOsH,OAAOD,EAAM,CAAEE,mBAAoB,QAA9C,GAC7B,IAGF,SAAe5I,EAAAA,UAAAA,OAAiB,CAC/B5B,KAAM,WAENsI,WAH+B,WAI9B,MAAO,CACN8I,KAAM,CAAC,EACPyB,WAAY,GAEb,EAEDC,cAV+B,WAW9B,IAAMC,EAAoB,CACzBtY,EAAAA,EACAuY,EAAAA,EACAL,GACAM,EAAAA,EACAC,GACAC,GACAV,GACAW,GACAC,EAAAA,GACAC,EAAAA,GACAC,EAAAA,GACAC,GACAC,EAAAA,EACAC,EAAAA,GACAC,EAAAA,EACA/V,EACAgW,GACAC,GACA3F,GACA4F,GACA/W,GAAAA,UAAgB,CACfgX,QAAQ,IAETC,EAAAA,EACAC,EAAAA,IAEyB,IAAtBrT,KAAKoB,QAAQoP,MAChB2B,EAAkBmB,KAAK7W,GAAAA,UAAA,SACnBuD,KAAKoB,QAAQoP,MADM,IAEtBS,aAAa,MAGf,IAAMsC,EAA2BvT,KAAKoB,QAAQ6Q,WAAW1P,KAAI,SAAAiR,GAAC,OAAIA,EAAEpU,IAAN,IAC9D,MAAO,GAAP,UACIY,KAAKoB,QAAQ6Q,YADjB,GAEIE,EAAkB1P,QAAO,SAAA+Q,GAAC,OAAKD,EAAyB9H,SAAS+H,EAAEpU,KAAzC,KAE9B,w0BC5EK,IAAMqU,EAAiB,IAAIlD,EAAAA,GAAU,SA0C5C,QAxCc/D,EAAAA,KAAAA,OAAY,CACzBpN,KAAM,QAENsI,WAHyB,WAIxB,MAAO,CACNkD,eAAgB,CAAC,EACjB8I,WAAY,CACXC,KAAM,IACNC,UAAWH,EACXI,QAAS,YAA8B,IAA3B5T,EAA2B,EAA3BA,OAAQgK,EAAmB,EAAnBA,MAAOlR,EAAY,EAAZA,MAC1BkH,EACE6T,QACAC,QACAC,gBAAgB/J,EAAOlR,EAAMkb,OAAS,KACtCC,KACF,GAGH,EAEDhS,QAAS,QAETqL,YAtByB,WAuBxB,MAAO,CACN4G,MAAO,SAACC,GAAD,OAAiB,YACvB,OADyC,EAAf7K,SACV8K,cAAcD,EAAYH,OAAS,IACnD,CAFM,EAIR,EAEDnM,sBA9ByB,WA+BxB,MAAO,EACNwM,EAAAA,EAAAA,IAAW,EAAD,CACTrU,OAAQD,KAAKC,QACVD,KAAKoB,QAAQsS,aAGlB,aCZF,QA7Be1S,EAAAA,UAAAA,OAAiB,CAE/B5B,KAAM,eAENgK,qBAJ+B,WAK9B,OAAOpJ,KAAKoB,OACZ,EAED0G,sBAR+B,WAS9B,MAAO,CACN,IAAIC,EAAAA,GAAO,CACVhP,MAAO,CACNwb,cADM,SACQ1T,EAAM8E,GACnB,IAAM3M,EAAM2M,EAAM3M,KAAO2M,EAAMsB,QAC/B,IAAKtB,EAAMgL,SAAWhL,EAAM6O,WAAa7O,EAAM8O,WAAqB,MAARzb,GAAuB,KAARA,GAK1E,OAFA2M,EAAMiL,kBACNX,OAAOjH,cAAcrD,IACd,CAER,KAIJ,qSC5BK,IAAM+O,EAAb,GAEC,WAAYxd,EAAMyd,EAAIC,gGAAQ,SAC7B5U,KAAK9I,KAAOA,EACZ8I,KAAK2U,GAAKA,EACV3U,KAAK4U,OAASA,CACd,0KCMF,SAASC,EAAetS,EAAKuS,EAAWC,GAGvC,IAFA,IAAMC,EAAS,GACTC,EAAUH,EAAUG,QACjBvW,EAAI,EAAGA,EAAI6D,EAAI/B,OAAQ9B,IAAK,CACpC,IAAMwW,EAAO3S,EAAI7D,GACXxH,EAAO+d,EAAQ1S,IAAI2S,EAAKhe,KAAM,GAC9Byd,EAAKM,EAAQ1S,IAAI2S,EAAKP,IAAK,GAC7Bzd,EAAOyd,GAAIK,EAAO1B,KAAK,IAAIoB,EAAKxd,EAAMyd,EAAIO,EAAKN,QACnD,CAED,IAVkD,eAUzClW,GACR,IAAM6D,EAAM0S,EAAQE,KAAKzW,GAAU0W,EAAQH,EAAQhN,MAAMvJ,EAAI,GAC7D6D,EAAI8S,SAAQ,SAAC9N,EAAID,EAAIgO,EAAOrH,IAc9B,SAA4B1L,EAAKrL,EAAMyd,EAAIC,GAC1C,GAAI1d,GAAQyd,EACX,OAID,IAFA,IACIY,EADAnV,EAAM,EAEHA,EAAMmC,EAAI/B,OAAQJ,IAExB,IADAmV,EAAOhT,EAAInC,IACFwU,SAAWA,GACnB,GAAIW,EAAKZ,IAAMzd,EAAM,WACf,GAAIqe,EAAKZ,GAAKzd,EAAM,CAC1B,GAAIqe,EAAKre,KAAOA,EAAM,CACrB,IAAMoR,EAAO,IAAIoM,EAAKa,EAAKre,KAAMA,EAAMqe,EAAKX,QACxCW,EAAKZ,GAAKA,EAAIpS,EAAIiT,OAAOpV,IAAO,EAAGkI,GAClC/F,EAAInC,KAASkI,CAClB,CACD,KACA,CAIF,KAAQiN,EAAOhT,EAAInC,IAClB,GAAImV,EAAKX,SAAWA,EAAQ,CAC3B,GAAIW,EAAKre,KAAOyd,EAAI,MACpBzd,EAAOue,KAAKC,IAAIxe,EAAMqe,EAAKre,MAC3Byd,EAAKc,KAAKE,IAAIhB,EAAIY,EAAKZ,IACvBpS,EAAIiT,OAAOpV,EAAK,EAChB,KAAM,CACN,GAAImV,EAAKre,MAAQyd,EAAI,MACrB,GAAIY,EAAKZ,GAAKA,EAAI,CACjBpS,EAAInC,GAAO,IAAIsU,EAAKC,EAAIY,EAAKZ,GAAIY,EAAKX,QACtC,KACA,CACArS,EAAIiT,OAAOpV,EAAK,EAEjB,CAGFmC,EAAIiT,OAAOpV,EAAK,EAAG,IAAIsU,EAAKxd,EAAMyd,EAAIC,GACtC,CApDEgB,CAAmBZ,EAAQI,EAAM7S,IAAI+S,EAAO,GAAIF,EAAM7S,IAAI0L,GAAM,GAAI8G,EAAUrW,GAC9E,GAdgD,EAUzCA,EAAI,EAAGA,EAAIuW,EAAQE,KAAK3U,OAAQ9B,IAAK,EAArCA,GAOT,OAAOsW,CACP,KAiDoBa,EAAAA,WAEpB,WAAYC,gGAAU,SAKrB9V,KAAK8V,SAAWA,CAChB,sDAGD,SAAehB,GAAW,MACnBiB,EAAQ,UAAGjB,EAAUkB,QAAQ,mBAArB,QAAoClB,EAAUmB,MAAM1T,KAAI,SAAA2T,GAAI,MAAI,MAAJ,IAI1E,OAAO,IAAIL,EAHMhB,EAAe7U,KAAK8V,SAAUhB,EAAWiB,GAI1D,sFAjBmBF,GCVrB,QA/DkB7U,EAAAA,UAAAA,OAAiB,CAElC5B,KAAM,QAENsI,WAJkC,WAKjC,MAAO,CACNqO,SAAU,EACVI,MAAO,SAACJ,GACP,MAAO,IAAMN,KAAKW,MAAOX,KAAKY,IAAyB,SAArBZ,KAAKa,IAAIP,IAAyB,UAAUQ,SAAS,IAAM,IAC7F,EACDnX,KAAM,SAAC2W,GACN,MAAO,gBAAkBA,CACzB,EAEF,EAEDjO,sBAhBkC,WAiBjC,MAAO,CACN,IAAIC,EAAAA,GAAO,CACVgO,SAAU/V,KAAKoB,QAAQ2U,SACvBI,MAAOnW,KAAKoB,QAAQ+U,MACpB/W,KAAMY,KAAKoB,QAAQhC,KACnBd,MAAO,CACN2G,KADM,SACDuR,EAAGC,GACP,MAAO,CACNC,QAAS,IAAIb,EAAW,CAAC,IAAInB,EAAK,EAAG+B,EAASvW,IAAIgC,QAAQhJ,KAAM,OAAQ,GAAI,GAAI,IAChFyd,KAAMC,EAAAA,GAAAA,MAEP,EACD1P,MAPM,SAOAnH,EAAI0W,EAAUI,EAAUvY,GAAO,WAC9BoY,EAAmBD,EAAnBC,QAASI,EAAUL,EAAVK,MACXC,EAAS/W,KAAKgX,SAASH,GAAUH,QAkBrC,OAjBI3W,EAAGY,aACDZ,EAAGiW,QAAQ,aAEfjW,EAAGa,QAAQ,WAAYb,EAAGkW,MAAM1T,KAAI,SAAA7D,GAAC,OAAI,EAAK8D,KAAKuT,QAAd,KAGtCgB,EADAL,EAAUA,EAAQO,eAAelX,IAGlC+W,EAAQC,EAAOjB,SACbvT,KAAI,SAAA2S,GACJ,IAAMa,EAAWb,EAAKN,OACtB,OAAOsC,EAAAA,EAAAA,OAAkBhC,EAAKhe,KAAMge,EAAKP,GAAI,CAC5CnV,MAAO,oBACP2R,MAAO,qBAAuB,EAAK3O,KAAK2T,MAAMJ,GAAY,MAC1DhG,MAAO,EAAKvN,KAAKpD,KAAK2W,IAEvB,IAAEtT,QAAO,SAAA0U,GAAG,OAAY,OAARA,CAAJ,IACP,CAAET,QAAAA,EAASC,KAAMC,EAAAA,GAAAA,OAAqBtY,EAAM4B,IAAK4W,GACxD,GAEF/d,MAAO,CACNqe,YADM,SACM9Y,GACX,OAAO0B,KAAKgX,SAAS1Y,GAAOqY,IAC5B,KAIJ,QC9EEU,wBAmEJ,QAxDsBrW,EAAAA,UAAAA,OAAiB,CACtC5B,KAAM,gBACNkY,SAFsC,WAE3B,IAZMC,EAAIC,EAYV,OACVxX,KAAKyX,kBAbWF,EAaiB,SAAAjZ,GAChC,IAAMoZ,GAAWC,EAAAA,EAAAA,IAAcrZ,GAE3BoZ,GAAY,EAAKzX,OAAOmB,QAAQwW,UACnC,EAAKxW,QAAQyW,WAAW,CACvB5X,OAAQ,EAAKA,OACbyX,SAAU,CACTI,QAASJ,EAASI,QAClB7B,MAAOyB,EAASzB,MAAM1T,KAAI,SAAAwV,GAAI,OAAIA,EAAKC,QAAT,IAC9BjC,SAAU2B,EAAS3B,WAItB,EA1BmByB,EA0BjBxX,KAAKoB,QAAQ6W,SA1Bc,WAAa,2BAATC,EAAS,yBAATA,EAAS,gBACxCb,GACHc,aAAad,GAEdA,EAAUe,YAAW,WACpBb,EAAE,WAAF,EAAMW,GACNb,EAAU,IACV,GAAEG,EACH,GAoBCxX,KAAKC,OAAOyG,GAAG,eAAe,YAAgB,IAAbzG,EAAa,EAAbA,OAChC,EAAKwX,iBAAiBxX,EAAO3B,MAC7B,GACD,EAEDoJ,WAvBsC,WAuBzB,WACZ,MAAO,CACNoQ,QAAS,EACT/B,SAAUN,KAAKW,MAAsB,WAAhBX,KAAK4C,UAC1BJ,SAAU,IACVJ,WAAY,WAAS,EACrBS,OAAQ,YAAwB,IAArBrC,EAAqB,EAArBA,MAAO6B,EAAc,EAAdA,QACjB,EAAgC,EAAK7X,OAA7B3B,EAAR,EAAQA,MAAOuC,EAAf,EAAeA,KAAM8K,EAArB,EAAqBA,QAEjB4M,EAAAA,EAAAA,IAAWja,GAASwZ,GAIxBjX,EAAKC,UAAS0X,EAAAA,EAAAA,IACbla,EACA2X,EAAM1T,KAAI,SAAA2T,GAAI,OAAIuC,EAAAA,GAAAA,SAAc9M,EAAQuK,EAAK6B,KAA/B,IACd9B,EAAM1T,KAAI,SAAA2T,GAAI,OAAIA,EAAKH,QAAT,KAEf,EAEF,EAEDjO,sBA7CsC,WA8CrC,MAAO,EACN4Q,EAAAA,EAAAA,IAAO,CACNZ,QAAS9X,KAAKoB,QAAQ0W,QACtB/B,SAAU/V,KAAKoB,QAAQ2U,WAGzB,oDChDF,QAAevJ,EAAAA,KAAAA,OAAY,CAC1BpN,KAAM,MACN8C,QAAS,QACTkH,qBAH0B,WAGH,WACtB,MAAO,CACNuP,IAAK,kBAAM,EAAK1Y,OAAOsJ,SAAS8K,cAAc,KAAzC,EAEN,ICEF,EAAerT,EAAAA,UAAAA,OAAiB,CAC/B5B,KAAM,YAEN8S,cAH+B,WAI9B,MAAO,CACN0G,EACAxG,EAAAA,EACAyG,EAAAA,EAAAA,UAA4B,CAAEC,SAAAA,IAE/B,kGCbIC,EAAgB,SAASC,IAE1B9gB,SAAS+gB,YAAsC,aAAxB/gB,SAASghB,WAAoD,YAAxBhhB,SAASghB,YADxDd,WAAWY,EAAU,GAIrC9gB,SAASihB,iBAAiB,mBAAoBH,EAE/C,EAEKI,GAAWlK,EAAAA,EAAAA,aAAY,cACvBmK,EAAc,SAACC,GAA+B,IAArBC,EAAqB,wDACnD,OAAIA,EACI,GAAP,OAAUH,EAAV,mBAA6BE,GAEvB,GAAP,OAAUF,EAAV,YAAsBE,EACtB,qFCtBD,IAAME,EAAkB,CACvB,YACA,aACA,YACA,YACA,kBACA,iBACA,YACA,gBACA,cAGKC,EAAwB,CAC7B,iBAGKC,EAAyB,CAC9B,aACA,kBACA,sBACA,8BACA,yBACA,mBACA,qBACA,oBACA,oBACA,kBACA,mBACA,WACA,YACA,WACA,WACA,gBACA,WACA,qBACA,cACA,gBACA,sBAGG,UAACzJ,OAAO0J,uBAAR,OAAC,EAAwBC,eAAiB,UAAC3J,OAAO0J,uBAAR,OAAC,EAAwBE,YACtEH,EAAuBpG,KAAK,YAG7B,IAAMwG,EAAgB,GAAH,OAAOL,EAA0BC,kFC1CvC9M,EAAiB,CAAC,OAAQ,OAAQ,QAAS,WAElDmN,EAAc,SAAAlb,GAAI,OAAI,SAACmb,EAAQC,EAAK7Y,EAAS8Y,EAAKC,GACvD,IAAM7a,EAAM0a,EAAOC,GAQnB,OALoB,IAAhB3a,EAAI8a,UACP9a,EAAI+a,QAAQ,eAAgBxb,GAC5BS,EAAIgb,SAAS,QAAb,0BAAyCzb,KAGnCsb,EAAII,YAAYP,EAAQC,EAAK7Y,EAAS8Y,EAAKC,EAClD,CAVuB,EAexB,iBAAgBK,GAQf,OANA5N,EAAeyI,SAAQ,SAAAxW,GACtB2b,EAAGC,IAAIC,IAAW7b,EAAM,CACvBjG,OAAQmhB,EAAYlb,IAErB,IAEM2b,CARR,4FCkBA,SAASG,EAAc9V,EAAO+V,GAAK,MAClC,OAAO,UAAA/V,EAAMgW,QAAQ,gBAAd,eAAwBnM,MAAM,KAAKjD,SAASmP,MAAQ,CAC3D,gBC7CD,QATmBE,IAAW,aAAc,CAAEC,MAAM,EAAOC,QAAQ,IACjEC,OAAO,iBACPA,OAAO,SACPR,IAAIS,IAAW,CAAED,QAAQ,EAAME,YAAY,IAC3CV,KDca,SAAyBD,GACvCA,EAAGY,KAAKC,MAAMjG,MAAM,aAAc,0BAA0B,SAAA9W,GAG3D,IAFA,IAAM0b,EAAS1b,EAAM0b,OAD+C,WAG3Dtb,GACR,IAAMmG,EAAQmV,EAAOtb,GACrB,IAAKic,EAAc9V,EAAO,sBACzB,iBAED,IACMyW,EAAiBX,EADJX,EAAOtb,EAAI,GACmB,kBAC5C4c,IACJzW,EAAM0B,MAAMiP,OAAO3Q,EAAM0W,UAAU,UACR,IAAvB1W,EAAM0B,MAAM/F,SACfqE,EAAM0B,MAAQ,OAGhB,IAAMiV,EAwCT,SAAqBxB,EAAQyB,EAAaC,GAEzC,IADA,IAAMC,EAAc3B,EAAOyB,GAAanS,MAAQ,EACvC5K,EAAI+c,EAAc,EAAG/c,EAAIsb,EAAOxZ,OAAQ9B,IAAK,CACrD,IAAMmG,EAAQmV,EAAOtb,GACrB,GAAImG,EAAMyE,MAAQqS,EACjB,OAAQ,EAET,GAAK9W,EAAMyE,QAAUqS,GAAgBD,EAAU1B,EAAOtb,IACrD,OAAOA,CAER,CACD,OAAQ,CACR,CApDsBkd,CAAY5B,EAAQtb,GAAG,SAAAE,GAC1C,OAAyB,IAAlBA,EAAMwb,SACTO,EAAc/b,EAAO,oBAAsB0c,CAC/C,IACGE,EAAc9c,GAsBrB,SAAqBsb,EAAQvb,EAAOod,GACnC,IAAMC,EAAY,IAAID,EAAiB,oBAAqB,MAAO,GACnEC,EAAUC,OAAQ,EAClB,IAAMC,EAAW,IAAIH,EAAiB,mBAAoB,KAAM,GAChEG,EAAS3B,QAAQ,QAAS,sBAC1B2B,EAASD,OAAQ,EACjB/B,EAAOxE,OAAO/W,EAAO,EAAGqd,EAAWE,EACnC,CA5BGC,CAAYjC,EAAQwB,EAAald,EAAM4d,MArB2B,EAG3Dxd,EAAI,EAAGA,EAAIsb,EAAOxZ,OAAQ9B,IAAK,EAA/BA,GAsBT,OAAO,CACP,GACD,ICzCC+b,KCaa,SAA4BD,GAC1CA,EAAGrH,OAAOgJ,OAAO/G,MAAM,WAAY,aAAa,SAAA9W,GAG/C,IAFA,IAAM0b,EAAS1b,EAAM0b,OAEZtb,EAAIsb,EAAOxZ,OAAS,EAAG9B,EAAI,EAAGA,IAAK,CAC3C,IAAMmG,EAAQmV,EAAOtb,GAEA,OAAjBmG,EAAMuX,SACU,gBAAfvX,EAAMhG,OACTmb,EAAOtb,GAAGY,IAAM,IAChB0a,EAAOtb,GAAGG,KAAO,UAEC,iBAAfgG,EAAMhG,OACTmb,EAAOtb,GAAGY,IAAM,IAChB0a,EAAOtb,GAAGG,KAAO,WAGnB,CAED,OAAO,CACP,GACD,IDjCC4b,IAAI4B,EAAAA,GACJ5B,KEWa,SAAoBD,GAClC,IAAM8B,EAAU,gCAEhB9B,EAAGY,KAAKC,MAAMkB,OAAO,YAAa,uBAAuB,SAAAje,GACxD,IAAMmB,EAAO,IAAInB,EAAM4d,MAAM,eAAgB,OAAQ,GACrDzc,EAAK4a,QAAQ,QAAS,WAGtB,IAFA,IAAM3a,EAAQ,IAAIpB,EAAM4d,MAAM,gBAAiB,QAAS,GAE/Cxd,EAAI,EAAGA,EAAIJ,EAAM0b,OAAOxZ,OAAQ9B,IAAK,CAC7C,IAAMqd,EAAQzd,EAAM0b,OAAOtb,GAC3B,GAAmB,WAAfqd,EAAMld,KAEV,IAAK,IAAI2d,EAAI,EAAGA,EAAIT,EAAMU,SAASjc,OAAQgc,IAAK,CAC/C,IAAM3X,EAAQkX,EAAMU,SAASD,GAC7B,GAAmB,SAAf3X,EAAMhG,KAAiB,CAC1B,IAAMqL,EAAQoS,EAAQI,KAAK7X,EAAM3C,SACjC,GAAIgI,EAAO,CACV,IAAMyS,EAAczS,EAAMzL,MAAQyL,EAAM,GAAG1J,OAC3Cub,EAAMU,SAASjH,OAAOgH,EAAG,EACxBna,OAAOsH,OAAO,CAAC,EAAG9E,EAAO,CAAE3C,QAAS2C,EAAM3C,QAAQ+F,MAAM,EAAGiC,EAAMzL,SACjE4D,OAAOsH,OAAO,CAAC,EAAGlK,GAClB4C,OAAOsH,OAAO,CAAC,EAAG9E,EAAO,CAAE3C,QAAS2C,EAAM3C,QAAQ+F,MAAMiC,EAAMzL,MAAOke,KACrEta,OAAOsH,OAAO,CAAC,EAAGjK,GAClB2C,OAAOsH,OAAO,CAAC,EAAG9E,EAAO,CAAE3C,QAAS2C,EAAM3C,QAAQ+F,MAAM0U,MAEzDH,GAAK,CACL,CACD,CACD,CACD,CAED,OAAO,CACP,GACD,kEC7BD,SACC1jB,KADc,WAEb,MAAO,CACN8jB,OAAQhZ,EAAAA,EAET,EACDkB,YANc,gBAOc,IAAhB9E,KAAK4c,SACf5c,KAAK4c,OAAShZ,EAAAA,EAEf,+0BCsBF,QAAe5G,EAAAA,GAAAA,OAAa,CAC3BkF,QAAS,uCAETgQ,cAH2B,WAI1B,MAAO,CACN2K,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EAED,EAED1P,YAb2B,WAc1B,OAAO,EAAP,KACIvN,KAAKxB,UADT,IAEC0e,YAAa,kBAAM,YAA8B,IAA3Bnd,EAA2B,EAA3BA,GAAIe,EAAuB,EAAvBA,SAAUb,EAAa,EAAbA,OACnC,IAAIkd,EAAAA,EAAAA,IAAUpd,GAAK,OAAO,EAC1B,IAAMxB,EA9DV,SAAqBoN,EAAQyR,EAAWC,EAAWC,GAGlD,IAFA,IAAMC,EAAc,GACdC,EAAQ,GACL/e,EAAQ,EAAGA,EAAQ4e,EAAW5e,GAAS,EAAG,CAClD,IAAMgf,EAAO9R,EAAOlK,MAAMic,UAAUC,gBAChCF,GACHD,EAAMlK,KAAKmK,GAEZ,IAAMG,EAAajS,EAAOlK,MAAMoc,YAAYF,gBACxCC,GACHL,EAAYjK,KAAKsK,EAElB,CAGD,IAFA,IAAME,EAAUnS,EAAOlK,MAAMsc,aAAaC,cAAc,KAAMT,GACxDU,EAAO,GACJxf,EAAQ,EAAGA,EAAQ2e,EAAW3e,GAAS,EAC/Cwf,EAAK3K,KAAK3H,EAAOlK,MAAMyc,SAASF,cAAc,KAAMR,IAErD,OAAO7R,EAAOlK,MAAM0c,MAAMH,cAAc,KAAjC,CAAwCF,GAAxC,OAAoDG,GAC3D,CA2CgBG,CAAYne,EAAO0L,OAAQ,EAAG,GAC3C,GAAI7K,EAAU,CACb,IAAMud,EAASte,EAAGue,UAAUC,OAAS,EACrCxe,EAAGye,qBAAqBjgB,GACtBkgB,iBACAC,aAAaC,EAAAA,GAAAA,KAAmB5e,EAAGG,IAAI7H,QAAQgmB,IACjD,CACD,OAAO,CACP,CAVY,EAYbO,WAAY,kBAAM,YAA8B,IAA3B7e,EAA2B,EAA3BA,GAAIe,EAAuB,EAAvBA,SAAuB,EAAbb,OAClC,KAAKkd,EAAAA,EAAAA,IAAUpd,GAAK,OAAO,EAC3B,MAAyBA,EAAGue,UAApBO,EAAR,EAAQA,MACR,IADA,EAAeC,MACH,OAAO,EAEnB,IAAMC,EAAaF,EAAMG,MAAQ,EAAI,EAAIH,EAAMG,MAAQ,EACvD,GAAIle,EAAU,CACb,IAAMme,EAAQlf,EAAGG,IAAI7H,QAAQwmB,EAAMzJ,MAAM2J,GAAc,GACjDT,EAAYK,EAAAA,GAAAA,KAAmBM,GACrCne,EAASf,EAAG2e,aAAaJ,GAAWG,iBACpC,CACD,OAAO,CACP,CAZW,EAaZS,YAAa,kBAAM,YAA8B,IAA3Bnf,EAA2B,EAA3BA,GAAIe,EAAuB,EAAvBA,SAAuB,EAAbb,OACnC,KAAKkd,EAAAA,EAAAA,IAAUpd,GAAK,OAAO,EAC3B,IAAM0d,EA9DV,SAA+B0B,GAC9B,GAAIA,EAAM1gB,OAAO,KAAO0gB,EAAM5gB,MAAM,GAAGI,WAAa,EACnD,OAAO,KAIR,IAFA,IAAIygB,EAAYD,EAAM/J,QAChB+I,EAAQgB,EAAM5gB,MAAM,GACjB8gB,EAAMF,EAAMG,YAAY,GAAID,EAAMlB,EAAMxf,WAAY0gB,IAAO,CACnE,IAAME,EAAUpB,EAAMvf,MAAMygB,GAC5B,GAAIE,EAAQ5gB,YAAcwgB,EAAM1gB,QAAS,CACxC,IAAK,IAAIgf,EAAO,EAAGA,EAAO0B,EAAM1gB,QAASgf,IAExC2B,GADiBG,EAAQ3gB,MAAM6e,GACT/c,SAEvB,OAAO0e,EAAY,CACnB,CACDA,GAAaG,EAAQ7e,QACrB,CACD,CA6CgB8e,EAAsBC,EAAAA,EAAAA,IAAc1f,IACjD,GAAY,MAAR0d,EAAJ,CACA,GAAI3c,EAAU,CACb,IAAMqe,EAAQpf,EAAGG,IAAI7H,QAAQolB,GACvBa,EAAYK,EAAAA,GAAAA,QAAsBQ,GAAOO,EAAAA,EAAAA,IAAgBP,IAC/Dre,EAASf,EAAG2e,aAAaJ,GAAWG,iBACpC,CACD,OAAO,CANiB,CAOxB,CAVY,GAYd,EAEDlf,WAvD2B,YAuDI,IAAlBqL,EAAkB,EAAlBA,eACZ,MAAO,CAAC,SAASW,EAAAA,EAAAA,iBAAgBvL,KAAKoB,QAAQwJ,eAAgBA,GAAiB,EAC/E,EAEDvM,WA3D2B,SA2DhBC,EAAOC,GACjBD,EAAMkN,cAAcjN,GACpBD,EAAM+O,WAAW9O,EACjB,EAED6K,qBAhE2B,WAgEJ,WACtB,OAAO,EAAP,KACIpJ,KAAKxB,UADT,IAECma,IAAK,kBAAM,EAAK1Y,OAAOsJ,SAASoW,gBAAkB,EAAK1f,OAAOsJ,SAASqV,YAAlE,EACLgB,MAAO,WACN,QAAI,EAAK3f,OAAOsJ,SAAS2V,iBAIpB,EAAKjf,OAAO4f,MAAMC,eAIhB,EAAK7f,OACV6T,QACAgM,cACAZ,cACAhL,KACF,GAEF,mDCzIF,iBAAe1H,KAAAA,OAAY,CAC1BpN,KAAM,eACN8C,QAAS,UACT4I,cAH0B,WAIzB,MAAO,CAAC,CACR,EAEDvL,WAP0B,WAQzB,MAAO,CAAC,UACR,EAEDlB,WAX0B,SAWfC,EAAOC,GACjB,EAEDc,UAd0B,WAezB,MAAO,CACN,CAAEC,IAAK,gBAAiBiL,SAAU,IAEnC,mDCxBF,iBAAeuS,EAAAA,OAAiB,CAC/B5a,QAAS,UAET7D,WAH+B,SAGpBC,EAAOC,GACjBD,EAAMU,MAAM,KACZV,EAAMyhB,aAAaxhB,GACnBD,EAAMU,MAAM,KACZ,EAEDK,UAT+B,WAU9B,MAAO,CACN,CAAEC,IAAK,MACP,CAAEA,IAAK,MACP,CAAEA,IAAK,yBAA0BiL,SAAU,IAC3C,CAAEjL,IAAK,yBAA0BiL,SAAU,IAE5C,mDChBF,iBAAe0S,EAAAA,OAAgB,CAC9B7d,KAAM,eACN8C,QAAS,eAET7D,WAJ8B,SAInBC,EAAOC,GACjBD,EAAMU,MAAM,KACZV,EAAMyhB,aAAaxhB,GACnBD,EAAM8O,gBACN9O,EAAMU,MAAM,KACZT,EAAK8W,SAAQ,SAAAoI,GACZnf,EAAMU,MAAMV,EAAM0hB,OAAO,IAAKvC,EAAKwC,YAAYzf,OAAS,IACxDlC,EAAMU,MAAM,IACZ,IACDV,EAAM8O,eACN,EAED/N,UAhB8B,WAiB7B,MAAO,CACN,CAAEC,IAAK,KAAMiL,SAAU,IAExB,mDCpBF,iBAAewS,EAAAA,OAAmB,CACjC7a,QAAS,UAET7D,WAHiC,SAGtBC,EAAOC,GACjBD,EAAMU,MAAM,KACZV,EAAMyhB,aAAaxhB,GACnBD,EAAMU,MAAM,KACZ,EAEDK,UATiC,WAUhC,MAAO,CACN,CAAEC,IAAK,4CAA6CiL,SAAU,IAC9D,CAAEjL,IAAK,4CAA6CiL,SAAU,IAC9D,CAAEjL,IAAK,8BAA+BiL,SAAU,IAChD,CAAEjL,IAAK,8BAA+BiL,SAAU,IAChD,CAAEjL,IAAK,8BAA+BiL,SAAU,IAChD,CAAEjL,IAAK,8BAA+BiL,SAAU,IAChD,CAAEjL,IAAK,4BAA6BiL,SAAU,IAC9C,CAAEjL,IAAK,4BAA6BiL,SAAU,IAE/C,mDCpBF,iBAAe0S,EAAAA,OAAgB,CAC9B/a,QAAS,aAET7D,WAH8B,SAGnBC,EAAOC,GACjBD,EAAMU,MAAM,KACZV,EAAMyhB,aAAaxhB,GACnBD,EAAM8O,eACN,EAED/N,UAT8B,WAU7B,MAAO,CACN,CAAEC,IAAK,KAAMiL,SAAU,IAExB,6ECWI2V,GAAoBC,WAAAA,YAAW,QAAQC,UAAUC,QAEvDC,EAAAA,QAAAA,IAAQC,EAAAA,IAER,IAAM3c,EAAQ,IAAI4c,EAAAA,GAAM,CACvBliB,MAAO,CACNmiB,sBAA8E,SAAvDP,EAAkBQ,QAAQ,yBACjDC,eAAgBT,EAAkBQ,QAAQ,mBAE3CE,UAAW,CACVC,4BADU,SACkBviB,EAAO6E,GAClC7E,EAAMmiB,sBAAwBtd,EAC9B+c,EAAkBY,QAAQ,wBAAyB,GAAK3d,EACxD,EACD4d,oBALU,SAKUziB,EAAO6E,GAC1B7E,EAAMqiB,eAAiBxd,EACvB+c,EAAkBY,QAAQ,iBAAkB3d,EAC5C,GAEF6d,QAAS,CACRC,yBADQ,WAC6B9d,GAAO,EAAjB+d,OAC1Btd,EAAMsd,OAAO,8BAA+B/d,EAC5C,EACDge,kBAJQ,WAIsBhe,GAAO,EAAjB+d,OACnBtd,EAAMsd,OAAO,sBAAuB/d,EACpC,KAIH,4FCpDIie,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,stFAAutF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oDAAoD,MAAQ,GAAG,SAAW,8UAA8U,eAAiB,CAAC,g/CAAg/C,WAAa,MAElsJ,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,oPAAqP,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yDAAyD,MAAQ,GAAG,SAAW,oHAAoH,eAAiB,CAAC,wVAAwV,WAAa,MAEn3B,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,i6FAAk6F,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,q6BAAq6B,eAAiB,CAAC,mxIAAmxI,WAAa,MAEnwQ,yHCHIgT,EAAgC,IAAIC,IAAI,cACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GAEzEF,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,68GAAq9GkT,EAAqC,kjQAAqjQ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6BAA6B,mCAAmC,gDAAgD,MAAQ,GAAG,SAAW,0uFAA0uF,eAAiB,CAAC,myDAAyyD,qxLAAqxL,ovIAAovI,WAAa,MAEpz0B,2FCPIJ,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,otBAAqtB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,4CAA4C,MAAQ,GAAG,SAAW,6PAA6P,eAAiB,CAAC,ujCAAujC,WAAa,MAE9qE,yHCHIgT,EAAgC,IAAIC,IAAI,cACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GAEzEF,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,gnGAAonGkT,EAAqC,k2JAAq2J,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2CAA2C,oCAAoC,MAAQ,GAAG,SAAW,uoEAAuoE,eAAiB,CAAC,00DAA00D,sxLAAsxL,WAAa,MAE76jB,2FCPIJ,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,ujCAAwjC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+CAA+C,MAAQ,GAAG,SAAW,+UAA+U,eAAiB,CAAC,2rDAA2rD,WAAa,MAE1uG,yHCHIgT,EAAgC,IAAIC,IAAI,cACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GAEzEF,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,ikEAAqkEkT,EAAqC,mzJAAszJ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wCAAwC,oCAAoC,MAAQ,GAAG,SAAW,4xDAA4xD,eAAiB,CAAC,gVAAgV,sxLAAsxL,WAAa,MAEv+d,yHCNIF,EAAgC,IAAIC,IAAI,cACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GAEzEF,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,qqDAAyqDkT,EAAqC,oxHAAuxH,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oCAAoC,MAAQ,GAAG,SAAW,otDAAotD,eAAiB,CAAC,sxLAAsxL,WAAa,MAE5ma,4FCPIJ,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,g+BAAi+B,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,qCAAqC,MAAQ,GAAG,SAAW,gRAAgR,eAAiB,CAAC,4rCAA4rC,WAAa,MAE3kF,2FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,smCAAumC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uCAAuC,MAAQ,GAAG,SAAW,kZAAkZ,eAAiB,CAAC,8jDAA8jD,WAAa,MAEvtG,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,2jBAA4jB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iDAAiD,MAAQ,GAAG,SAAW,gMAAgM,eAAiB,CAAC,mwBAAmwB,WAAa,MAEzqD,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,qSAAsS,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mDAAmD,MAAQ,GAAG,SAAW,wEAAwE,eAAiB,CAAC,ydAAyd,WAAa,MAEn/B,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,yLAA0L,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6CAA6C,MAAQ,GAAG,SAAW,8EAA8E,eAAiB,CAAC,qUAAqU,WAAa,MAEnvB,4FCJI8S,QAA0B,GAA4B,KAE1DA,EAAwB9N,KAAK,CAAC+N,EAAO/S,GAAI,6zBAA8zB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2CAA2C,MAAQ,GAAG,SAAW,0SAA0S,eAAiB,CAAC,4hCAA4hC,WAAa,MAExyE,QAAe,cAAuB,qCCPtC,SAASmT,EAAWC,GAuBhB,OAtBIA,aAAeC,IACfD,EAAIE,MAAQF,EAAIG,OAASH,EAAIhd,IAAM,WAC/B,MAAM,IAAIrB,MAAM,mBACpB,EACOqe,aAAeI,MACtBJ,EAAIK,IAAML,EAAIE,MAAQF,EAAIG,OAAS,WAC/B,MAAM,IAAIxe,MAAM,mBACpB,GAIJhB,OAAO2f,OAAON,GAEdrf,OAAO4f,oBAAoBP,GAAKrM,SAAQ,SAAUjW,GAC9C,IAAI8iB,EAAOR,EAAItiB,GAGI,iBAAR8iB,GAAqB7f,OAAO8f,SAASD,IAC5CT,EAAWS,EAEnB,IAEOR,CACX,CAEA,IAAIU,EAAgBX,EAChBY,EAAWZ,EACfW,EAAcjrB,QAAUkrB,EAGxB,MAAMC,EAIJC,YAAYC,QAEQC,IAAdD,EAAK1pB,OAAoB0pB,EAAK1pB,KAAO,CAAC,GAE1CkH,KAAKlH,KAAO0pB,EAAK1pB,KACjBkH,KAAK0iB,gBAAiB,CACxB,CAEAC,cACE3iB,KAAK0iB,gBAAiB,CACxB,EAOF,SAASE,EAAWzf,GAClB,OAAOA,EACJL,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,UACdA,QAAQ,KAAM,SACnB,CAUA,SAAS+f,EAAQnqB,KAAaoqB,GAE5B,MAAM9N,EAAS3S,OAAOlD,OAAO,MAE7B,IAAK,MAAMnG,KAAON,EAChBsc,EAAOhc,GAAON,EAASM,GAOzB,OALA8pB,EAAQzN,SAAQ,SAASqM,GACvB,IAAK,MAAM1oB,KAAO0oB,EAChB1M,EAAOhc,GAAO0oB,EAAI1oB,EAEtB,IACwB,CAC1B,CAcA,MAMM+pB,EAAqBxkB,KAChBA,EAAKykB,KAIhB,MAAMC,EAOJV,YAAYW,EAAW9hB,GACrBpB,KAAKmjB,OAAS,GACdnjB,KAAKojB,YAAchiB,EAAQgiB,YAC3BF,EAAUG,KAAKrjB,KACjB,CAMAsjB,QAAQxkB,GACNkB,KAAKmjB,QAAUP,EAAW9jB,EAC5B,CAMAykB,SAAShlB,GACP,IAAKwkB,EAAkBxkB,GAAO,OAE9B,IAAIilB,EAAYjlB,EAAKykB,KAChBzkB,EAAKklB,cACRD,EAAY,GAAGxjB,KAAKojB,cAAcI,KAEpCxjB,KAAKkV,KAAKsO,EACZ,CAMAE,UAAUnlB,GACHwkB,EAAkBxkB,KAEvByB,KAAKmjB,QArDU,UAsDjB,CAKAhgB,QACE,OAAOnD,KAAKmjB,MACd,CAQAjO,KAAKsO,GACHxjB,KAAKmjB,QAAU,gBAAgBK,KACjC,EAOF,MAAMG,EACJpB,cAEEviB,KAAK4jB,SAAW,CAAEnH,SAAU,IAC5Bzc,KAAK6jB,MAAQ,CAAC7jB,KAAK4jB,SACrB,CAEIpb,UACF,OAAOxI,KAAK6jB,MAAM7jB,KAAK6jB,MAAMrjB,OAAS,EACxC,CAEIsjB,WAAS,OAAO9jB,KAAK4jB,QAAU,CAGnC7B,IAAIxjB,GACFyB,KAAKwI,IAAIiU,SAASnJ,KAAK/U,EACzB,CAGAglB,SAASP,GAEP,MAAMzkB,EAAO,CAAEykB,OAAMvG,SAAU,IAC/Bzc,KAAK+hB,IAAIxjB,GACTyB,KAAK6jB,MAAMvQ,KAAK/U,EAClB,CAEAmlB,YACE,GAAI1jB,KAAK6jB,MAAMrjB,OAAS,EACtB,OAAOR,KAAK6jB,MAAMlV,KAItB,CAEAoV,gBACE,KAAO/jB,KAAK0jB,cACd,CAEA1L,SACE,OAAOgM,KAAKC,UAAUjkB,KAAK4jB,SAAU,KAAM,EAC7C,CAMAP,KAAKa,GAEH,OAAOlkB,KAAKuiB,YAAY4B,MAAMD,EAASlkB,KAAK4jB,SAG9C,CAMAQ,aAAaF,EAAS3lB,GAQpB,MAPoB,iBAATA,EACT2lB,EAAQZ,QAAQ/kB,GACPA,EAAKke,WACdyH,EAAQX,SAAShlB,GACjBA,EAAKke,SAASpH,SAASzW,GAAUoB,KAAKmkB,MAAMD,EAAStlB,KACrDslB,EAAQR,UAAUnlB,IAEb2lB,CACT,CAKAE,iBAAiB7lB,GACK,iBAATA,GACNA,EAAKke,WAENle,EAAKke,SAAS4H,OAAMpZ,GAAoB,iBAAPA,IAGnC1M,EAAKke,SAAW,CAACle,EAAKke,SAAS3N,KAAK,KAEpCvQ,EAAKke,SAASpH,SAASzW,IACrB+kB,EAAUW,UAAU1lB,EAAM,IAGhC,EAuBF,MAAM2lB,UAAyBZ,EAI7BpB,YAAYnhB,GACVojB,QACAxkB,KAAKoB,QAAUA,CACjB,CAMAqjB,WAAW3lB,EAAMkkB,GACF,KAATlkB,IAEJkB,KAAKujB,SAASP,GACdhjB,KAAKsjB,QAAQxkB,GACbkB,KAAK0jB,YACP,CAKAJ,QAAQxkB,GACO,KAATA,GAEJkB,KAAK+hB,IAAIjjB,EACX,CAMA4lB,eAAeC,EAASvlB,GAEtB,MAAMb,EAAOomB,EAAQb,KACrBvlB,EAAKykB,KAAO5jB,EACZb,EAAKklB,aAAc,EACnBzjB,KAAK+hB,IAAIxjB,EACX,CAEAqmB,SAEE,OADiB,IAAI3B,EAAajjB,KAAMA,KAAKoB,SAC7B+B,OAClB,CAEA0hB,WACE,OAAO,CACT,EAeF,SAASC,EAAOC,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGD,OAHM,IAIlB,CAgDA,MAAME,EAAa,iDA4CnB,MACMC,EAAW,eACXC,EAAsB,gBACtBC,EAAY,oBACZC,EAAc,yEACdC,EAAmB,eA4BnBC,EAAmB,CACvBC,MAAO,eAAgBC,UAAW,GAE9BC,EAAmB,CACvBjC,UAAW,SACX+B,MAAO,IACPtX,IAAK,IACLyX,QAAS,MACTzY,SAAU,CAACqY,IAEPK,EAAoB,CACxBnC,UAAW,SACX+B,MAAO,IACPtX,IAAK,IACLyX,QAAS,MACTzY,SAAU,CAACqY,IAEPM,EAAqB,CACzBL,MAAO,8IAUHM,EAAU,SAASN,EAAOtX,EAAK6X,EAAc,CAAC,GAClD,MAAMtD,EAAOK,EACX,CACEW,UAAW,UACX+B,QACAtX,MACAhB,SAAU,IAEZ6Y,GAQF,OANAtD,EAAKvV,SAASqG,KAAKsS,GACnBpD,EAAKvV,SAASqG,KAAK,CACjBkQ,UAAW,SACX+B,MAAO,6CACPC,UAAW,IAENhD,CACT,EACMuD,EAAsBF,EAAQ,KAAM,KACpCG,EAAuBH,EAAQ,OAAQ,QACvCI,EAAoBJ,EAAQ,IAAK,KACjCK,EAAc,CAClB1C,UAAW,SACX+B,MAAOJ,EACPK,UAAW,GAEPW,EAAgB,CACpB3C,UAAW,SACX+B,MAAOH,EACPI,UAAW,GAEPY,EAAqB,CACzB5C,UAAW,SACX+B,MAAOF,EACPG,UAAW,GAEPa,EAAkB,CACtB7C,UAAW,SACX+B,MAAOJ,oGASPK,UAAW,GAEPc,EAAc,CAOlBf,MAAO,kBACPtY,SAAU,CAAC,CACTuW,UAAW,SACX+B,MAAO,KACPtX,IAAK,aACLyX,QAAS,KACTzY,SAAU,CACRqY,EACA,CACEC,MAAO,KACPtX,IAAK,KACLuX,UAAW,EACXvY,SAAU,CAACqY,QAKbiB,EAAa,CACjB/C,UAAW,QACX+B,MAAON,EACPO,UAAW,GAEPgB,EAAwB,CAC5BhD,UAAW,QACX+B,MAAOL,EACPM,UAAW,GAEPiB,EAAe,CAEnBlB,MAAO,uBACPC,UAAW,GAoBb,IAAIkB,EAAqBrkB,OAAO2f,OAAO,CACnC2E,UAAW,KACXC,iBAzKqB,OA0KrB3B,SAAUA,EACVC,oBAAqBA,EACrBC,UAAWA,EACXC,YAAaA,EACbC,iBAAkBA,EAClBwB,eAzKmB,+IA0KnBC,QArKY,CAACC,EAAO,CAAC,KACvB,MAAMC,EAAe,YAQrB,OAPID,EAAKE,SACPF,EAAKxB,MApGT,YAAmBrN,GAEjB,OADeA,EAAK3V,KAAK2kB,GAAMpC,EAAOoC,KAAIpY,KAAK,GAEjD,CAiGiBD,CACXmY,EACA,OACAD,EAAKE,OACL,SAEGpE,EAAQ,CACbW,UAAW,OACX+B,MAAOyB,EACP/Y,IAAK,IACLuX,UAAW,EAEX,WAAY,CAAC/U,EAAG0W,KACE,IAAZ1W,EAAEhS,OAAa0oB,EAAKxE,aAAa,GAEtCoE,EAAK,EAoJNzB,iBAAkBA,EAClBG,iBAAkBA,EAClBE,kBAAmBA,EACnBC,mBAAoBA,EACpBC,QAASA,EACTE,oBAAqBA,EACrBC,qBAAsBA,EACtBC,kBAAmBA,EACnBC,YAAaA,EACbC,cAAeA,EACfC,mBAAoBA,EACpBC,gBAAiBA,EACjBC,YAAaA,EACbC,WAAYA,EACZC,sBAAuBA,EACvBC,aAAcA,EACdW,kBApCsB,SAAS5E,GACjC,OAAOngB,OAAOsH,OAAO6Y,EACnB,CAEE,WAAY,CAAC/R,EAAG0W,KAAWA,EAAKruB,KAAKuuB,YAAc5W,EAAE,EAAE,EAEvD,SAAU,CAACA,EAAG0W,KAAeA,EAAKruB,KAAKuuB,cAAgB5W,EAAE,IAAI0W,EAAKxE,aAAa,GAErF,IAuDA,SAAS2E,EAAsBpd,EAAOqd,GAErB,MADArd,EAAMsd,MAAMtd,EAAMzL,MAAQ,IAEvC8oB,EAAS5E,aAEb,CAOA,SAAS8E,EAAcjF,EAAMhkB,GACtBA,GACAgkB,EAAKiF,gBAOVjF,EAAK+C,MAAQ,OAAS/C,EAAKiF,cAAc/Y,MAAM,KAAKI,KAAK,KAAO,sBAChE0T,EAAKkF,cAAgBJ,EACrB9E,EAAKmF,SAAWnF,EAAKmF,UAAYnF,EAAKiF,qBAC/BjF,EAAKiF,mBAKWhF,IAAnBD,EAAKgD,YAAyBhD,EAAKgD,UAAY,GACrD,CAMA,SAASoC,EAAepF,EAAMqF,GACvBC,MAAMC,QAAQvF,EAAKkD,WAExBlD,EAAKkD,QA7UP,YAAmBxN,GAEjB,MADe,IAAMA,EAAK3V,KAAK2kB,GAAMpC,EAAOoC,KAAIpY,KAAK,KAAO,GAE9D,CA0UiBkZ,IAAUxF,EAAKkD,SAChC,CAMA,SAASuC,EAAazF,EAAMqF,GAC1B,GAAKrF,EAAKtY,MAAV,CACA,GAAIsY,EAAK+C,OAAS/C,EAAKvU,IAAK,MAAM,IAAI5K,MAAM,4CAE5Cmf,EAAK+C,MAAQ/C,EAAKtY,aACXsY,EAAKtY,KAJW,CAKzB,CAMA,SAASge,EAAiB1F,EAAMqF,QAEPpF,IAAnBD,EAAKgD,YAAyBhD,EAAKgD,UAAY,EACrD,CAGA,MAAM2C,EAAkB,CACtB,KACA,MACA,MACA,KACA,MACA,KACA,KACA,OACA,SACA,OACA,SAWF,SAASC,EAAgBC,EAAaC,EAAiB9E,EARrB,WAUhC,MAAM+E,EAAmB,CAAC,EAiB1B,MAb2B,iBAAhBF,EACTG,EAAYhF,EAAW6E,EAAY3Z,MAAM,MAChCoZ,MAAMC,QAAQM,GACvBG,EAAYhF,EAAW6E,GAEvBhmB,OAAOomB,KAAKJ,GAAahT,SAAQ,SAASmO,GAExCnhB,OAAOsH,OACL4e,EACAH,EAAgBC,EAAY7E,GAAY8E,EAAiB9E,GAE7D,IAEK+E,EAYP,SAASC,EAAYhF,EAAWkF,GAC1BJ,IACFI,EAAcA,EAAYnmB,KAAI2kB,GAAKA,EAAEjb,iBAEvCyc,EAAYrT,SAAQ,SAASsT,GAC3B,MAAMC,EAAOD,EAAQja,MAAM,KAC3B6Z,EAAiBK,EAAK,IAAM,CAACpF,EAAWqF,EAAgBD,EAAK,GAAIA,EAAK,IACxE,GACF,CACF,CAUA,SAASC,EAAgBF,EAASG,GAGhC,OAAIA,EACKC,OAAOD,GAUlB,SAAuBH,GACrB,OAAOR,EAAgB1c,SAASkd,EAAQ1c,cAC1C,CATS+c,CAAcL,GAAW,EAAI,CACtC,CAqBA,SAASM,EAAgBC,GAAU,QAAElY,IAOnC,SAASmY,EAAOhmB,EAAOimB,GACrB,OAAO,IAAIC,OACTvE,EAAO3hB,GACP,KAAO+lB,EAASI,iBAAmB,IAAM,KAAOF,EAAS,IAAM,IAEnE,CAeA,MAAMG,EACJhH,cACEviB,KAAKwpB,aAAe,CAAC,EAErBxpB,KAAKypB,QAAU,GACfzpB,KAAK0pB,QAAU,EACf1pB,KAAK8I,SAAW,CAClB,CAGA6gB,QAAQ5E,EAAIgC,GACVA,EAAKje,SAAW9I,KAAK8I,WAErB9I,KAAKwpB,aAAaxpB,KAAK0pB,SAAW3C,EAClC/mB,KAAKypB,QAAQnW,KAAK,CAACyT,EAAMhC,IACzB/kB,KAAK0pB,SA5eX,SAA0B3E,GACxB,OAAO,IAAKsE,OAAOtE,EAAGxO,WAAa,KAAMmG,KAAK,IAAIlc,OAAS,CAC7D,CA0esBopB,CAAiB7E,GAAM,CACzC,CAEA8E,UAC8B,IAAxB7pB,KAAKypB,QAAQjpB,SAGfR,KAAK0c,KAAO,IAAM,MAEpB,MAAMoN,EAAc9pB,KAAKypB,QAAQlnB,KAAI0I,GAAMA,EAAG,KAC9CjL,KAAK+pB,UAAYZ,EArdvB,SAAca,EAASC,EAAY,KACjC,IAAIC,EAAc,EAElB,OAAOF,EAAQznB,KAAK4nB,IAClBD,GAAe,EACf,MAAM7L,EAAS6L,EACf,IAAInF,EAAKD,EAAOqF,GACZC,EAAM,GAEV,KAAOrF,EAAGvkB,OAAS,GAAG,CACpB,MAAM0J,EAAQ8a,EAAWtI,KAAKqI,GAC9B,IAAK7a,EAAO,CACVkgB,GAAOrF,EACP,KACF,CACAqF,GAAOrF,EAAGsF,UAAU,EAAGngB,EAAMzL,OAC7BsmB,EAAKA,EAAGsF,UAAUngB,EAAMzL,MAAQyL,EAAM,GAAG1J,QACrB,OAAhB0J,EAAM,GAAG,IAAeA,EAAM,GAEhCkgB,GAAO,KAAOE,OAAOvB,OAAO7e,EAAM,IAAMmU,IAExC+L,GAAOlgB,EAAM,GACI,MAAbA,EAAM,IACRggB,IAGN,CACA,OAAOE,CAAG,IACT7nB,KAAIwiB,GAAM,IAAIA,OAAOjW,KAAKmb,EAC/B,CAwb8Bnb,CAAKgb,IAAc,GAC3C9pB,KAAKuqB,UAAY,CACnB,CAGA7N,KAAK8N,GACHxqB,KAAK+pB,UAAUQ,UAAYvqB,KAAKuqB,UAChC,MAAMrgB,EAAQlK,KAAK+pB,UAAUrN,KAAK8N,GAClC,IAAKtgB,EAAS,OAAO,KAGrB,MAAMxL,EAAIwL,EAAM5J,WAAU,CAAC2K,EAAIvM,IAAMA,EAAI,QAAY+jB,IAAPxX,IAExCwf,EAAYzqB,KAAKwpB,aAAa9qB,GAKpC,OAFAwL,EAAMsL,OAAO,EAAG9W,GAET2D,OAAOsH,OAAOO,EAAOugB,EAC9B,EAkCF,MAAMC,EACJnI,cAEEviB,KAAK2qB,MAAQ,GAEb3qB,KAAK4qB,aAAe,GACpB5qB,KAAK6qB,MAAQ,EAEb7qB,KAAKuqB,UAAY,EACjBvqB,KAAK8qB,WAAa,CACpB,CAGAC,WAAWtsB,GACT,GAAIuB,KAAK4qB,aAAansB,GAAQ,OAAOuB,KAAK4qB,aAAansB,GAEvD,MAAMusB,EAAU,IAAIzB,EAIpB,OAHAvpB,KAAK2qB,MAAM1iB,MAAMxJ,GAAO4W,SAAQ,EAAE0P,EAAIgC,KAAUiE,EAAQrB,QAAQ5E,EAAIgC,KACpEiE,EAAQnB,UACR7pB,KAAK4qB,aAAansB,GAASusB,EACpBA,CACT,CAEAC,6BACE,OAA2B,IAApBjrB,KAAK8qB,UACd,CAEAI,cACElrB,KAAK8qB,WAAa,CACpB,CAGAnB,QAAQ5E,EAAIgC,GACV/mB,KAAK2qB,MAAMrX,KAAK,CAACyR,EAAIgC,IACH,UAAdA,EAAKloB,MAAkBmB,KAAK6qB,OAClC,CAGAnO,KAAK8N,GACH,MAAM/Z,EAAIzQ,KAAK+qB,WAAW/qB,KAAK8qB,YAC/Bra,EAAE8Z,UAAYvqB,KAAKuqB,UACnB,IAAIvV,EAASvE,EAAEiM,KAAK8N,GAiCpB,GAAIxqB,KAAKirB,6BACP,GAAIjW,GAAUA,EAAOvW,QAAUuB,KAAKuqB,eAAkB,CACpD,MAAMY,EAAKnrB,KAAK+qB,WAAW,GAC3BI,EAAGZ,UAAYvqB,KAAKuqB,UAAY,EAChCvV,EAASmW,EAAGzO,KAAK8N,EACnB,CAWF,OARIxV,IACFhV,KAAK8qB,YAAc9V,EAAOlM,SAAW,EACjC9I,KAAK8qB,aAAe9qB,KAAK6qB,OAE3B7qB,KAAKkrB,eAIFlW,CACT,EA4IF,GAHKkU,EAASkC,qBAAoBlC,EAASkC,mBAAqB,IAG5DlC,EAASjc,UAAYic,EAASjc,SAASxB,SAAS,QAClD,MAAM,IAAIpI,MAAM,6FAMlB,OAFA6lB,EAASmC,iBAAmBxI,EAAQqG,EAASmC,kBAAoB,CAAC,GAjFlE,SAASC,EAAY9I,EAAMhkB,GACzB,MAAM+sB,EAAkC,EACxC,GAAI/I,EAAKgJ,WAAY,OAAOD,EAE5B,CAGEtD,GACA5S,SAAQoW,GAAOA,EAAIjJ,EAAMhkB,KAE3B0qB,EAASkC,mBAAmB/V,SAAQoW,GAAOA,EAAIjJ,EAAMhkB,KAGrDgkB,EAAKkF,cAAgB,KAErB,CACED,EAGAG,EAEAM,GACA7S,SAAQoW,GAAOA,EAAIjJ,EAAMhkB,KAE3BgkB,EAAKgJ,YAAa,EAElB,IAAIE,EAAiB,KAWrB,GAV6B,iBAAlBlJ,EAAKmF,WACd+D,EAAiBlJ,EAAKmF,SAASgE,gBACxBnJ,EAAKmF,SAASgE,UAGnBnJ,EAAKmF,WACPnF,EAAKmF,SAAWS,EAAgB5F,EAAKmF,SAAUuB,EAASI,mBAItD9G,EAAKoJ,SAAWF,EAClB,MAAM,IAAIroB,MAAM,kGAgClB,OA3BAqoB,EAAiBA,GAAkBlJ,EAAKoJ,SAAW,MACnDL,EAAMM,iBAAmB1C,EAAOuC,GAAgB,GAE5CltB,IACGgkB,EAAK+C,QAAO/C,EAAK+C,MAAQ,SAC9BgG,EAAMO,QAAU3C,EAAO3G,EAAK+C,OACxB/C,EAAKuJ,iBAAgBvJ,EAAKvU,IAAMuU,EAAK+C,OACpC/C,EAAKvU,KAAQuU,EAAKwJ,iBAAgBxJ,EAAKvU,IAAM,SAC9CuU,EAAKvU,MAAKsd,EAAMU,MAAQ9C,EAAO3G,EAAKvU,MACxCsd,EAAMW,cAAgBpH,EAAOtC,EAAKvU,MAAQ,GACtCuU,EAAKwJ,gBAAkBxtB,EAAO0tB,gBAChCX,EAAMW,gBAAkB1J,EAAKvU,IAAM,IAAM,IAAMzP,EAAO0tB,gBAGtD1J,EAAKkD,UAAS6F,EAAMY,UAAYhD,EAAuC3G,EAAY,UAClFA,EAAKvV,WAAUuV,EAAKvV,SAAW,IAEpCuV,EAAKvV,SAAW,GAAG4B,UAAU2T,EAAKvV,SAAS1K,KAAI,SAAS6pB,GACtD,OAoDN,SAA2B5J,GACrBA,EAAK6J,WAAa7J,EAAK8J,iBACzB9J,EAAK8J,eAAiB9J,EAAK6J,SAAS9pB,KAAI,SAASgqB,GAC/C,OAAO1J,EAAQL,EAAM,CAAE6J,SAAU,MAAQE,EAC3C,KAMF,GAAI/J,EAAK8J,eACP,OAAO9J,EAAK8J,eAOd,GAAIE,EAAmBhK,GACrB,OAAOK,EAAQL,EAAM,CAAEiK,OAAQjK,EAAKiK,OAAS5J,EAAQL,EAAKiK,QAAU,OAGtE,GAAIpqB,OAAO8f,SAASK,GAClB,OAAOK,EAAQL,GAIjB,OAAOA,CACT,CAhFakK,CAAwB,SAANN,EAAe5J,EAAO4J,EACjD,KACA5J,EAAKvV,SAASoI,SAAQ,SAAS+W,GAAKd,EAA8B,EAAKC,EAAQ,IAE3E/I,EAAKiK,QACPnB,EAAY9I,EAAKiK,OAAQjuB,GAG3B+sB,EAAMP,QA3HR,SAAwBxI,GACtB,MAAMmK,EAAK,IAAIjC,EAWf,OATAlI,EAAKvV,SAASoI,SAAQuX,GAAQD,EAAGhD,QAAQiD,EAAKrH,MAAO,CAAE7b,KAAMkjB,EAAM/tB,KAAM,YAErE2jB,EAAK0J,eACPS,EAAGhD,QAAQnH,EAAK0J,cAAe,CAAErtB,KAAM,QAErC2jB,EAAKkD,SACPiH,EAAGhD,QAAQnH,EAAKkD,QAAS,CAAE7mB,KAAM,YAG5B8tB,CACT,CA8GkBE,CAAetB,GACxBA,CACT,CAYOD,CAA8B,EACvC,CAaA,SAASkB,EAAmBhK,GAC1B,QAAKA,IAEEA,EAAKwJ,gBAAkBQ,EAAmBhK,EAAKiK,QACxD,CAkDA,SAASK,EAAeC,GACtB,MAAMC,EAAY,CAChBj0B,MAAO,CAAC,WAAY,OAAQ,cAC5BD,KAAM,WACJ,MAAO,CACLm0B,iBAAkB,GAClBC,iBAAiB,EAErB,EACA/oB,SAAU,CACRqf,YACE,OAAIxjB,KAAKktB,gBAAwB,GAE1B,QAAUltB,KAAKitB,gBACxB,EACAE,cAEE,IAAKntB,KAAKotB,aAAeL,EAAKM,YAAYrtB,KAAKkpB,UAG7C,OAFA3wB,EAAQC,KAAK,iBAAiBwH,KAAKkpB,+CACnClpB,KAAKktB,iBAAkB,EAChBtK,EAAW5iB,KAAKstB,MAGzB,IAAItY,EAAS,CAAC,EAQd,OAPIhV,KAAKotB,YACPpY,EAAS+X,EAAKQ,cAAcvtB,KAAKstB,MACjCttB,KAAKitB,iBAAmBjY,EAAOkU,WAE/BlU,EAAS+X,EAAKS,UAAUxtB,KAAKkpB,SAAUlpB,KAAKstB,KAAMttB,KAAKytB,gBACvDztB,KAAKitB,iBAAmBjtB,KAAKkpB,UAExBlU,EAAO7R,KAChB,EACAiqB,aACE,OAAQptB,KAAKkpB,WAtCa/lB,EAsCwBnD,KAAK0tB,WArCtDC,QAAQxqB,GAAmB,KAAVA,IAD1B,IAAkCA,CAuC5B,EACAsqB,eAAc,KACL,GAKX70B,OAAOg1B,GACL,OAAOA,EAAc,MAAO,CAAC,EAAG,CAC9BA,EAAc,OAAQ,CACpBpuB,MAAOQ,KAAKwjB,UACZ1c,SAAU,CAAE+mB,UAAW7tB,KAAKmtB,gBAGlC,GAUF,MAAO,CAAEH,YAAWc,UANF,CAChBC,QAAQzN,GACNA,EAAI0N,UAAU,cAAehB,EAC/B,GAIJ,CAKA,MAAMiB,EAAkB,CACtB,yBAA0B,EAAGhjB,KAAI+J,SAAQlW,WACvC,MAAMovB,EAAiBC,EAAWljB,GAClC,IAAKijB,EAAe1tB,OAAQ,OAE5B,MAAM4tB,EAAal2B,SAAS01B,cAAc,OAC1CQ,EAAWP,UAAY7Y,EAAO7R,MAC9B6R,EAAO7R,MA2DX,SAAsBzK,EAAUy0B,EAAahqB,GAC3C,IAAIkrB,EAAY,EACZrZ,EAAS,GACb,MAAMsZ,EAAY,GAElB,SAASC,IACP,OAAK71B,EAAS8H,QAAW2sB,EAAY3sB,OAGjC9H,EAAS,GAAG2lB,SAAW8O,EAAY,GAAG9O,OAChC3lB,EAAS,GAAG2lB,OAAS8O,EAAY,GAAG9O,OAAU3lB,EAAWy0B,EAkBnC,UAAzBA,EAAY,GAAGxnB,MAAoBjN,EAAWy0B,EArB5Cz0B,EAAS8H,OAAS9H,EAAWy0B,CAsBxC,CAKA,SAAS1tB,EAAKlB,GAEZ,SAASiwB,EAAgBC,GACvB,MAAO,IAAMA,EAAKC,SAAW,KAAO9L,EAAW6L,EAAKtrB,OAAS,GAC/D,CAEA6R,GAAU,IAAM1V,EAAIf,GAAQ,GAAGgE,IAAIosB,KAAKpwB,EAAK2O,WAAYshB,GAAiB1f,KAAK,IAAM,GACvF,CAKA,SAASpP,EAAMnB,GACbyW,GAAU,KAAO1V,EAAIf,GAAQ,GAC/B,CAKA,SAAS3F,EAAO+M,IACG,UAAhBA,EAAMA,MAAoBlG,EAAOC,GAAOiG,EAAMpH,KACjD,CAEA,KAAO7F,EAAS8H,QAAU2sB,EAAY3sB,QAAQ,CAC5C,IAAIouB,EAASL,IAGb,GAFAvZ,GAAU4N,EAAWzf,EAAMknB,UAAUgE,EAAWO,EAAO,GAAGvQ,SAC1DgQ,EAAYO,EAAO,GAAGvQ,OAClBuQ,IAAWl2B,EAAU,CAOvB41B,EAAUO,UAAUxZ,QAAQ3V,GAC5B,GACE9G,EAAOg2B,EAAOpZ,OAAO,EAAG,GAAG,IAC3BoZ,EAASL,UACFK,IAAWl2B,GAAYk2B,EAAOpuB,QAAUouB,EAAO,GAAGvQ,SAAWgQ,GACtEC,EAAUO,UAAUxZ,QAAQ5V,EAC9B,KAC0B,UAApBmvB,EAAO,GAAGjpB,MACZ2oB,EAAUhb,KAAKsb,EAAO,GAAGrwB,MAEzB+vB,EAAU3f,MAEZ/V,EAAOg2B,EAAOpZ,OAAO,EAAG,GAAG,GAE/B,CACA,OAAOR,EAAS4N,EAAWzf,EAAM2rB,OAAOT,GAC1C,CA/ImBU,CAAab,EAAgBC,EAAWC,GAAatvB,EAAK,GAgB7E,SAASQ,EAAIf,GACX,OAAOA,EAAKmwB,SAASziB,aACvB,CAKA,SAASkiB,EAAW5vB,GAElB,MAAMyW,EAAS,GA0Bf,OAzBA,SAAUga,EAAYzwB,EAAM8f,GAC1B,IAAK,IAAIzf,EAAQL,EAAK0wB,WAAYrwB,EAAOA,EAAQA,EAAMswB,YAC9B,IAAnBtwB,EAAMuwB,SACR9Q,GAAUzf,EAAMwwB,UAAU5uB,OACE,IAAnB5B,EAAMuwB,WACfna,EAAO1B,KAAK,CACV3N,MAAO,QACP0Y,OAAQA,EACR9f,KAAMK,IAERyf,EAAS2Q,EAAYpwB,EAAOyf,GAIvB/e,EAAIV,GAAOsL,MAAM,oBACpB8K,EAAO1B,KAAK,CACV3N,MAAO,OACP0Y,OAAQA,EACR9f,KAAMK,KAKd,OAAOyf,CACR,CAxBD,CAwBG9f,EAAM,GACFyW,CACT,CAuGA,MAAMqa,EAAmB,CAAC,EAKpB5pB,EAAS6pB,IACb/2B,EAAQkN,MAAM6pB,EAAQ,EAOlB92B,GAAO,CAAC82B,KAAYpX,KACxB3f,EAAQg3B,IAAI,SAASD,OAAcpX,EAAK,EAOpCsX,GAAa,CAAC1X,EAASwX,KACvBD,EAAiB,GAAGvX,KAAWwX,OAEnC/2B,EAAQg3B,IAAI,oBAAoBzX,MAAYwX,KAC5CD,EAAiB,GAAGvX,KAAWwX,MAAa,EAAI,EAQ5CG,GAAW7M,EACX8M,GAAY7M,EACZ8M,GAAWp5B,OAAO,WAs/BxB,IAAIi3B,GAh/BS,SAAST,GAGpB,MAAM6C,EAAYvtB,OAAOlD,OAAO,MAE1B0wB,EAAUxtB,OAAOlD,OAAO,MAExB6R,EAAU,GAIhB,IAAI8e,GAAY,EAChB,MAAMC,EAAc,yBACdC,EAAqB,sFAErBC,EAAqB,CAAEC,mBAAmB,EAAM9wB,KAAM,aAAc6N,SAAU,IAKpF,IAAI7L,EAAU,CACZ+uB,cAAe,qBACfC,iBAAkB,8BAClBhN,YAAa,QACbiN,WAAY,KACZC,OAAO,EACPV,UAAW,KAGXW,UAAWhM,GASb,SAASiM,EAAmBC,GAC1B,OAAOrvB,EAAQ+uB,cAAcO,KAAKD,EACpC,CAgDA,SAASjD,EAAUmD,EAAoBC,EAAenD,EAAgBoD,GACpE,IAAIvD,EAAO,GACPmD,EAAe,GACU,iBAAlBG,GACTtD,EAAOqD,EACPlD,EAAiBmD,EAAcnD,eAC/BgD,EAAeG,EAAc1H,SAG7B2H,OAAepO,IAGf+M,GAAW,SAAU,uDACrBA,GAAW,SAAU,yGACrBiB,EAAeE,EACfrD,EAAOsD,GAIT,MAAMzvB,EAAU,CACdmsB,OACApE,SAAUuH,GAIZK,EAAK,mBAAoB3vB,GAIzB,MAAM6T,EAAS7T,EAAQ6T,OACnB7T,EAAQ6T,OACR+b,EAAW5vB,EAAQ+nB,SAAU/nB,EAAQmsB,KAAMG,EAAgBoD,GAM/D,OAJA7b,EAAOsY,KAAOnsB,EAAQmsB,KAEtBwD,EAAK,kBAAmB9b,GAEjBA,CACT,CAWA,SAAS+b,EAAWN,EAAcO,EAAiBvD,EAAgBoD,GAOjE,SAASI,EAAYzO,EAAMtY,GACzB,MAAMgnB,EAAYhI,EAASI,iBAAmBpf,EAAM,GAAG+B,cAAgB/B,EAAM,GAC7E,OAAO7H,OAAO8uB,UAAUC,eAAezC,KAAKnM,EAAKmF,SAAUuJ,IAAc1O,EAAKmF,SAASuJ,EACzF,CAkEA,SAASG,IACgB,MAAnB7oB,EAAI8oB,YA3BV,WACE,GAAmB,KAAfC,EAAmB,OAEvB,IAAIvc,EAAS,KAEb,GAA+B,iBAApBxM,EAAI8oB,YAA0B,CACvC,IAAK1B,EAAUpnB,EAAI8oB,aAEjB,YADA3M,EAAQrB,QAAQiO,GAGlBvc,EAAS+b,EAAWvoB,EAAI8oB,YAAaC,GAAY,EAAMC,EAAchpB,EAAI8oB,cACzEE,EAAchpB,EAAI8oB,aAA4Ctc,EAAU,GAC1E,MACEA,EAASuY,EAAcgE,EAAY/oB,EAAI8oB,YAAY9wB,OAASgI,EAAI8oB,YAAc,MAO5E9oB,EAAIgd,UAAY,IAClBA,GAAaxQ,EAAOwQ,WAEtBb,EAAQD,eAAe1P,EAAO2P,QAAS3P,EAAOkU,SAChD,CAIIuI,GAlEJ,WACE,IAAKjpB,EAAImf,SAEP,YADAhD,EAAQrB,QAAQiO,GAIlB,IAAIhH,EAAY,EAChB/hB,EAAIqjB,iBAAiBtB,UAAY,EACjC,IAAIrgB,EAAQ1B,EAAIqjB,iBAAiBnP,KAAK6U,GAClCG,EAAM,GAEV,KAAOxnB,GAAO,CACZwnB,GAAOH,EAAWlH,UAAUE,EAAWrgB,EAAMzL,OAC7C,MAAM3F,EAAOm4B,EAAYzoB,EAAK0B,GAC9B,GAAIpR,EAAM,CACR,MAAOkqB,EAAM2O,GAAoB74B,EAKjC,GAJA6rB,EAAQrB,QAAQoO,GAChBA,EAAM,GAENlM,GAAamM,EACT3O,EAAKjkB,WAAW,KAGlB2yB,GAAOxnB,EAAM,OACR,CACL,MAAM0nB,EAAW1I,EAASmC,iBAAiBrI,IAASA,EACpD2B,EAAQF,WAAWva,EAAM,GAAI0nB,EAC/B,CACF,MACEF,GAAOxnB,EAAM,GAEfqgB,EAAY/hB,EAAIqjB,iBAAiBtB,UACjCrgB,EAAQ1B,EAAIqjB,iBAAiBnP,KAAK6U,EACpC,CACAG,GAAOH,EAAWzC,OAAOvE,GACzB5F,EAAQrB,QAAQoO,EAClB,CAgCIG,GAEFN,EAAa,EACf,CAKA,SAASO,EAAatP,GAKpB,OAJIA,EAAKgB,WACPmB,EAAQpB,SAAS2F,EAASmC,iBAAiB7I,EAAKgB,YAAchB,EAAKgB,WAErEhb,EAAMnG,OAAOlD,OAAOqjB,EAAM,CAAEhkB,OAAQ,CAAE2E,MAAOqF,KACtCA,CACT,CAQA,SAASupB,EAAUvP,EAAMtY,EAAO8nB,GAC9B,IAAIC,EAh1CV,SAAoBlN,EAAImN,GACtB,MAAMhoB,EAAQ6a,GAAMA,EAAGrI,KAAKwV,GAC5B,OAAOhoB,GAAyB,IAAhBA,EAAMzL,KACxB,CA60CoBM,CAAWyjB,EAAKyJ,MAAO+F,GAErC,GAAIC,EAAS,CACX,GAAIzP,EAAK,UAAW,CAClB,MAAM2E,EAAO,IAAI7E,EAASE,GAC1BA,EAAK,UAAUtY,EAAOid,GAClBA,EAAKzE,iBAAgBuP,GAAU,EACrC,CAEA,GAAIA,EAAS,CACX,KAAOzP,EAAK2P,YAAc3P,EAAKhkB,QAC7BgkB,EAAOA,EAAKhkB,OAEd,OAAOgkB,CACT,CACF,CAGA,GAAIA,EAAKwJ,eACP,OAAO+F,EAAUvP,EAAKhkB,OAAQ0L,EAAO8nB,EAEzC,CAOA,SAASI,EAASF,GAChB,OAA+B,IAA3B1pB,EAAIwiB,QAAQF,YAGdyG,GAAcW,EAAO,GACd,IAIPG,GAA2B,EACpB,EAEX,CAQA,SAASC,EAAapoB,GACpB,MAAMgoB,EAAShoB,EAAM,GACfqoB,EAAUroB,EAAMR,KAEhByd,EAAO,IAAI7E,EAASiQ,GAEpBC,EAAkB,CAACD,EAAQ7K,cAAe6K,EAAQ,aACxD,IAAK,MAAME,KAAMD,EACf,GAAKC,IACLA,EAAGvoB,EAAOid,GACNA,EAAKzE,gBAAgB,OAAO0P,EAASF,GAuB3C,OApBIK,GAAWA,EAAQxG,iBACrBwG,EAAQtG,MA97CP,IAAI5C,OA87CkB6I,EA97CLpvB,QAAQ,wBAAyB,QAAS,MAi8C1DyvB,EAAQG,KACVnB,GAAcW,GAEVK,EAAQI,eACVpB,GAAcW,GAEhBb,IACKkB,EAAQK,aAAgBL,EAAQI,eACnCpB,EAAaW,IAGjBJ,EAAaS,GAKNA,EAAQK,YAAc,EAAIV,EAAO1xB,MAC1C,CAOA,SAASqyB,EAAW3oB,GAClB,MAAMgoB,EAAShoB,EAAM,GACf8nB,EAAqBhB,EAAgBlC,OAAO5kB,EAAMzL,OAElDq0B,EAAUf,EAAUvpB,EAAK0B,EAAO8nB,GACtC,IAAKc,EAAW,OAAOnD,GAEvB,MAAMoD,EAASvqB,EACXuqB,EAAOL,KACTnB,GAAcW,GAERa,EAAOC,WAAaD,EAAOE,aAC/B1B,GAAcW,GAEhBb,IACI0B,EAAOE,aACT1B,EAAaW,IAGjB,GACM1pB,EAAIgb,WACNmB,EAAQjB,YAELlb,EAAIkqB,MAASlqB,EAAI8oB,cACpB9L,GAAahd,EAAIgd,WAEnBhd,EAAMA,EAAIhK,aACHgK,IAAQsqB,EAAQt0B,QAOzB,OANIs0B,EAAQrG,SACNqG,EAAQ/G,iBACV+G,EAAQrG,OAAOR,MAAQ6G,EAAQ7G,OAEjC6F,EAAagB,EAAQrG,SAEhBsG,EAAOC,UAAY,EAAId,EAAO1xB,MACvC,CAaA,IAAI0yB,EAAY,CAAC,EAQjB,SAASC,EAAcC,EAAiBlpB,GACtC,MAAMgoB,EAAShoB,GAASA,EAAM,GAK9B,GAFAqnB,GAAc6B,EAEA,MAAVlB,EAEF,OADAb,IACO,EAOT,GAAuB,UAAnB6B,EAAUr0B,MAAmC,QAAfqL,EAAMrL,MAAkBq0B,EAAUz0B,QAAUyL,EAAMzL,OAAoB,KAAXyzB,EAAe,CAG1G,GADAX,GAAcP,EAAgB/oB,MAAMiC,EAAMzL,MAAOyL,EAAMzL,MAAQ,IAC1DqxB,EAAW,CAEd,MAAMtqB,EAAM,IAAInC,MAAM,uBAGtB,MAFAmC,EAAIirB,aAAeA,EACnBjrB,EAAI6tB,QAAUH,EAAUxpB,KAClBlE,CACR,CACA,OAAO,CACT,CAGA,GAFA0tB,EAAYhpB,EAEO,UAAfA,EAAMrL,KACR,OAAOyzB,EAAapoB,GACf,GAAmB,YAAfA,EAAMrL,OAAuB4uB,EAAgB,CAGtD,MAAMjoB,EAAM,IAAInC,MAAM,mBAAqB6uB,EAAS,gBAAkB1pB,EAAIgb,WAAa,aAAe,KAEtG,MADAhe,EAAIgd,KAAOha,EACLhD,CACR,CAAO,GAAmB,QAAf0E,EAAMrL,KAAgB,CAC/B,MAAMwvB,EAAYwE,EAAW3oB,GAC7B,GAAImkB,IAAcsB,GAChB,OAAOtB,CAEX,CAKA,GAAmB,YAAfnkB,EAAMrL,MAAiC,KAAXqzB,EAE9B,OAAO,EAOT,GAAIoB,EAAa,KAAUA,EAA2B,EAAdppB,EAAMzL,MAAW,CAEvD,MADY,IAAI4E,MAAM,4DAExB,CAeA,OADAkuB,GAAcW,EACPA,EAAO1xB,MAChB,CAEA,MAAM0oB,EAAWmE,EAAYoD,GAC7B,IAAKvH,EAEH,MADAzjB,EAAMuqB,EAAmBltB,QAAQ,KAAM2tB,IACjC,IAAIptB,MAAM,sBAAwBotB,EAAe,KAGzD,MAAMjW,EAAKyO,EAAgBC,EAAU,CAAElY,YACvC,IAAIgE,EAAS,GAETxM,EAAMqoB,GAAgBrW,EAE1B,MAAMgX,EAAgB,CAAC,EACjB7M,EAAU,IAAIvjB,EAAQmvB,UAAUnvB,IA5GtC,WACE,MAAMmyB,EAAO,GACb,IAAK,IAAIC,EAAUhrB,EAAKgrB,IAAYtK,EAAUsK,EAAUA,EAAQh1B,OAC1Dg1B,EAAQhQ,WACV+P,EAAKE,QAAQD,EAAQhQ,WAGzB+P,EAAKle,SAAQa,GAAQyO,EAAQpB,SAASrN,IACxC,CAqGAwd,GACA,IAAInC,EAAa,GACb/L,EAAY,EACZ/mB,EAAQ,EACR60B,EAAa,EACbjB,GAA2B,EAE/B,IAGE,IAFA7pB,EAAIwiB,QAAQE,gBAEH,CACPoI,IACIjB,EAGFA,GAA2B,EAE3B7pB,EAAIwiB,QAAQE,cAEd1iB,EAAIwiB,QAAQT,UAAY9rB,EAExB,MAAMyL,EAAQ1B,EAAIwiB,QAAQtO,KAAKsU,GAG/B,IAAK9mB,EAAO,MAEZ,MACMypB,EAAiBR,EADHnC,EAAgB3G,UAAU5rB,EAAOyL,EAAMzL,OACTyL,GAClDzL,EAAQyL,EAAMzL,MAAQk1B,CACxB,CAMA,OALAR,EAAcnC,EAAgBlC,OAAOrwB,IACrCkmB,EAAQZ,gBACRY,EAAQE,WACR7P,EAAS2P,EAAQC,SAEV,CAGLY,UAAW/P,KAAKW,MAAMoP,GACtBriB,MAAO6R,EACPkU,SAAUuH,EACV/K,SAAS,EACTf,QAASA,EACTnc,IAAKA,EA6BT,CA3BE,MAAOhD,GACP,GAAIA,EAAI8pB,SAAW9pB,EAAI8pB,QAAQ7jB,SAAS,WACtC,MAAO,CACLia,SAAS,EACTkO,UAAW,CACTC,IAAKruB,EAAI8pB,QACTnuB,QAAS6vB,EAAgB/oB,MAAMxJ,EAAQ,IAAKA,EAAQ,KACpD+jB,KAAMhd,EAAIgd,MAEZsR,MAAO9e,EACPwQ,UAAW,EACXriB,MAAOssB,GAASuB,GAChBrM,QAASA,GAEN,GAAImL,EACT,MAAO,CACLpK,SAAS,EACTF,UAAW,EACXriB,MAAOssB,GAASuB,GAChBrM,QAASA,EACTuE,SAAUuH,EACVjoB,IAAKA,EACLurB,YAAavuB,GAGf,MAAMA,CAEV,CACF,CAmCA,SAAS+nB,EAAcD,EAAM0G,GAC3BA,EAAiBA,GAAkB5yB,EAAQwuB,WAAavtB,OAAOomB,KAAKmH,GACpE,MAAMqE,EA5BR,SAAiC3G,GAC/B,MAAMtY,EAAS,CACbwQ,UAAW,EACXb,QAAS,IAAIvjB,EAAQmvB,UAAUnvB,GAC/B+B,MAAOssB,GAASnC,GAChB5H,SAAS,EACTld,IAAKynB,GAGP,OADAjb,EAAO2P,QAAQrB,QAAQgK,GAChBtY,CACT,CAkBoBkf,CAAwB5G,GAEpC6G,EAAUH,EAAevxB,OAAO4qB,GAAa5qB,OAAO2xB,GAAe7xB,KAAInD,GAC3E2xB,EAAW3xB,EAAMkuB,GAAM,KAEzB6G,EAAQV,QAAQQ,GAEhB,MAAMI,EAASF,EAAQG,MAAK,CAACC,EAAGC,KAE9B,GAAID,EAAE/O,YAAcgP,EAAEhP,UAAW,OAAOgP,EAAEhP,UAAY+O,EAAE/O,UAIxD,GAAI+O,EAAErL,UAAYsL,EAAEtL,SAAU,CAC5B,GAAImE,EAAYkH,EAAErL,UAAUuL,aAAeD,EAAEtL,SAC3C,OAAO,EACF,GAAImE,EAAYmH,EAAEtL,UAAUuL,aAAeF,EAAErL,SAClD,OAAQ,CAEZ,CAMA,OAAO,CAAC,KAGHwL,EAAMC,GAAcN,EAGrBrf,EAAS0f,EAGf,OAFA1f,EAAO4f,YAAcD,EAEd3f,CACT,CAyCA,MAAM6f,EAAW,CACf,0BAA2B,EAAG5pB,SACxB7J,EAAQkvB,QACVrlB,EAAG4iB,UAAY5iB,EAAG4iB,UAAU/qB,QAAQ,MAAO,IAAIA,QAAQ,aAAc,MACvE,EAEF,yBAA0B,EAAGkS,aACvB5T,EAAQkvB,QACVtb,EAAO7R,MAAQ6R,EAAO7R,MAAML,QAAQ,MAAO,QAC7C,GAIEgyB,EAAiB,mBAEjBC,EAAmB,CACvB,yBAA0B,EAAG/f,aACvB5T,EAAQivB,aACVrb,EAAO7R,MAAQ6R,EAAO7R,MAAML,QAAQgyB,GAAiBrkB,GACnDA,EAAE3N,QAAQ,MAAO1B,EAAQivB,cAE7B,GAUJ,SAAS2E,EAAiBloB,GAExB,IAAIvO,EAAO,KACX,MAAM2qB,EA1oBR,SAAuBnN,GACrB,IAAIkZ,EAAUlZ,EAAMyH,UAAY,IAEhCyR,GAAWlZ,EAAMmZ,WAAanZ,EAAMmZ,WAAW1R,UAAY,GAG3D,MAAMtZ,EAAQ9I,EAAQgvB,iBAAiB1T,KAAKuY,GAC5C,GAAI/qB,EAAO,CACT,MAAMgf,EAAWmE,EAAYnjB,EAAM,IAKnC,OAJKgf,IACH1wB,GAAKw3B,EAAmBltB,QAAQ,KAAMoH,EAAM,KAC5C1R,GAAK,oDAAqDujB,IAErDmN,EAAWhf,EAAM,GAAK,cAC/B,CAEA,OAAO+qB,EACJvmB,MAAM,OACN5E,MAAMqrB,GAAW3E,EAAmB2E,IAAW9H,EAAY8H,IAChE,CAunBmBC,CAActoB,GAE/B,GAAI0jB,EAAmBtH,GAAW,OAGlC4H,EAAK,0BACH,CAAE7lB,GAAI6B,EAASoc,SAAUA,IAE3B3qB,EAAOuO,EACP,MAAMhO,EAAOP,EAAK0hB,YACZjL,EAASkU,EAAWsE,EAAU1uB,EAAM,CAAEoqB,WAAUuE,gBAAgB,IAAUF,EAAczuB,GAG9FgyB,EAAK,yBAA0B,CAAE7lB,GAAI6B,EAASkI,SAAQlW,SAEtDgO,EAAQ+gB,UAAY7Y,EAAO7R,MAzD7B,SAAyB2J,EAASuoB,EAAaC,GAC7C,MAAMpM,EAAWmM,EAAcxF,EAAQwF,GAAeC,EAEtDxoB,EAAQE,UAAU+U,IAAI,QAClBmH,GAAUpc,EAAQE,UAAU+U,IAAImH,EACtC,CAqDEqM,CAAgBzoB,EAASoc,EAAUlU,EAAOkU,UAC1Cpc,EAAQkI,OAAS,CACfkU,SAAUlU,EAAOkU,SAEjBnE,GAAI/P,EAAOwQ,UACXgQ,UAAWxgB,EAAOwQ,WAEhBxQ,EAAO4f,cACT9nB,EAAQ8nB,YAAc,CACpB1L,SAAUlU,EAAO4f,YAAY1L,SAE7BnE,GAAI/P,EAAO4f,YAAYpP,UACvBgQ,UAAWxgB,EAAO4f,YAAYpP,WAGpC,CAqBA,MAAMiQ,EAAmB,KACvB,GAAIA,EAAiBC,OAAQ,OAC7BD,EAAiBC,QAAS,EAE1BlG,GAAW,SAAU,kEAENt3B,SAASy9B,iBAAiB,YAClCtgB,QAAQ2f,EAAiB,EAUlC,IAAIY,GAAiB,EAKrB,SAASC,IAEP,GAA4B,YAAxB39B,SAASghB,WAEX,YADA0c,GAAiB,GAIJ19B,SAASy9B,iBAAiB,YAClCtgB,QAAQ2f,EACjB,CAuFA,SAAS3H,EAAYjuB,GAEnB,OADAA,GAAQA,GAAQ,IAAI6M,cACb2jB,EAAUxwB,IAASwwB,EAAUC,EAAQzwB,GAC9C,CAOA,SAAS02B,EAAgBC,GAAW,aAAEtF,IACX,iBAAdsF,IACTA,EAAY,CAACA,IAEfA,EAAU1gB,SAAQ2gB,IAAWnG,EAAQmG,EAAM/pB,eAAiBwkB,CAAY,GAC1E,CAMA,SAAS2D,EAAch1B,GACrB,MAAM62B,EAAO5I,EAAYjuB,GACzB,OAAO62B,IAASA,EAAK/F,iBACvB,CAsCA,SAASY,EAAKnrB,EAAOuS,GACnB,MAAMua,EAAK9sB,EACXqL,EAAQqE,SAAQ,SAAS6gB,GACnBA,EAAOzD,IACTyD,EAAOzD,GAAIva,EAEf,GACF,CApJsB,oBAAXjI,QAA0BA,OAAOkJ,kBAC1ClJ,OAAOkJ,iBAAiB,oBAP1B,WAEMyc,GAAgBC,GACtB,IAIoD,GA8KpDxzB,OAAOsH,OAAOojB,EAAM,CAClBS,YACAD,gBACAsI,eACAM,UAvBF,SAA4BC,GAI1B,OAHA5G,GAAW,SAAU,+CACrBA,GAAW,SAAU,sEAzTJzU,EA2TAqb,EA1TXh1B,EAAQivB,YAAcjvB,EAAQkvB,MAI7BvV,EAAKjY,QAAQitB,GAAa7lB,GACjB,OAAVA,EACK9I,EAAQkvB,MAAQ,OAASpmB,EACvB9I,EAAQivB,WACVnmB,EAAMpH,QAAQ,MAAO1B,EAAQivB,YAE/BnmB,IATA6Q,EAFX,IAAmBA,CA4TnB,EAmBEia,mBAEAqB,eAfF,SAAiCprB,GAI/B,OAHAukB,GAAW,SAAU,oDACrBA,GAAW,SAAU,oCAEdwF,EAAiB/pB,EAC1B,EAWEqrB,UA5OF,SAAmBC,GACbA,EAAYjG,QACdd,GAAW,SAAU,6CACrBA,GAAW,SAAU,uEAEvBpuB,EAAUsuB,GAAUtuB,EAASm1B,EAC/B,EAuOEd,mBACAe,uBApNF,WACEhH,GAAW,SAAU,wEACrBoG,GAAiB,CACnB,EAkNEa,iBAhLF,SAA0BhG,EAAciG,GACtC,IAAIT,EAAO,KACX,IACEA,EAAOS,EAAmB3J,EAU5B,CATE,MAAO4J,GAGP,GAFAlxB,EAAM,wDAAwD3C,QAAQ,KAAM2tB,KAEvEX,EAAa,MAAM6G,EAAkBlxB,EAAMkxB,GAKhDV,EAAOhG,CACT,CAEKgG,EAAK72B,OAAM62B,EAAK72B,KAAOqxB,GAC5Bb,EAAUa,GAAgBwF,EAC1BA,EAAKW,cAAgBF,EAAmBG,KAAK,KAAM9J,GAE/CkJ,EAAKpG,SACPiG,EAAgBG,EAAKpG,QAAS,CAAEY,gBAEpC,EA2JEqG,mBApJF,SAA4BrG,UACnBb,EAAUa,GACjB,IAAK,MAAMuF,KAAS3zB,OAAOomB,KAAKoH,GAC1BA,EAAQmG,KAAWvF,UACdZ,EAAQmG,EAGrB,EA8IEe,cAzIF,WACE,OAAO10B,OAAOomB,KAAKmH,EACrB,EAwIEvC,cACAyI,kBACAkB,gBA/HF,SAAyB53B,GACvBowB,GAAW,SAAU,oDACrBA,GAAW,SAAU,oEAErB,MAAMyG,EAAO5I,EAAYjuB,GACzB,GAAI62B,EAAQ,OAAOA,EAGnB,MADY,IAAI5yB,MAAM,iDAAmDP,QAAQ,KAAM1D,GAEzF,EAuHEg1B,gBACAvR,QAAS6M,GACTuH,UA/DF,SAAmBf,IArBnB,SAA0BA,GAEpBA,EAAO,2BAA6BA,EAAO,6BAC7CA,EAAO,2BAA8Bp9B,IACnCo9B,EAAO,yBACL7zB,OAAOsH,OAAO,CAAEoS,MAAOjjB,EAAKmS,IAAMnS,GACnC,GAGDo9B,EAAO,0BAA4BA,EAAO,4BAC5CA,EAAO,0BAA6Bp9B,IAClCo9B,EAAO,wBACL7zB,OAAOsH,OAAO,CAAEoS,MAAOjjB,EAAKmS,IAAMnS,GACnC,EAGP,CAMEo+B,CAAiBhB,GACjBllB,EAAQsC,KAAK4iB,EACf,EA8DEiB,UAAWrK,EAAeC,GAAMe,YAGlCf,EAAKqK,UAAY,WAAatH,GAAY,CAAO,EACjD/C,EAAKsK,SAAW,WAAavH,GAAY,CAAM,EAC/C/C,EAAKuK,cA/uCO,SAivCZ,IAAK,MAAMt+B,KAAO0tB,EAEU,iBAAfA,EAAM1tB,IAEfopB,EAAcsE,EAAM1tB,IAWxB,OANAqJ,OAAOsH,OAAOojB,EAAMrG,GAGpBqG,EAAKkK,UAAUpC,GACf9H,EAAKkK,UAAUhJ,GACflB,EAAKkK,UAAUlC,GACRhI,CACT,CAGgBwK,CAAK,CAAC,GAEtBlW,EAAOmW,QAAUhK,oBCp9EjB,IAAIjrB,EAAM,CACT,OAAQ,CACP,MACA,gBAED,UAAW,CACV,MACA,gBAED,SAAU,CACT,KACA,kBAED,YAAa,CACZ,KACA,kBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,iBAAkB,CACjB,MACA,0BAED,oBAAqB,CACpB,MACA,0BAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,gBAAiB,CAChB,MACA,yBAED,mBAAoB,CACnB,MACA,yBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,gBAAiB,CAChB,KACA,yBAED,mBAAoB,CACnB,KACA,yBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,YAAa,CACZ,KACA,qBAED,eAAgB,CACf,KACA,qBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,MAAO,CACN,MACA,eAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,eAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,WAAY,CACX,KACA,oBAED,cAAe,CACd,KACA,oBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,YAAa,CACZ,MACA,qBAED,iBAAkB,CACjB,MACA,0BAED,oBAAqB,CACpB,MACA,0BAED,eAAgB,CACf,MACA,qBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,iBAAkB,CACjB,KACA,0BAED,oBAAqB,CACpB,KACA,0BAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,WAAY,CACX,IACA,oBAED,cAAe,CACd,IACA,oBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,MAAO,CACN,MACA,eAED,SAAU,CACT,MACA,eAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,IACA,iBAED,WAAY,CACX,IACA,iBAED,WAAY,CACX,MACA,oBAED,gBAAiB,CAChB,MACA,yBAED,mBAAoB,CACnB,MACA,yBAED,cAAe,CACd,MACA,oBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,KACA,kBAED,YAAa,CACZ,KACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,OAAQ,CACP,MACA,gBAED,UAAW,CACV,MACA,gBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,SAAU,CACT,IACA,kBAED,YAAa,CACZ,IACA,kBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,OAAQ,CACP,MACA,gBAED,UAAW,CACV,MACA,gBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,aAAc,CACb,MACA,mBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,UAAW,CACV,IACA,mBAED,aAAc,CACb,IACA,mBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,SAAU,CACT,KACA,kBAED,YAAa,CACZ,KACA,kBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,mBAAoB,CACnB,MACA,4BAED,sBAAuB,CACtB,MACA,4BAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,gBAAiB,CAChB,MACA,yBAED,mBAAoB,CACnB,MACA,yBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,gBAAiB,CAChB,MACA,yBAED,mBAAoB,CACnB,MACA,yBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,YAAa,CACZ,KACA,qBAED,eAAgB,CACf,KACA,qBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,OAAQ,CACP,MACA,gBAED,UAAW,CACV,MACA,gBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,QAAS,CACR,MACA,iBAED,iBAAkB,CACjB,MACA,0BAED,oBAAqB,CACpB,MACA,0BAED,WAAY,CACX,MACA,iBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,YAAa,CACZ,KACA,qBAED,eAAgB,CACf,KACA,qBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,aAAc,CACb,KACA,sBAED,gBAAiB,CAChB,KACA,sBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,WAAY,CACX,MACA,oBAED,gBAAiB,CAChB,MACA,yBAED,mBAAoB,CACnB,MACA,yBAED,cAAe,CACd,MACA,oBAED,MAAO,CACN,MACA,eAED,SAAU,CACT,MACA,eAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,MAAO,CACN,MACA,eAED,SAAU,CACT,MACA,eAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,kBAAmB,CAClB,MACA,2BAED,qBAAsB,CACrB,MACA,2BAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,UAAW,CACV,KACA,mBAED,aAAc,CACb,KACA,mBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,cAAe,CACd,MACA,uBAED,iBAAkB,CACjB,MACA,uBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,aAAc,CACb,MACA,sBAED,gBAAiB,CAChB,MACA,sBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,iBAAkB,CACjB,MACA,0BAED,oBAAqB,CACpB,MACA,0BAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,OAAQ,CACP,MACA,gBAED,UAAW,CACV,MACA,gBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,eAAgB,CACf,MACA,wBAED,kBAAmB,CAClB,MACA,wBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,UAAW,CACV,MACA,mBAED,aAAc,CACb,MACA,mBAED,aAAc,CACb,MACA,sBAED,kBAAmB,CAClB,KACA,2BAED,qBAAsB,CACrB,KACA,2BAED,gBAAiB,CAChB,MACA,sBAED,YAAa,CACZ,MACA,qBAED,eAAgB,CACf,MACA,qBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,QAAS,CACR,KACA,iBAED,WAAY,CACX,KACA,iBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,OAAQ,CACP,IACA,gBAED,UAAW,CACV,IACA,gBAED,QAAS,CACR,MACA,iBAED,WAAY,CACX,MACA,iBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,oBAED,SAAU,CACT,MACA,kBAED,YAAa,CACZ,MACA,kBAED,WAAY,CACX,MACA,oBAED,cAAe,CACd,MACA,qBAGF,SAASk1B,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEr1B,EAAKm1B,GAC9B,OAAOG,QAAQx/B,UAAUy/B,MAAK,KAC7B,IAAItkB,EAAI,IAAInQ,MAAM,uBAAyBq0B,EAAM,KAEjD,MADAlkB,EAAE8Z,KAAO,mBACH9Z,CAAC,IAIT,IAAIukB,EAAMx1B,EAAIm1B,GAAMppB,EAAKypB,EAAI,GAC7B,OAAOJ,EAAoBnkB,EAAEukB,EAAI,IAAID,MAAK,IAClCH,EAAoB/yB,EAAE0J,EAAI,KAEnC,CACAmpB,EAAoBhP,KAAO,IAAOpmB,OAAOomB,KAAKlmB,GAC9Ck1B,EAAoBnpB,GAAK,MACzB+S,EAAOmW,QAAUC,mBC1gDjB,IAAIl1B,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,MACX,aAAc,MACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,MACX,aAAc,MACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,KACX,aAAc,KACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,YAAa,MACb,eAAgB,MAChB,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,OAIf,SAASy1B,EAAeN,GACvB,IAAIppB,EAAK2pB,EAAsBP,GAC/B,OAAOC,EAAoBrpB,EAC5B,CACA,SAAS2pB,EAAsBP,GAC9B,IAAIC,EAAoBC,EAAEr1B,EAAKm1B,GAAM,CACpC,IAAIlkB,EAAI,IAAInQ,MAAM,uBAAyBq0B,EAAM,KAEjD,MADAlkB,EAAE8Z,KAAO,mBACH9Z,CACP,CACA,OAAOjR,EAAIm1B,EACZ,CACAM,EAAevP,KAAO,WACrB,OAAOpmB,OAAOomB,KAAKlmB,EACpB,EACAy1B,EAAe3/B,QAAU4/B,EACzB5W,EAAOmW,QAAUQ,EACjBA,EAAe1pB,GAAK,iECjQpB,MClCuL,EDkCvL,CACAlP,KAAAA,+JExBIgC,EAAU,CAAC,EAEfA,EAAQyE,kBAAoB,IAC5BzE,EAAQ0E,cAAgB,IAElB1E,EAAQ2E,OAAS,SAAc,KAAM,QAE3C3E,EAAQ4E,OAAS,IACjB5E,EAAQ6E,mBAAqB,IAEhB,IAAI,IAAS7E,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,cACd,GCTW,WAAa,IAAI8E,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACpN,YAAY,2BAA2BsN,MAAM,CAAC,GAAK,sBAAsB,CAACF,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIgyB,MAAM,2BAA2B,IAAI,CAAChyB,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,wBAAwB,UAAUsB,EAAIU,GAAG,KAAKP,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIgyB,MAAM,6BAA6B,IAAI,CAAChyB,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,0BAA0B,WAAW,GACnf,IDWpB,EACA,KACA,WACA,MAI8B,qEEnBhC,kVC+BA,IAuCMuzB,EAAAA,WAEL,WAAYC,gGAAW,SAEtBp4B,KAAKq4B,WAAaD,EAClBp4B,KAAKs4B,cA5CgB,IA6CrBt4B,KAAKu4B,UArBgB,IAsBrBv4B,KAAKw4B,MAAO,EACZx4B,KAAKy4B,kBAAoB,CACzB,8CAED,WACCz4B,KAAK04B,wBAAyB,EAC9B14B,KAAK24B,QAAUC,YAAY54B,KAAK64B,YAAYhC,KAAK72B,MAAO,IACxD9H,SAASihB,iBAAiB,mBAAoBnZ,KAAK84B,iBAAiBjC,KAAK72B,MACzE,0BAED,WACC,QAASA,KAAKq4B,WAAWj3B,QAAQ23B,UACjC,0BAED,WACC/4B,KAAKg5B,aAAc,EACnBh5B,KAAKi5B,YACL,qBAED,WACCj5B,KAAKk5B,aAAc,EACnBl5B,KAAKi5B,YACL,2BAED,WACCj5B,KAAK64B,aACL,4BAKD,WAKC,IAAIM,GAJAn5B,KAAKw4B,MAASx4B,KAAK24B,UAGvB34B,KAAKw4B,MAAO,GAERx4B,KAAKg5B,aAAeh5B,KAAKk5B,eACvBvhB,EAAAA,EAAAA,IAAc3X,KAAKq4B,WAAW/5B,QAC/B0B,KAAKq4B,WAAWe,gBAAkBp5B,KAAKq4B,WAAWngC,SAASmhC,oBAE/DF,EAAkBn5B,KAAKq4B,WAAWiB,eAEnCC,EAAAA,QAAAA,MAAWlgB,EAAAA,EAAAA,GAAY,eAAgBrZ,KAAKw5B,aAAc,CACzDC,WAAYz5B,KAAKq4B,WAAWngC,SAASoW,GACrCorB,UAAW15B,KAAKq4B,WAAWsB,QAAQrrB,GACnCsrB,aAAc55B,KAAKq4B,WAAWsB,QAAQ90B,MACtCiT,QAAS9X,KAAKq4B,WAAWe,cACzBD,gBAAAA,EACAU,QAAS75B,KAAKg5B,YACdc,aAAc95B,KAAKk5B,YACnBr0B,MAAO7E,KAAKq4B,WAAWj3B,QAAQ23B,WAC/BgB,SAAU/5B,KAAKq4B,WAAWj3B,QAAQ24B,WAChCjC,KAAK93B,KAAKg6B,gBAAgBnD,KAAK72B,MAAOA,KAAKi6B,aAAapD,KAAK72B,OAChEA,KAAKk5B,aAAc,EACnBl5B,KAAKg5B,aAAc,EACnB,gCAED,SAAgBzR,GAYf,GAXAvnB,KAAKy4B,kBAAoB,EAErBz4B,KAAKq4B,WAAWngC,SAASmhC,iBAAmB9R,EAASzuB,KAAKZ,SAASmhC,mBACtE9gC,EAAQsY,MAAM,iBAAkB0W,EAASzuB,KAAKZ,UAC9C8H,KAAKq4B,WAAW6B,KAAK,OAAQ,CAAEhiC,SAAUqvB,EAASzuB,KAAKZ,SAAUiiC,SAAU5S,EAASzuB,KAAKqhC,YAG1Fn6B,KAAKq4B,WAAW6B,KAAK,SAAU,CAAEhiC,SAAUqvB,EAASzuB,KAAKZ,SAAUiiC,SAAU5S,EAASzuB,KAAKqhC,WAC3Fn6B,KAAKq4B,WAAWngC,SAAWqvB,EAASzuB,KAAKZ,SACzC8H,KAAKq4B,WAAW8B,SAAW5S,EAASzuB,KAAKqhC,SAEN,IAA/B5S,EAASzuB,KAAKmd,MAAMzV,OAAc,CAIrC,GAHKR,KAAK04B,yBACT14B,KAAK04B,wBAAyB,GAE3B14B,KAAKq4B,WAAW+B,YACnB,OAUD,OARAp6B,KAAKw4B,MAAO,EACRjR,EAASzuB,KAAKqhC,SAAS13B,QAAO,SAACk3B,GAAD,OAAaA,EAAQU,YAAcC,KAAKC,MAAQ,IAvFhDC,GAuFA,IAAqFh6B,OAAS,EAC/HR,KAAKy6B,sBAELz6B,KAAK06B,uBAEN16B,KAAKq4B,WAAW6B,KAAK,cAAe,CAAES,OAAO,SAC7C36B,KAAKq4B,WAAW6B,KAAK,cAAe,CAAEU,gBAAgB,GAEtD,CAED56B,KAAKq4B,WAAWwC,cAActT,EAASzuB,MACvCkH,KAAKw4B,MAAO,EACZx4B,KAAKg5B,aAAc,EACfh5B,KAAK04B,wBACR14B,KAAK86B,mBAEN,6BAED,SAAatnB,GACZxT,KAAKw4B,MAAO,EACPhlB,EAAE+T,UAAuB,iBAAX/T,EAAE8Z,KAQY,MAAtB9Z,EAAE+T,SAASwT,QAAkBvnB,EAAE+T,SAASzuB,KAAKZ,SAAS8iC,iBAAmBh7B,KAAKq4B,WAAWngC,SAAS8iC,gBAE5GziC,EAAQkN,MAAM,6CACdzF,KAAKq4B,WAAW6B,KAAK,QAAS,CAC7Br7B,KAAMo8B,EAAWC,gBACjBpiC,KAAM,CACLqiC,cAAe3nB,EAAE+T,SAASzuB,KAAKqiC,iBAGjCn7B,KAAKo7B,cAC2B,MAAtB5nB,EAAE+T,SAASwT,QAGW,MAAtBvnB,EAAE+T,SAASwT,QAFrB/6B,KAAKq4B,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWI,iBAAkBviC,KAAM,CAAC,IAC1EkH,KAAKo7B,cAI2B,MAAtB5nB,EAAE+T,SAASwT,QACrB/6B,KAAK06B,uBACL16B,KAAKq4B,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWK,kBAAmBxiC,KAAM,CAAEyiC,OAAO,KACnFhjC,EAAQkN,MAAM,mDAAoD+N,KAElExT,KAAKo7B,aACLp7B,KAAKq4B,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWK,kBAAmBxiC,KAAM,CAAEyiC,OAAO,KACnFhjC,EAAQkN,MAAM,4CAA6C+N,IA9BvDxT,KAAKy4B,qBAlHkB,GAmH1BlgC,EAAQkN,MAAM,6FACdzF,KAAKq4B,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWK,kBAAmBxiC,KAAM,CAAEyiC,OAAO,MAGnFhjC,EAAQkN,MAAR,+EAAsFzF,KAAKy4B,mBA4B7F,0BAED,SAAU+C,GAAW,WAEpB,GADAx7B,KAAKq4B,WAAW6B,KAAK,cAAe,CAAES,OAAO,IACzC36B,KAAKw4B,KACRpgB,YAAW,WACV,EAAKigB,WAAWoD,WAChB,GAAE,SAHJ,CAMAz7B,KAAKw4B,MAAO,EACZ,IAAM9gB,EAAiC,mBAAd8jB,EAA4BA,IAAcA,EAC7DvlB,EAAQyB,EAASzB,MACvBsjB,EAAAA,QAAAA,MAAWlgB,EAAAA,EAAAA,GAAY,iBAAkBrZ,KAAKq4B,WAAWj3B,QAAQ23B,YAAa,CAC7EU,WAAYz5B,KAAKq4B,WAAWngC,SAASoW,GACrCorB,UAAW15B,KAAKq4B,WAAWsB,QAAQrrB,GACnCsrB,aAAc55B,KAAKq4B,WAAWsB,QAAQ90B,MACtCoR,MAAOA,EAAM1T,KAAI,SAAAioB,GAAC,OAAIA,EAAExS,OAASwS,EAAExS,SAAWwS,CAA5B,KAAkC,GACpD1S,QAASJ,EAASI,QAClBjT,MAAO7E,KAAKq4B,WAAWj3B,QAAQ23B,WAC/BgB,SAAU/5B,KAAKq4B,WAAWj3B,QAAQ24B,WAChCjC,MAAK,SAACvQ,GACR,EAAKmU,oBACL,EAAKlD,MAAO,EACZ,EAAKS,YACL,IAAEl0B,OAAM,YAAwB,IAArBwiB,EAAqB,EAArBA,SAAU+F,EAAW,EAAXA,KAGrB,GAFA/0B,EAAQkN,MAAM,qDACd,EAAK+yB,MAAO,EACPjR,GAAqB,iBAAT+F,EAAjB,CAIA,IACoB,EADZyN,EAAiBxT,EAAjBwT,OAAQjiC,EAASyuB,EAATzuB,KACD,MAAXiiC,IACEjiC,EAAKZ,UAETK,EAAQkN,MAAM,8CAGX,UAAA3M,EAAKZ,gBAAL,eAAe8iC,kBAAmB,EAAK3C,WAAWngC,SAAS8iC,iBAC9D,EAAK3C,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWU,aAAc7iC,KAAM,CAAC,IACtE6W,GAAGisB,aAAaC,cAAc,mCAIhC,EAAK5C,aACL,EAAK6C,cAfJ,MAFA,EAAKzD,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWK,kBAAmBxiC,KAAM,CAAC,GAkB5E,GAtCA,CAuCD,2BAED,WACCijC,cAAc/7B,KAAK24B,SACnB34B,KAAK24B,QAAU,EACfzgC,SAAS8jC,oBAAoB,mBAAoBh8B,KAAK84B,iBAAiBjC,KAAK72B,MAC5E,kCAED,WACsB,IAAjBA,KAAK24B,UAGT34B,KAAKs4B,cA9OgB,IA+OrByD,cAAc/7B,KAAK24B,SACnB34B,KAAK24B,QAAUC,YAAY54B,KAAK64B,YAAYhC,KAAK72B,MAAOA,KAAKs4B,eAE7D,qCAED,WACsB,IAAjBt4B,KAAK24B,UAGT34B,KAAKs4B,cAAgB7iB,KAAKC,IAAyB,EAArB1V,KAAKs4B,cAjPV,KAkPzByD,cAAc/7B,KAAK24B,SACnB34B,KAAK24B,QAAUC,YAAY54B,KAAK64B,YAAYhC,KAAK72B,MAAOA,KAAKs4B,eAC7D,oCAED,WACsB,IAAjBt4B,KAAK24B,UAGT34B,KAAKs4B,cAnP8B,IAoPnCyD,cAAc/7B,KAAK24B,SACnB34B,KAAK24B,QAAUC,YAAY54B,KAAK64B,YAAYhC,KAAK72B,MAAOA,KAAKs4B,eAC7D,iCAED,WACsB,IAAjBt4B,KAAK24B,UAGwB,WAA7BzgC,SAAS+jC,iBACZj8B,KAAKs4B,cArPyB,IAsP9ByD,cAAc/7B,KAAK24B,SACnB34B,KAAK24B,QAAUC,YAAY54B,KAAK64B,YAAYhC,KAAK72B,MAAOA,KAAKs4B,gBAE7Dt4B,KAAK86B,oBAEN,6BAED,WACC,IAAMoB,EAAWl8B,KAAKu4B,UAAY9iB,KAAKC,IAAqB,EAAjB1V,KAAKu4B,UA3P3B,KADA,IA6PjB2D,EAzPqB,KAyPYl8B,KAAKu4B,UAzPjB,MA0PxB5oB,GAAGisB,aAAaC,cAAc,iCAC9B77B,KAAKq4B,WAAW6B,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWU,aAAc7iC,KAAM,CAAC,KAEvEkH,KAAKu4B,UAAY2D,CACjB,kCAED,WACCl8B,KAAKu4B,UArQgB,GAsQrB,uFAvPIJ,GA2PN,uRChUA,ujNA4BA,IAAMgE,EAAiB,CACtBpD,WAAY,KACZqD,eAAe,EACfn6B,UAAW,SAAC/J,GAAD,OAAcA,CAAd,GAWN+iC,EAAa,CAKlBC,gBAAiB,EAIjBS,aAAc,EAEdU,WAAY,EAEZf,kBAAmB,EAEnBD,iBAAkB,GAGbiB,EAAAA,WAEL,WAAYl7B,GAmBX,mGAnBoB,SAEpBpB,KAAKu8B,MAAOC,EAAAA,EAAAA,KAEZx8B,KAAKy8B,QAAU,IAAItE,EAAen4B,MAElCA,KAAKoB,QAAUiB,OAAOsH,OAAO,CAAC,EAAGwyB,EAAgB/6B,GAEjDpB,KAAK9H,SAAW,KAChB8H,KAAK25B,QAAU,KACf35B,KAAKm6B,SAAW,GAEhBn6B,KAAKiW,MAAQ,GACbjW,KAAK08B,cAAgB,GAErB18B,KAAK28B,aAAerC,KAAKC,MAEzBv6B,KAAKw4B,KAAO,KAELx4B,IACP,4DAED,gGAAahI,EAAb,EAAaA,OAAQ+hC,EAArB,EAAqBA,SAAU6C,EAA/B,EAA+BA,eAA/B,KACwBA,EADxB,qCAEW58B,KAAK68B,cAAc,CAAE7kC,OAAAA,EAAQ+hC,SAAAA,IAFxC,6BACO+C,EADP,KAGC98B,KAAK9H,SAAW4kC,EAAe5kC,SAC/B8H,KAAK9H,SAAS6kC,SAAWD,EAAeC,SACxC/8B,KAAK25B,QAAUmD,EAAenD,QAC9B35B,KAAKw4B,KAAOsE,EAAetE,KAC3Bx4B,KAAKk6B,KAAK,SAAU,CACnBhiC,SAAU8H,KAAK9H,SACfyhC,QAAS35B,KAAK25B,UAThB,KAWiBmD,EAAe56B,QAXhC,uCAYWlC,KAAKg9B,iBAZhB,4BAWO96B,EAXP,KAaClC,KAAKk6B,KAAK,SAAU,CACnBhiC,SAAU8H,KAAK9H,SACfyhC,QAAS35B,KAAK25B,QACdsD,eAAgB,GAAK/6B,IAhBvB,qSAoBA,WACClC,KAAKy8B,QAAQS,SACb,8BAED,YAAoC,WAApBllC,EAAoB,EAApBA,OAAQ+hC,EAAY,EAAZA,SACvB,OAAOR,EAAAA,QAAAA,KAAUlgB,EAAAA,EAAAA,GAAY,mBAAoBrZ,KAAKoB,QAAQ23B,YAAa,CAC1E/gC,OAAAA,EACA+hC,SAAAA,EACAl1B,MAAO7E,KAAKoB,QAAQ23B,WACpBoE,UAAWn9B,KAAKoB,QAAQ+7B,UACxBf,cAAep8B,KAAKoB,QAAQg7B,gBAE3BtE,MAAK,SAAAvQ,GAAQ,OAAIA,EAASzuB,IAAb,IAAmB,SAAA2M,GAMhC,MALKA,EAAM8hB,UAA2B,iBAAf9hB,EAAM6nB,KAG5B,EAAK4M,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWoB,WAAYvjC,KAAM2M,EAAM8hB,SAASwT,SAFvE,EAAKb,KAAK,QAAS,CAAEr7B,KAAMo8B,EAAWK,kBAAmBxiC,KAAM,CAAC,IAI3D2M,CACN,GACF,+BAED,WACC,OAAO8zB,EAAAA,QAAAA,MACNlgB,EAAAA,EAAAA,GAAY,kBAAmBrZ,KAAKoB,QAAQ23B,YAAa,CACxDU,WAAYz5B,KAAK9H,SAASoW,GAC1BorB,UAAW15B,KAAK25B,QAAQrrB,GACxBsrB,aAAc55B,KAAK25B,QAAQ90B,MAC3BA,MAAO7E,KAAKoB,QAAQ23B,YAClB,CAGFqE,kBAAmB,CAAC,SAACtkC,GAAD,OAAUA,CAAV,KAEpBg/B,MAAK,SAAAvQ,GAAQ,OAAIA,EAASzuB,IAAb,GACf,8BAED,SAAcqkC,GAAW,WACxB,GAAKn9B,KAAKuZ,WAGV,OAAOggB,EAAAA,QAAAA,MACNlgB,EAAAA,EAAAA,GAAY,YAAarZ,KAAKoB,QAAQ23B,YAAa,CAClDU,WAAYz5B,KAAK9H,SAASoW,GAC1BorB,UAAW15B,KAAK25B,QAAQrrB,GACxBsrB,aAAc55B,KAAK25B,QAAQ90B,MAC3BA,MAAO7E,KAAKoB,QAAQ23B,WACpBoE,UAAAA,IAEArF,MAAK,YAAc,IAAXh/B,EAAW,EAAXA,KAET,OADA,EAAK6gC,QAAU7gC,EACRA,CACP,IAAEiM,OAAM,SAACU,GAET,OADAlN,EAAQkN,MAAM,+BAAgCA,GACvCoyB,QAAQvyB,OAAOG,EACtB,GACD,0BAED,SAAU+1B,GACT,IAAM9jB,EAAW8jB,IAAa7jB,EAAAA,EAAAA,IAAc3X,KAAK1B,OACjD,GAAKoZ,EAGL,OAAO1X,KAAKy8B,QAAQhB,UAAU/jB,EAC9B,2BAED,SAAWI,GACV,MAAO,CACN7B,MAAOjW,KAAKiW,MAAMhO,MAAM6P,GACxB/C,UAAW/U,KAAK08B,cAAcz0B,MAAM6P,GAErC,8BAED,YAEC,IAFkC,WAAnB7B,EAAmB,EAAnBA,MAAO/d,EAAY,EAAZA,SAChBmlC,EAAW,GADiB,WAEzB3+B,GACR,IAAM4+B,EAAcrnB,EAAMvX,GAAG5F,KAC7B,IAAKgvB,MAAMC,QAAQuV,GAGlB,OAFA/kC,EAAQkN,MAAM,mCAAoCwQ,EAAMvX,IAExD,WAED4+B,EAAYjoB,SAAQ,SAAA0C,GACnB,EAAK9B,MAAM3C,KAAKyE,GAChBslB,EAAS/pB,KAAK,CACbyE,KAAAA,EACAhC,SAAUE,EAAMvX,GAAGg7B,WAEpB,GAfgC,EAEzBh7B,EAAI,EAAGA,EAAIuX,EAAMzV,OAAQ9B,IAAK,EAA9BA,GAeTsB,KAAK28B,aAAerC,KAAKC,MACzBv6B,KAAKk6B,KAAK,OAAQ,CAAEjkB,MAAOonB,EAAUnlC,SAAAA,IACrCK,EAAQsY,MAAM,gBAAiB,aAAc7Q,KAAKo5B,cAClD,0BAED,YAC6BkB,KAAKC,MAAQv6B,KAAK28B,cAAgB,IAAO,GAhKlD,KAkKlBpkC,EAAQsY,MAAR,6CAAoD7Q,KAAKu9B,aAAzD,oCACAv9B,KAAKk6B,KAAK,QAEX,4BAED,WACC,OAAIl6B,KAAK1B,OACDia,EAAAA,EAAAA,IAAWvY,KAAK1B,OAEjB,CACP,6BAED,WACC,GAAI0B,KAAK1B,MACR,OAAO0B,KAAK1B,MAAM4B,GAEnB,4BAED,WACC,OAAOF,KAAKoB,QAAQa,UAAUjC,KAAKw9B,eACnC,qBAED,WACKx9B,KAAKy8B,QAAQgB,MAChBz9B,KAAKy8B,QAAQgB,MAEd,0BAED,WACKz9B,KAAKy8B,QAAQiB,WAChB19B,KAAKy8B,QAAQiB,WAEd,sBAED,WAAQ,WACHC,GAAS,EACb,OAAO,IAAI9F,SAAQ,SAACx/B,EAASiN,GAC5B,EAAKoB,GAAG,QAAQ,WACf,EAAKk3B,SAAS9F,MAAK,WAClB6F,GAAS,EACTtlC,GACA,IAAE0M,OAAM,kBAAM1M,GAAN,GACT,IACD+f,YAAW,WACLulB,GACJ,EAAKC,SAAS9F,MAAK,WAClBz/B,GACA,IAAE0M,OAAM,kBAAM1M,GAAN,GAEV,GAAE,KACH,EAAKolC,MACL,GACD,uBAED,WACC,OAAsB,OAAlBz9B,KAAK9H,UAAsC,OAAjB8H,KAAK25B,QAC3B9B,QAAQx/B,WAEhB2H,KAAKy8B,QAAQrB,aACN7B,EAAAA,QAAAA,MACNlgB,EAAAA,EAAAA,GAAY,kBAAmBrZ,KAAKoB,QAAQ23B,YAAa,CACxDU,WAAYz5B,KAAK9H,SAASoW,GAC1BorB,UAAW15B,KAAK25B,QAAQrrB,GACxBsrB,aAAc55B,KAAK25B,QAAQ90B,MAC3BA,MAAO7E,KAAKoB,QAAQ23B,aAEtB,4BAED,SAAY8E,GACX,IAAMC,EAAW,IAAIC,SACrBD,EAASE,OAAO,QAASH,GACzBC,EAASE,OAAO,aAAch+B,KAAK9H,SAASoW,IAC5CwvB,EAASE,OAAO,YAAah+B,KAAK25B,QAAQrrB,IAC1CwvB,EAASE,OAAO,eAAgBh+B,KAAK25B,QAAQ90B,OAC7Ci5B,EAASE,OAAO,aAAch+B,KAAKoB,QAAQ23B,YAAc,IACzD,IAAM7zB,GAAMmU,EAAAA,EAAAA,GAAY,gBACxB,OAAOkgB,EAAAA,QAAAA,KAAWr0B,EAAK44B,EAAU,CAChCG,QAAS,CACR,eAAgB,wBAGlB,gCAED,SAAgBC,GACf,IAAMC,EAAS,CACd1E,WAAYz5B,KAAK9H,SAASoW,GAC1BorB,UAAW15B,KAAK25B,QAAQrrB,GACxBsrB,aAAc55B,KAAK25B,QAAQ90B,MAC3Bk0B,WAAY/4B,KAAKoB,QAAQ23B,YAAc,GACvCvoB,KAAM0tB,GAEDh5B,GAAMmU,EAAAA,EAAAA,GAAY,cACxB,OAAOkgB,EAAAA,QAAAA,KAAWr0B,EAAKi5B,EACvB,gCAED,SAAgBC,GACf,IAAMD,EAAS,CACd1E,WAAYz5B,KAAK9H,SAASoW,GAC1BorB,UAAW15B,KAAK25B,QAAQrrB,GACxBsrB,aAAc55B,KAAK25B,QAAQ90B,MAC3Bu5B,UAAAA,GAEKl5B,GAAMmU,EAAAA,EAAAA,GAAY,kBACxB,OAAOkgB,EAAAA,QAAAA,KAAWr0B,EAAKi5B,EACvB,mBAED,SAAGx4B,EAAOqT,GAET,OADAhZ,KAAKu8B,KAAK71B,GAAGf,EAAOqT,GACbhZ,IACP,oBAED,SAAI2F,EAAOqT,GAEV,OADAhZ,KAAKu8B,KAAK8B,IAAI14B,EAAOqT,GACdhZ,IACP,qBAED,SAAK2F,EAAO7M,GACXkH,KAAKu8B,KAAKrC,KAAKv0B,EAAO7M,EACtB,yBAED,WACC,QAASkH,KAAKoB,QAAQ23B,UACtB,uFAxQIuD,ouDCpCegC,GAAAA,WAQpB,cAAqE,IAAvD3E,EAAuD,EAAvDA,QAAS4E,EAA8C,EAA9CA,KAAMxF,EAAwC,EAAxCA,WAAYyF,EAA4B,EAA5BA,iBAAkBxmC,EAAU,EAAVA,oGAAU,kQACpE,EAAAgI,KAAA,EAAgB25B,GAChB,EAAA35B,KAAA,EAAau+B,GACb,EAAAv+B,KAAA,EAAmB+4B,GACnB,EAAA/4B,KAAA,EAAyBw+B,GACzBxmC,IAAAA,EAAW2hC,aAAL,EAAKA,EAASF,YACpB,EAAAz5B,KAAA,yBAA4ChI,GAC5C,8CASD,SAAQM,GAAK,MACZ,GAAI,EAAA0H,KAAA,IAAiB1H,EAAIyG,WAAW,WAAY,CAC/C,IAAM0/B,EAAgBC,GAAiBpmC,EAAK,iBAC5C,MAAO,CAAC,EAAA0H,KAAD,WAACA,KAAuBy+B,GAC/B,CAED,GAAI,EAAAz+B,KAAA,IAAiB1H,EAAIyG,WAAJ,mCAA+BiB,KAA/B,uBAA+B,EAAey5B,WAA9C,MAA8D,OAC5EgF,EAAgBE,mBAAmBrmC,EAAIwK,QAAJ,mCAA4B9C,KAA5B,uBAA4B,EAAey5B,WAA3C,KAA0D,IAAI/qB,MAAM,KAAK,IAClH,MAAO,CAAC,EAAA1O,KAAD,WAACA,KAAuBy+B,GAC/B,CAED,GAgIF,SAAqBnmC,GACpB,OAAOA,EAAIyG,WAAW,YAClBzG,EAAIyG,WAAW,aACfzG,EAAIyG,WAAW,UACfzG,EAAI4R,MAAM,mCACV5R,EAAI4R,MAAM,wDACd,CAtIK00B,CAAYtmC,GACf,MAAO,CAACA,GAGT,GAyIF,SAAoBA,GACnB,MAA+C,SAAxComC,GAAiBpmC,EAAK,aAC7B,CA3IKumC,CAAWvmC,GACd,MAAO,CAAC,EAAA0H,KAAD,YAACA,KAAiB1H,IAI1B,GAAIA,EAAI4R,MAAM,yBAA0B,CACvC,IAAMu0B,EAAgB,EAAAz+B,KAAA,YAAAA,KAAmB1H,GACvCwK,QAAQ,uBAAwB,IAC5Bg8B,EAAgB,EAAA9+B,KAAH,WAAGA,KAAuBy+B,GAE7C,MAAO,CAAC,EAAAz+B,KAAD,YAACA,KAAa1H,GAAMwmC,EAC3B,CAED,MAAO,CAAC,EAAA9+B,KAAD,YAACA,KAAa1H,GACrB,uFArDmBgmC,eAuDFG,GACjB,OAAK,EAAAz+B,KAAD,GAMA,EAAAA,KAAA,KAAe,EAAAA,KAAD,IACVkP,EAAAA,EAAAA,aAAY,2HAAD,SACdlP,KADc,WACdA,OADc,IAEjBy+B,cAAAA,MAIKvvB,EAAAA,EAAAA,aAAY,mJAAD,SACdlP,KADc,WACdA,OADc,IAEjBy+B,cAAAA,EACA1F,WAAY,EAAA/4B,KAAF,MAfH,EAAAA,KAAP,YAAOA,KAAP,YACIA,KADJ,eACiCy+B,GAgBlC,eAGA,OAAI,EAAAz+B,KAAJ,GACQ,CACNy5B,WAAY,EAAAz5B,KAAA,GAAcy5B,WAC1BC,UAAW,EAAA15B,KAAA,GAAcsO,GACzBsrB,aAAc,EAAA55B,KAAA,GAAc6E,OAIvB,CAAC,CACR,aAEWvM,GACX,IAAM+L,EAAcq6B,GAAiBpmC,EAAK,UACpC+W,EAAO,EAAArP,KAAH,YAAGA,KAAe1H,GAEtBoX,EADY,QAAH,OAAWqvB,mBAAmB1vB,IACnB,wBAE1B,OAAI,EAAArP,KAAA,IAAcqE,GACV6K,EAAAA,EAAAA,aAAY,wBAAD,OAAyB7K,EAAzB,YAAwCqL,IAGvD,EAAA1P,KAAJ,IACQkP,EAAAA,EAAAA,aAAY,qBAAD,OAAsBQ,IAGrC,EAAA1P,KAAJ,IACQkP,EAAAA,EAAAA,aAAY,qCAAD,SAAsClP,KAAtC,eAA0D0P,KAG7EnX,EAAQkN,MAAM,mFACPnN,EACP,aAEOA,GACP,GAAI,EAAA0H,KAAJ,GAAgB,CACf,IAAMg/B,EAAM,EAAAh/B,KAAA,GAAWg/B,IACjBC,EAAUC,UAAU,EAAAl/B,KAAD,YAACA,KAAe1H,IACzC,OAAO6mC,EAAAA,EAAAA,mBAAkB,aAAD,OAAcH,GAAd,OAAoBC,GAC5C,CAED,IAAM5vB,EAAO,EAAArP,KAAA,YAAAA,KAAe1H,GAAKoW,MAAM,KACjC0wB,EAAW/vB,EAAKV,MAChB0wB,EAAUhwB,EAAKP,KAAK,KAE1B,OAAOI,EAAAA,EAAAA,aAAY,sDAAuD,CACzErK,MAAO,EAAA7E,KAAF,GACLo/B,SAAAA,EACAC,QAAAA,GAED,aAOa/mC,GACb,OAAIA,EAAIyG,WAAW,WACX,CAAC,EACPiB,KADM,GAEN0+B,GAAiBpmC,EAAK,kBACrBwW,KAAK,KAGDwwB,UAAUhnC,EAAIoW,MAAM,KAAK,GAChC,aAESpW,GACT,IAAMinC,EAAI,CAAC,EACVv/B,KADS,KAETA,KAFS,YAETA,KAAmB1H,IAClBwW,KAAK,KAEP,OAAO0wB,IAAcD,EACrB,CAmCF,SAASb,GAAiBpmC,EAAKmnC,GAC9B,IAAM/vB,EAAQpX,EAAIoW,MAAM,KAAK,GAE7B,QAAqB,IAAVgB,EAAX,CAIA,IAAMgwB,EAAOhwB,EAAMhB,MAAM,QAEzB,QAAoB,IAATgxB,EAIX,IAAK,IAAIhhC,EAAI,EAAGA,EAAIghC,EAAKl/B,OAAQ9B,IAAK,CACrC,IAAMkqB,EAAO8W,EAAKhhC,GAAGgQ,MAAM,KAC3B,GAAIiwB,mBAAmB/V,EAAK,MAAQ6W,EACnC,OAAOd,mBAAmB/V,EAAK,GAEhC,CAbA,CAcD,CChND,IAAM+W,GAAqB,CAC1BC,GAAI,SACJC,IAAK,SACLC,KAAM,SACNC,IAAK,OACLC,MAAO,OACPC,IAAK,SACLC,IAAK,OACLC,GAAI,OACJC,IAAK,MACLC,KAAM,MACNC,IAAK,MACLC,MAAO,MACPC,GAAI,OACJtc,QAAS,OACTuc,QAAS,OACTC,QAAS,OACTC,KAAM,OACNC,KAAM,QACNC,GAAI,UACJC,IAAK,UACLC,KAAM,MACNC,KAAM,MACNC,KAAM,MACNC,KAAM,MACNC,GAAI,OACJC,IAAK,OACLC,GAAI,YACJC,GAAI,eACJC,WAAY,SACZC,SAAU,cACVhN,EAAG,YACHiN,GAAI,YACJC,IAAK,UACL,WAAY,QACZC,OAAQ,eACRC,KAAM,cACNC,KAAM,cACNzV,EAAG,MACHvzB,EAAG,MACH,MAAO,MACP,MAAO,MACPipC,GAAI,MACJC,MAAO,SACPC,IAAK,MACLC,IAAK,MACLC,GAAI,SACJC,IAAK,aACL,WAAY,aACZ,kBAAmB,aACnBC,gBAAiB,OACjBC,gBAAiB,OACjB,iBAAkB,OAClB,mBAAoB,OACpB,kBAAmB,OACnB,mBAAoB,OACpB,oBAAqB,OACrBC,GAAI,aACJC,GAAI,WACJC,IAAK,WACLhoB,GAAI,WACJioB,OAAQ,WACRC,IAAK,WACLC,UAAW,QACXlyB,EAAG,aACHkc,GAAI,aACJiW,GAAI,QACJC,GAAI,OACJC,IAAK,SACLC,IAAK,YACLC,GAAI,QACJC,IAAK,mhCC9EN,SAASC,GAAT,GAAyC,IAAfv2B,EAAe,EAAfA,MAAOpO,EAAQ,EAARA,KAChC,OAAQupB,MAAMC,QAAQpb,IAAUA,EAAMlB,SAASlN,EAAKM,OAAUN,EAAKM,OAAS8N,CAC5E,CASD,IAAMw2B,GAAeniC,GAAAA,UAAAA,OAAiB,CACrC5B,KAAM,eAENsI,WAHqC,WAIpC,MAAO,CACNnJ,KAAM,YACN6kC,SAAU,CAAC,aAEZ,EAEDt7B,sBAVqC,WAUb,WACjBouB,EAAS,IAAI3lB,GAAAA,GAAUvQ,KAAKZ,MAC5BikC,EAAgBhhC,OAAOC,QAAQtC,KAAKC,OAAO0L,OAAOlK,OACtDc,KAAI,iCACJE,QAAO,SAAAlE,GAAI,OAAI,EAAK6C,QAAQgiC,SAAS33B,SAASlN,EAAKa,KAAxC,IAEb,MAAO,CACN,IAAI2I,GAAAA,GAAO,CACV/O,IAAKk9B,EACLoN,kBAAmB,SAAC9sB,EAAG+sB,EAAIjlC,GAC1B,IAAQ4B,EAAoB5B,EAApB4B,IAAKH,EAAezB,EAAfyB,GAAI4L,EAAWrN,EAAXqN,OACX63B,EAAwBtN,EAAOlf,SAAS1Y,GACxCmlC,EAAcvjC,EAAIgC,QAAQhJ,KAC1B2F,EAAO8M,EAAOlK,MAAM,EAAKL,QAAQ7C,MAEvC,GAAKilC,EAIL,OAAOzjC,EAAGgG,OAAO09B,EAAa5kC,EAAKM,SACnC,EACDb,MAAO,CACN2G,KAAM,SAACuR,EAAGlY,GAET,OAAQ4kC,GAAe,CAAE3kC,KADRD,EAAMyB,GAAGG,IAAIwjC,UACW/2B,MAAO02B,GAChD,EACDn8B,MAAO,SAACnH,EAAIoD,GACX,OAAKpD,EAAGY,YAKAuiC,GAAe,CAAE3kC,KADRwB,EAAGG,IAAIwjC,UACiB/2B,MAAO02B,IAJxClgC,CAKR,KAIJ,IAGF,kJCzBA,MCnDgL,GDmDhL,CACA/D,KAAAA,YACAkE,WAAAA,CACAqgC,aAAAA,KACAC,QAAAA,KACApgC,gBAAAA,EAAAA,GACA6I,gBAAAA,EAAAA,GACA3O,cAAAA,GAAAA,GACA/D,OAAAA,GAAAA,IAEAZ,MAAAA,CACAkH,OAAAA,CACApB,KAAAA,OACAyN,UAAAA,GAEAjF,WAAAA,CACAxI,KAAAA,SACAyN,UAAAA,IAGAnI,SAAAA,CACAS,EAAAA,WAAA,2KE7DIxD,GAAU,CAAC,EAEfA,GAAQyE,kBAAoB,KAC5BzE,GAAQ0E,cAAgB,KAElB1E,GAAQ2E,OAAS,UAAc,KAAM,QAE3C3E,GAAQ4E,OAAS,KACjB5E,GAAQ6E,mBAAqB,KAEhB,KAAI,KAAS7E,IAKJ,MAAW,aAAiB,4BCPlD,UAXgB,QACd,ICTW,WAAa,IAAI8E,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACpN,YAAY,gBAAgBsN,MAAM,CAAC,eAAe,eAAe,CAACF,EAAG,kBAAkB,CAACpN,YAAY,UAAUsN,MAAM,CAAC,GAAK,WAAWL,EAAIU,GAAG,KAAMV,EAAIjG,OAAiB,WAAEoG,EAAG,UAAU,CAACpN,YAAY,iBAAiBsN,MAAM,CAAC,aAAa,GAAG,0BAA0B,YAAYs9B,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,iBAAiB,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,SAAS,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAImB,YAAYw8B,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,UAAU,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,WAAWV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,sBAAsB,aAAa,GAAGsB,EAAIoB,KAAKpB,EAAIU,GAAG,KAAKP,EAAG,MAAM,CAACpN,YAAY,cAAc,EAAE,GACl1B,IDWpB,EACA,KACA,WACA,MAI8B,QE4ChC,MC/DoL,GD+DpL,CACAmG,KAAAA,gBACAkE,WAAAA,CACAqgC,aAAAA,KACAC,QAAAA,KACApgC,gBAAAA,EAAAA,GACA6I,gBAAAA,EAAAA,GACA7O,kBAAAA,GAAAA,GACAF,iBAAAA,GAAAA,GACA3D,OAAAA,GAAAA,IAEAZ,MAAAA,CACAkH,OAAAA,CACApB,KAAAA,OACAyN,UAAAA,GAEA03B,OAAAA,CACAnlC,KAAAA,SACAyN,UAAAA,IAGAnI,SAAAA,CACAS,EAAAA,WAAA,kBAEAI,QAAAA,CACAi/B,UADA,WAEA,oBACAlwB,QACAmwB,iBAAA,eACAD,YACA/vB,KACA,EACAiwB,aARA,WASA,oBACApwB,QACAmwB,iBAAA,eACAC,eACAjwB,KACA,EACA4L,YAfA,WAgBA,oBACA/L,QACAmwB,iBAAA,eACApkB,cACA5L,KACA,oBEjGI,GAAU,CAAC,EAEf,GAAQrO,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACE,MAAM,CAAC,eAAe,aAAa,GAAK,OAAO,CAACF,EAAG,MAAM,CAACpN,YAAY,aAAa,CAACoN,EAAG,kBAAkB,CAACpN,YAAY,YAAYiN,EAAIU,GAAG,KAAMV,EAAIjG,OAAiB,WAAEoG,EAAG,UAAU,CAACE,MAAM,CAAC,0BAA0B,QAAQ,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,iBAAiB,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAIi+B,cAAcN,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,qBAAqB,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,mBAAmB,cAAcsB,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,gBAAgB,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAI4Z,aAAa+jB,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,oBAAoB,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,kBAAkB,cAAcsB,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,aAAa,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAI+9B,WAAWJ,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,UAAU,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoB,eAAe,GAAGsB,EAAIoB,MAAM,IAAI,GACjwC,IDWpB,EACA,KACA,WACA,MAI8B,QE4ChC,MC/DsL,GD+DtL,CACAlI,KAAAA,kBACAkE,WAAAA,CACAqgC,aAAAA,KACAC,QAAAA,KACApgC,gBAAAA,EAAAA,GACA6I,gBAAAA,EAAAA,GACA1S,OAAAA,GAAAA,GACAyD,qBAAAA,GAAAA,GACAF,oBAAAA,GAAAA,IAEAnE,MAAAA,CACAkH,OAAAA,CACApB,KAAAA,OACAyN,UAAAA,GAEA03B,OAAAA,CACAnlC,KAAAA,SACAyN,UAAAA,IAGAnI,SAAAA,CACAS,EAAAA,WAAA,kBAEAI,QAAAA,CACAo/B,aADA,WAEA,oBACArwB,QACAmwB,iBAAA,eACAE,eACAlwB,KACA,EACAmwB,gBARA,WASA,oBACAtwB,QACAmwB,iBAAA,eACAG,kBACAnwB,KACA,EACAowB,eAfA,WAgBA,oBACAvwB,QACAmwB,iBAAA,eACAI,iBACApwB,KACA,oBEjGI,GAAU,CAAC,EAEf,GAAQrO,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACE,MAAM,CAAC,eAAe,eAAe,GAAK,OAAO,CAACF,EAAG,MAAM,CAACA,EAAG,kBAAkB,CAACpN,YAAY,YAAYiN,EAAIU,GAAG,KAAMV,EAAIjG,OAAiB,WAAEoG,EAAG,UAAU,CAACE,MAAM,CAAC,0BAA0B,WAAW,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,oBAAoB,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAIm+B,iBAAiBR,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,wBAAwB,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,sBAAsB,cAAcsB,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,mBAAmB,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAIo+B,gBAAgBT,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,uBAAuB,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,qBAAqB,cAAcsB,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,yBAAyB,gBAAgB,oBAAoB,IAAIG,GAAG,CAAC,MAAQR,EAAIk+B,cAAcP,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,UAAU,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,aAAaV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,uBAAuB,eAAe,GAAGsB,EAAIoB,MAAM,IAAI,GAC7wC,IDWpB,EACA,KACA,WACA,MAI8B,QEDhC,SAASi9B,GAAmBhmC,EAAMsC,GACjC,OAAOtC,EAAKimC,OAAO,CAClB78B,YADkB,WAEjB,OAAOC,EAAAA,EAAAA,IAAoB/G,EAC3B,GAEF,CAED,SAAe7D,GAAAA,EAAAA,OAAa,CAE3B2K,YAF2B,WAG1B,OAAOC,EAAAA,EAAAA,IAAoB68B,GAC3B,EAEDvyB,cAN2B,WAO1B,MAAO,CACN2K,GAAAA,EACA0nB,GAAmBznB,GAAAA,EAAW4nB,IAC9BH,GAAmBxnB,GAAAA,EAAa4nB,IAChC3nB,GAAAA,EACAC,GAAAA,EAED,sDCMF,MC9C0K,GD8C1K,CACA7d,KAAAA,YACArG,MAAAA,CACA4J,MAAAA,CACA9D,KAAAA,MACAyN,UAAAA,GAEAuH,QAAAA,CACAhV,KAAAA,SACAyN,UAAAA,IAGAxT,KAZA,WAaA,OACA8rC,cAAAA,EAEA,EACAzgC,SAAAA,CACA0gC,WADA,WAEA,0BACA,EACAC,WAJA,WAKA,8CACA,EACAC,qBAPA,WAUA,gEACA,+EACA,GAEAC,MAAAA,CACAriC,MADA,WAEA,qBACA,oBACA,GAEAqC,QAAAA,CACAJ,EAAAA,GAAAA,UACAqgC,UAFA,YAEA,cACA,yBACA,8EACA,4BACA,wDAEA,GAGA,qBACA,4DACA,4BACA,kFAEA,GAGA,kBACA,qCACA,EAIA,EAEAC,WA3BA,SA2BAzmC,GACA,oBAEA,IACA,iBACA0mC,EAAAA,GAAAA,WAAAA,GAEA,mBE1GI,GAAU,CAAC,EAEf,GAAQt/B,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACpN,YAAY,cAAc,CAAEiN,EAAc,WAAEA,EAAIk/B,GAAIl/B,EAAS,OAAE,SAASkO,EAAY3V,GAAO,OAAO4H,EAAG,MAAM,CAACrN,IAAIyF,EAAMxF,YAAY,mBAAmBuG,MAAM,CAAE,cAAef,IAAUyH,EAAI0+B,eAAgBl+B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIg/B,WAAWzmC,EAAM,IAAI,CAAC4H,EAAG,OAAO,CAACpN,YAAY,2BAA2B,CAACiN,EAAIU,GAAG,aAAaV,EAAIqB,GAAG6M,EAAYH,QAAQ,cAAc/N,EAAIU,GAAG,YAAYV,EAAIqB,GAAG6M,EAAYixB,YAAY,WAAW,IAAGh/B,EAAG,MAAM,CAACpN,YAAY,6BAA6B,CAACiN,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,mBAAmB,WAAW,EAAE,GACroB,IDWpB,EACA,KACA,WACA,MAI8B,wiCElBhC,o5MAuCA,IAAM0gC,GAAmB,iCAAG,WAAOpc,GAAP,6EACrBqK,GAAOwD,EAAAA,GAAAA,iBACbx+B,GAAQ4T,KAAKonB,IACRwD,EAAAA,GAAAA,iBAAgBtrB,SAASyd,GAHH,0CAKJ,SAAoD,KAAgCA,GALhF,OAKnBqc,EALmB,QAMzB9O,EAAAA,GAAAA,kBAAiBvN,EAAUqc,EAAOpuC,SANT,kDASzBoB,GAAQsY,MAAR,MATyB,0OAAH,sDAcnB20B,GAAe,SAAC,GAAmE,IAAjEtjC,EAAiE,EAAjEA,QAASoV,EAAwD,EAAxDA,SAAUxX,EAA8C,EAA9CA,SAAUmS,EAAoC,EAApCA,WAChDwzB,EAAwB,GAoE5B,OAlECA,EAHuF,EAAxBC,kBAGvC,CACvB3kC,GAAAA,GACA4kC,GAAAA,GAAAA,UAAmB,CAClB1zB,WAAY,CAAC2zB,MAEdC,GAAAA,GAAAA,UAAgB,CACfnyB,WAAY,CACX/Q,MAAO,YAAe,IAAZ+M,EAAY,EAAZA,MACT,OAAOo2B,EAAAA,GAAAA,aAAYp2B,EACnB,EACD9W,OAAQ,WACP,IAAIo1B,EACA+X,EAEJ,MAAO,CACNC,QAAS,SAAAjtC,GACRi1B,EAAY,IAAIiY,EAAAA,GAAYC,GAAW,CACtC1nC,iBACA2nC,UAAWptC,IAGZgtC,GAAQK,EAAAA,GAAAA,IAAM,OAAQ,CACrBC,uBAAwBttC,EAAMutC,WAC9BC,SAAU,kBAAMruC,SAASsuC,IAAf,EACVtkC,QAAS8rB,EAAUlhB,QACnB25B,cAAc,EACdC,aAAa,EACbC,QAAS,SACTC,UAAW,gBAEZ,EAED9mC,SAlBM,SAkBG/G,GACRi1B,EAAU6Y,YAAY9tC,GACtBgtC,EAAM,GAAGe,SAAS,CACjBT,uBAAwBttC,EAAMutC,YAE/B,EAEDrB,UAzBM,SAyBIlsC,GAAO,MAChB,MAAwB,WAApBA,EAAM4M,MAAM3M,KACf+sC,EAAM,GAAGgB,QACF,GAER,UAAO/Y,EAAUnnB,WAAjB,aAAO,EAAeo+B,UAAUlsC,EAChC,EAEDiuC,OAjCM,WAkCLjB,EAAM,GAAGkB,UACTjZ,EAAUiZ,SACV,EAEF,KAGHC,GAAAA,EAAAA,UAAsB,CACrBC,eAAgB,WAChBC,aAAaxiC,EAAAA,GAAAA,WAAE,OAAQ,+BACvByiC,sBAAsB,IAEvBlE,IAGuB,CAACmE,GAAAA,IAE1Br1B,EAAaA,GAAc,GACpB,IAAIs1B,GAAAA,OAAO,CACjBrlC,QAAAA,EACAoV,SAAAA,EACAxX,SAAAA,EACAmS,WAAY,CACXu1B,GAAAA,GADW,UAER/B,IACF52B,OAAOoD,IAEV,EAEKw1B,GAAqB,SAASnY,GACnCtvB,KAAKsvB,QAAUA,CACf,8BClHD,UACCx2B,KADc,WAEb,MAAO,CACN4uC,SAAU1nC,KAAK2nC,YAEhB,EACD7iC,YANc,WAObmL,OAAOkJ,iBAAiB,SAAUnZ,KAAK4nC,UACvC,EACDC,cATc,WAUb53B,OAAO+rB,oBAAoB,SAAUh8B,KAAK4nC,UAC1C,EACD5iC,QAAS,CACR4iC,UADQ,WAGP5nC,KAAK0nC,SAAW1nC,KAAK2nC,WACrB,EACDA,UALQ,WAOP,OAAOzvC,SAAS4vC,gBAAgBC,YAAc,GAC9C,+EC0HH,UACA3oC,KAAAA,YACAkE,WAAAA,CACA0kC,aAAAA,IAEAvkC,WAAAA,CACAwkC,QAAAA,KAEAtkC,OAAAA,CACA+jC,IAEA5uC,KAXA,WAYA,OACAovC,UAAAA,CACAC,MAAAA,EACAC,QAAAA,EACAC,eAAAA,EACAC,UAAAA,EACAC,UAAAA,EACAC,cAAAA,EACAC,aAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,WAAAA,GAGA,EACAzkC,SAAAA,CACA0kC,YADA,WACA,WACA,yCACA,GAEA7jC,QAAAA,CACA8jC,gBADA,SACA33B,GACA,oCACA,ICvM0K,sBCWtK,GAAU,CAAC,EAEf,GAAQtL,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAItB,EAAE,OAAQ,oBAAoB8B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOT,EAAIgyB,MAAM,QAAQ,IAAI,CAAC7xB,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,uBAAuBsB,EAAIU,GAAG,KAAKP,EAAG,IAAI,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oDAAoDsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAyIrhC,EAAG,IAAI,CAACH,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,8CAA8C,UAA1NyB,EAAG,IAAI,CAACH,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,wEAAwE,UAA+GsB,EAAIU,GAAG,KAAKP,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,cAAcsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAqGxhC,EAAIoB,KAA/FjB,EAAG,KAAK,CAACH,EAAIU,GAAG,eAAeV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,uBAAuB,oBAA6BsB,EAAIU,GAAG,KAAKP,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,cAAc,UAAUsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmIxhC,EAAIoB,KAA7HjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,cAAcsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,IAAIV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoB,SAASsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmIxhC,EAAIoB,KAA7HjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,qBAAqBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,kBAAkB,UAAUsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAA0NxhC,EAAIoB,KAApNjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,iBAAiBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoB,UAAUsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmIxhC,EAAIoB,KAA7HjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACpN,YAAY,gBAAgB,CAACiN,EAAIU,GAAG,eAAeV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,cAAc,gBAAgBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACpN,YAAY,gBAAgB,CAACoN,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,yBAAyBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAuPxhC,EAAIoB,KAAjPjB,EAAG,KAAK,CAACpN,YAAY,gBAAgB,CAACoN,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACpN,YAAY,qBAAqB,CAACiN,EAAIU,GAAG,6BAA6BV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACpN,YAAY,qBAAqB,CAACiN,EAAIU,GAAG,6BAA6BV,EAAIU,GAAG,KAAOV,EAAIwhC,SAAyFxhC,EAAIoB,KAAnFjB,EAAG,KAAK,CAACpN,YAAY,qBAAqB,CAACiN,EAAIU,GAAG,+BAAwCV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACpN,YAAY,4BAA4B,CAACiN,EAAIU,GAAG,eAAeV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,cAAc,gBAAgBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACpN,YAAY,4BAA4B,CAACoN,EAAG,OAAO,CAACH,EAAIU,GAAG,UAAUV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,yBAAyBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmQxhC,EAAIoB,KAA7PjB,EAAG,KAAK,CAACpN,YAAY,4BAA4B,CAACoN,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,sBAAsBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,iBAAiBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAA0NxhC,EAAIoB,KAApNjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,MAAMV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAA0NxhC,EAAIoB,KAApNjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,aAAasB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,iBAAiBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,QAAQV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,oBAAoBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmBxhC,EAAIoB,KAAbjB,EAAG,QAAiBH,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,kBAAkBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,KAAKV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,qBAAqBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmIxhC,EAAIoB,KAA7HjB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,YAAYsB,EAAIU,GAAG,6BAA6BP,EAAG,MAAM,CAACH,EAAIU,GAAG,WAAoBV,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,kBAAkBsB,EAAIU,GAAG,KAAKP,EAAG,KAAK,CAACA,EAAG,OAAO,CAACH,EAAIU,GAAG,OAAOV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,mBAAmBsB,EAAIU,GAAG,KAAOV,EAAIwhC,SAAmBxhC,EAAIoB,KAAbjB,EAAG,aAAsB,GAC7qK,IDWpB,EACA,KACA,WACA,MAI8B,k0CEGhC,IAAM0iC,GAAe,CACpBC,KAAMpkC,EAAE,OAAQ,QAChBD,IAAKC,EAAE,OAAQ,OACfgK,MAAOhK,EAAE,OAAQ,UAGZqkC,GAAkB,SAACC,EAAaC,GACrC,SAAO,CACN,YAAaA,KADd,sBAEiBD,EAAYlwC,QAAQ,0GAErC,EAUKowC,GAAU,SAAC1B,EAAD,GAAyC,IAA5B2B,EAA4B,EAA5BA,QAASC,EAAmB,EAAnBA,aACrC,OAAS5B,GAAY2B,EAAd,WATW,SAACA,GAA4B,IAAnBE,EAAmB,uDAAP,GACxC,OAAOlnC,OAAOC,QAAQymC,IACpBtmC,QAAO,0BAAE+mC,EAAF,iBAAYD,EAAU99B,SAAS+9B,EAA/B,IACPjnC,KAAI,8CACJsM,OAAOw6B,EAAQpmC,eACf6L,KAAK,IACP,CAIO26B,CAAWJ,EAASC,GADpB,KAEJ,EACH,EAEKI,GAAa,SAACR,EAAajyC,GAChC,OAAOiyC,EAAYS,SAAWT,EAAYS,OAAO1yC,EAAQ4oB,MACzD,EAEK+pB,GAAc,SAAC,EAAc3yC,GAAY,IAAxBkyC,EAAwB,EAAxBA,SACtB,IAAKA,EACJ,OAAO,EAGR,IAAMjxB,EAAO4P,MAAMC,QAAQohB,GACxBA,EACA,CAACA,GAEJ,OAAOlyC,EAAQkyC,SAAR,MAAAlyC,EAAO,GAAaihB,GAC3B,EAEK2xB,GAAiB,SAACX,EAAajyC,GACpC,IAAM6yC,EAASF,GAAYV,EAAajyC,GAExC,MAAO,CACN8yC,UAAWb,EAAYc,MACvBC,SAAUP,GAAWR,EAAajyC,GAClCuI,MAAOypC,GAAgBC,EAAaY,GACpCA,OAAAA,EAED,cC/DG,GAAU,CAAC,EAEf,GAAQjkC,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCSlD,IAAMikC,GAAkB,CACvBzmC,WAAY,CACXwkC,QAAAA,KAEDtkC,OAAQ,CAAC5M,EAAAA,GAAgBa,EAAAA,IACzBmB,MAAO,CACNmwC,YAAa,CACZrqC,KAAMwD,OACNiK,UAAU,IAGZxT,KAXuB,WAYtB,MAAO,CACNwF,MAAOurC,GAAe7pC,KAAKkpC,YAAalpC,KAAK/I,SAE9C,EACDkN,SAAU,CACToI,KADS,WAER,OAAOvM,KAAKkpC,YAAY38B,IACxB,EACD49B,QAJS,WAKR,MAAO,CAACnqC,KAAKkpC,YAAYc,MAAOZ,GAAQppC,KAAKnI,UAAWmI,KAAKkpC,cAAcp6B,KAAK,IAChF,GAEFs7B,QAxBuB,WAyBtBpqC,KAAKqqC,cAAgBpyB,KAASjY,KAAKsqC,YAAYzT,KAAK72B,MAAO,IAC3DA,KAAK/I,QAAQyP,GAAG,SAAU1G,KAAKqqC,eAC/BrqC,KAAK/I,QAAQyP,GAAG,kBAAmB1G,KAAKqqC,cACxC,EACDxC,cA7BuB,WA8BtB7nC,KAAK/I,QAAQonC,IAAI,SAAUr+B,KAAKqqC,eAChCrqC,KAAK/I,QAAQonC,IAAI,kBAAmBr+B,KAAKqqC,cACzC,EACDrlC,QAAS,CACRslC,YADQ,WAEPtqC,KAAK1B,MAAQurC,GAAe7pC,KAAKkpC,YAAalpC,KAAK/I,QACnD,iDC5BH,MC3CwL,GD2CxL,CACAmI,KAAAA,oBACAkE,WAAAA,CACAinC,YAAAA,KACAC,OAAAA,MAEAC,QAAAA,GACAzlC,QAAAA,CACA0lC,gBADA,WAGA,EACAC,SAJA,YAIA,sBACA,iBACAhB,OAAA,sBAAAr7B,GAAAA,EAAA2F,OAAAA,IACAF,QACAG,KACA,IEzCA,UAXgB,QACd,ICRW,WAAa,IAAIhO,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACpN,YAAY,mCAAmCsN,MAAM,CAAC,yBAAyBL,EAAIgjC,YAAYlwC,KAAK0N,GAAG,CAAC,WAAaR,EAAIykC,WAAW,CAACtkC,EAAG,SAAS,CAAC5C,WAAW,CAAC,CAACrE,KAAK,UAAUoH,QAAQ,YAAYrD,MAAO+C,EAAIgjC,YAAiB,MAAEziC,WAAW,sBAAsBxN,YAAY,uBAAuBsN,MAAM,CAAC,KAAO,OAAO,MAAQL,EAAIgjC,YAAYc,MAAM,aAAa9jC,EAAIgjC,YAAYc,MAAM,iBAAgB,GAAMnG,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAGH,EAAIqG,KAAK,CAACjN,IAAI,cAAc,EAAEykC,OAAM,QAAW,EAAE,GACtlB,IDUpB,EACA,KACA,KACA,MAI8B,QElBhC,ICAa6G,GAAkBr0C,OAAO,yBACzBs0C,GAAsBt0C,OAAO,8BAC7Bu0C,GAA4Bv0C,OAAO,8BAEnCw0C,GAAyB,CACrC/zC,OAAQ,CACPg0C,gBAAiB,CAChB9zC,KAAM0zC,GACNzzC,QAAS,CACR8zC,mBAAmB,MAMVC,GAA4B,CACxCl0C,OAAQ,CACPm0C,iBAAkB,CAAEj0C,KAAM2zC,GAAqB1zC,QAAS,WAAQ,KAIrDi0C,GAAiC,CAC7Cp0C,OAAQ,CACPq0C,sBAAuB,CAAEn0C,KAAM4zC,GAA2B3zC,QAAS,WAAQ,KC8C7E,MCrEwL,GDqExL,CACAiI,KAAAA,oBACAkE,WAAAA,CACAsgC,QAAAA,KACAD,aAAAA,KACAxqC,QAAAA,GAAAA,GACAgB,OAAAA,GAAAA,GACA6D,OAAAA,GAAAA,IAEAysC,QAAAA,GACA9mC,OAAAA,CACArM,EAAAA,GACA4zC,GACAH,GACAK,IAEAjnC,SAAAA,CACAoI,KADA,WAEA,8BACApT,GAAAA,GACA,qBACA,EACA8xC,kBANA,WAOA,6CACA,IE3EA,UAXgB,QACd,IJRW,WAAa,IAAI/kC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACpN,YAAY,0CAA0CsN,MAAM,CAAC,yBAAyBL,EAAIgjC,YAAYlwC,IAAI,MAAQkN,EAAIgjC,YAAYc,MAAM,aAAa9jC,EAAIgjC,YAAYc,MAAM,KAAO,OAAO,gBAAgB,IAAInG,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAGH,EAAIqG,KAAK,CAACjN,IAAI,YAAYiH,MAAM,CAAC,MAAQL,EAAIgjC,YAAYc,MAAM,aAAa9jC,EAAIgjC,YAAYc,MAAM,gBAAgB,MAAM,EAAEjG,OAAM,MAAS,CAAC79B,EAAIU,GAAG,KAAKP,EAAG,eAAe,CAACE,MAAM,CAAC,oBAAoB,GAAG,SAAWL,EAAI+kC,kBAAkB,yBAA2B/kC,EAAIgjC,YAAe,IAAI,WAAYxiC,GAAG,CAAC,MAAQR,EAAImlC,uBAAuBxH,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,UAAU,EAAE09B,OAAM,MAAS,CAAC79B,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,yBAAyB,UAAUsB,EAAIU,GAAG,KAAOV,EAAI3O,UAA6W2O,EAAIoB,KAAtWjB,EAAG,eAAe,CAACE,MAAM,CAAC,oBAAoB,GAAG,SAAWL,EAAI+kC,kBAAkB,yBAA2B/kC,EAAIgjC,YAAe,IAAI,WAAYxiC,GAAG,CAAC,MAAQR,EAAIilC,kBAAkBtH,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAG,UAAU,EAAE09B,OAAM,IAAO,MAAK,EAAM,aAAa,CAAC79B,EAAIU,GAAG,SAASV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,sBAAsB,WAAoB,EAAE,GACntC,IIUpB,EACA,KACA,KACA,MAI8B,QCkChC,IACC,CACC5L,IAAK,OACLgxC,MAAOplC,EAAE,OAAQ,QACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAMzO,GAAAA,GACN6rC,OAAQ,SAAC91B,GAAD,OAAaA,EAAQy3B,MAArB,EACR/gC,SAAU,GAEX,CACCvR,IAAK,OACLgxC,MAAOplC,EAAE,OAAQ,QACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAMzP,GAAAA,GACN6sC,OAAQ,SAAC91B,GAAD,OAAaA,EAAQ03B,MAArB,EACRhhC,SAAU,IAEX,CACCvR,IAAK,OACLgxC,MAAOplC,EAAE,OAAQ,QACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAMlS,GAAAA,GACN8uC,SAAU,SACVQ,OAAQ,SAAC91B,GACR,OAAOA,EAAQ23B,YACf,EACDjhC,SAAU,GAEX,CACCvR,IAAK,SACLgxC,MAAOplC,EAAE,OAAQ,UACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAMpR,GAAAA,GACNguC,SAAU,KACVQ,OAAQ,SAAC91B,GACR,OAAOA,EAAQ43B,cACf,EACDlhC,SAAU,GAEX,CACCvR,IAAK,YACLgxC,MAAOplC,EAAE,OAAQ,aACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAMxQ,GAAAA,GACNotC,SAAU,YACVQ,OAAQ,SAAC91B,GACR,OAAOA,EAAQ63B,iBACf,EACDnhC,SAAU,IAEX,CACCvR,IAAK,gBACLgxC,MAAOplC,EAAE,OAAQ,iBACjBykC,QAAS,IACTC,aAAc,CAAC,QACf/8B,KAAM1Q,GAAAA,GACNstC,SAAU,SACVQ,OAAQ,SAAC91B,GACR,OAAOA,EAAQ83B,cACf,EACDphC,SAAU,IAEX,CACCvR,IAAK,WACLgxC,MAAOplC,EAAE,OAAQ,YACjBykC,QAAS,MACTC,aAAc,CAAC,OAAQ,SACvBsC,SAAS,EACTr/B,KAAMhS,GAAAA,GACN4uC,SAAU,UACV1sB,SAAU,CACT,CACCzjB,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjB2H,KAAMhS,GAAAA,GACN4uC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BqgC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,GAEF,CACCtQ,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjB2H,KAAM9R,GAAAA,GACN0uC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BqgC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,GAEF,CACCtQ,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjB2H,KAAM5R,GAAAA,GACNwuC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BqgC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,GAEF,CACCtQ,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjBukC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BiD,KAAM1R,GAAAA,GACN8uC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,GAEF,CACCtQ,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjBukC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BiD,KAAMxR,GAAAA,GACN4uC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,GAEF,CACCtQ,IAAK,cACLgxC,MAAOplC,EAAE,OAAQ,aACjBukC,SAAU,CAAC,UAAW,CAAE7/B,MAAO,IAC/BiD,KAAMtR,GAAAA,GACN0uC,OAAQ,SAAC91B,GACR,OAAOA,EAAQrK,cAAc,CAAEF,MAAO,GACtC,IAGHiB,SAAU,GAEX,CACCvR,IAAK,iBACLgxC,MAAOplC,EAAE,OAAQ,kBACjBykC,QAAS,IACTC,aAAc,CAAC,OAAQ,SACvBH,SAAU,aACV58B,KAAMlR,GAAAA,GACNsuC,OAAQ,SAAC91B,GACR,OAAOA,EAAQg4B,kBACf,EACDthC,SAAU,GAEX,CACCvR,IAAK,eACLgxC,MAAOplC,EAAE,OAAQ,gBACjBykC,QAAS,IACTC,aAAc,CAAC,OAAQ,SACvBH,SAAU,cACV58B,KAAM9Q,GAAAA,GACNkuC,OAAQ,SAAC91B,GACR,OAAOA,EAAQi4B,mBACf,EACDvhC,SAAU,GAEX,CACCvR,IAAK,YACLgxC,MAAOplC,EAAE,OAAQ,cACjBukC,SAAU,WACV58B,KAAMhR,GAAAA,GACNouC,OAAQ,SAAC91B,GAAD,OAAaA,EAAQk4B,gBAArB,EACRxhC,SAAU,IAEX,CACCvR,IAAK,aACLgxC,MAAOplC,EAAE,OAAQ,cACjBykC,QAAS,IACTC,aAAc,CAAC,QACfH,SAAU,aACV58B,KAAM5Q,GAAAA,GACNguC,OAAQ,SAAC91B,GACR,OAAOA,EAAQm4B,kBACf,EACDzhC,SAAU,IAEX,CACCvR,IAAK,WACLgxC,MAAOplC,EAAE,OAAQ,YACjBgnC,SAAS,EACTr/B,KAAMhQ,GAAAA,GACN4sC,SAAU,UACV1sB,SAAU,CACT,CACCzjB,IAAK,eACLgxC,MAAOplC,EAAE,OAAQ,QACjBukC,SAAU,CAAC,UAAW,CAAEtqC,KAAM,SAC9B0N,KAAMhQ,GAAAA,GACNotC,OAAQ,SAAC91B,GACR,OAAOA,EAAQnG,cAAc,CAAE7O,KAAM,QACrC,GAEF,CACC7F,IAAK,kBACLgxC,MAAOplC,EAAE,OAAQ,WACjBukC,SAAU,CAAC,UAAW,CAAEtqC,KAAM,YAC9B0N,KAAM5P,GAAAA,GACNgtC,OAAQ,SAAC91B,GACR,OAAOA,EAAQnG,cAAc,CAAE7O,KAAM,WACrC,GAEF,CACC7F,IAAK,eACLgxC,MAAOplC,EAAE,OAAQ,WACjBukC,SAAU,CAAC,UAAW,CAAEtqC,KAAM,SAC9B0N,KAAMrO,GAAAA,GACNyrC,OAAQ,SAAC91B,GACR,OAAOA,EAAQnG,cAAc,CAAE7O,KAAM,QACrC,GAEF,CACC7F,IAAK,gBACLgxC,MAAOplC,EAAE,OAAQ,UACjBukC,SAAU,CAAC,UAAW,CAAEtqC,KAAM,UAC9B0N,KAAM9S,GAAAA,GACNkwC,OAAQ,SAAC91B,GACR,OAAOA,EAAQnG,cAAc,CAAE7O,KAAM,SACrC,IAGH0L,SAAU,GAEX,CACCvR,IAAK,aACLgxC,MAAOplC,EAAE,OAAQ,cACjBukC,SAAU,YACV58B,KAAMhT,GAAAA,GACNowC,OAAQ,SAAC91B,GACR,OAAOA,EAAQo4B,iBACf,EACD1hC,SAAU,IAEX,CACCvR,IAAK,QACLgxC,MAAOplC,EAAE,OAAQ,SACjBukC,SAAU,QACV58B,KAAMvP,GAAAA,GACN2sC,OAAQ,SAAC91B,GACR,OAAOA,EAAQqJ,aACf,EACD3S,SAAU,IAEX,CACCvR,IAAK,eACLgxC,MAAOplC,EAAE,OAAQ,gBACjB2H,KAAMtS,GAAAA,GACN+zB,UAAWke,GACXvC,OAAQ,SAAC91B,GAA8B,IAArBO,EAAqB,uDAAP,CAAC,EAChC,OAAOP,EAAQM,MAAMC,EACrB,EACD7J,SAAU,GAEX,CACCvR,IAAK,eACLgxC,MAAOplC,EAAE,OAAQ,gBACjB2H,KAAMlQ,GAAAA,GACN2xB,UAAWme,GACX5hC,SAAU,GAEX,CACCvR,IAAK,kBACLgxC,MAAOplC,EAAE,OAAQ,mBACjB2H,KAAMtQ,GAAAA,GACNmwC,MAAO,SAACvrC,GAAD,OAAUA,EAAKq3B,MAAM,YAArB,EACP3tB,SAAU,wkCClSZ,UACAnL,KAAAA,eACAqrC,QAAAA,GACA1xC,MAAAA,CACAszC,OAAAA,CACAxtC,KAAAA,QACA1H,SAAAA,IAGAgN,SAAAA,CACA6pB,UADA,WAIA,mBACA2V,KACA6G,IACA,EACA8B,UARA,WASA,YACA,YAcA,OAXAhuC,EAAAA,MAAAA,GAAAA,GAAAA,CAAAA,EACAA,EAAAA,OADA,IAGA,kCAIA,cACAA,EAAAA,iBAAAA,GAGA,CACA,GAEA0G,QAAAA,CACAunC,UADA,WACA,IAKA,EALA,OACA,mBAEA,QACArD,EAAAA,MAAAA,MAIA,uEAGA,2BACA,2BACA,GACA,GAGAtwC,OAtDA,SAsDAC,GACA,IACA2zC,EAQA,KARAA,WACAtD,EAOA,KAPAA,YACAoD,EAMA,KANAA,UACAte,EAKA,KALAA,UACAzhB,EAIA,KAJAA,KACA8/B,EAGA,KAHAA,OACAE,EAEA,KAFAA,UACApC,EACA,KADAA,QAGA,qBAGA,IACA,GACA,EACA/qC,KAAAA,UACA+D,MAAAA,IAGA,QAAAspC,KAAAA,UAGA,mBAOA,OALA,GAEAhwB,EAAAA,KAAAA,EAAAA,OAGA,KACAhZ,WAAAA,EACAxK,YAAAA,mCACAuG,MAAAA,EACA+G,MAAAA,GAAAA,CACAwJ,MAAAA,EACAlR,KAAAA,WACA6tC,KAAAA,WACA,gCACAnmC,GAEAG,GAAAA,GAAAA,GAAAA,CAAAA,EACA8lC,GADA,IAEAJ,MAAAA,KAEA3vB,EACA,GCjImL,MCkBnL,UAXgB,QACd,GARE,UAAQ,WAWV,EACA,KACA,KACA,MAI8B,QC8BhC,MChDiL,GDgDjL,CACArd,KAAAA,aACAkE,WAAAA,CAAAsgC,QAAAA,KAAA+I,aAAAA,IACAlC,QAAAA,GACAtmC,SAAAA,CACAyoC,aADA,WAEA,IACAtuC,EAGA,KAHAA,MACArH,EAEA,KAFAA,QACAwlB,EACA,KADAysB,YAAAzsB,SAGA,gBAIA,oBACA,cACA,IALA,IAMA,EACAlQ,KAhBA,WAiBA,yBACA,uBAGA,qBACA,EACAsgC,QAvBA,WAwBA,gEACA,EACAC,UA1BA,WA0BA,MACA,4DACA,GAEA9nC,QAAAA,CACAunC,UADA,WAGA,EACAQ,UAJA,SAIAC,GACA,iBACAA,EAAAA,MAAAA,OAEA,mCACA,wBAEA,IE3EA,UAXgB,QACd,ICRW,WAAa,IAAI9mC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAUH,EAAI+mC,GAAG,CAACxpC,WAAW,CAAC,CAACrE,KAAK,UAAUoH,QAAQ,YAAYrD,MAAO+C,EAAW,QAAEO,WAAW,YAAYxN,YAAY,iCAAiCsN,MAAM,CAAC,KAAO,OAAO,aAAaL,EAAIgjC,YAAYc,MAAM,MAAQ9jC,EAAIgjC,YAAYc,MAAM,yBAAyB9jC,EAAIgjC,YAAYlwC,IAAI,0BAA0BkN,EAAI4mC,WAAWjJ,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,OAAOue,GAAG,WAAW,MAAO,CAAClR,EAAGH,EAAIqG,KAAK,CAACvT,IAAIkN,EAAI2mC,QAAQvtC,IAAI,cAAc,EAAEykC,OAAM,MAAS,UAAU79B,EAAI5H,OAAM,GAAO,CAAC4H,EAAIU,GAAG,KAAKV,EAAIk/B,GAAIl/B,EAAIgjC,YAAoB,UAAE,SAAStqC,GAAO,OAAOyH,EAAG,eAAe,CAACrN,IAAK,SAAY4F,EAAS,IAAG2H,MAAM,CAAC,UAAU,GAAG,eAAe3H,GAAO8H,GAAG,CAAC,QAAUR,EAAI6mC,YAAY,KAAI,EAAE,GACxuB,IDUpB,EACA,KACA,KACA,MAI8B,0wBEgDhC,UACA3tC,KAAAA,UACAkE,WAAAA,CAAA4pC,YC3CA,CACC9tC,KAAM,cACNzG,YAAY,EACZC,OAHc,SAGPC,EAAGs0C,GACT,IAAQjE,EAAgBiE,EAAIp0C,MAApBmwC,YACApwC,EAA2Bq0C,EAA3Br0C,KAAMC,EAAqBo0C,EAArBp0C,MAAOq0C,EAAcD,EAAdC,UAGfjP,EAAS,CACdrlC,KAAAA,EACAE,IAJeF,EAARE,IAKPD,MAAAA,EACA2N,GAAI0mC,GAGL,OAAIlE,EAAYlb,UACRn1B,EAAEqwC,EAAYlb,UAAWmQ,GAG1B+K,EAAYzsB,SAChB5jB,EAAEw0C,GAAYlP,GACdtlC,EAAE8zC,GAAcxO,EACnB,GDqBFmP,UAAAA,IACA3pC,OAAAA,CACA5M,EAAAA,GACAW,EAAAA,GACAF,EAAAA,IAEAuB,MAAAA,CACAw0C,SAAAA,CACA1uC,KAAAA,QACA1H,SAAAA,IAGA2B,KAdA,WAeA,OACA00C,aAAAA,EACAC,eAAAA,EACAC,SAAAA,EACAC,UAAAA,KAAAA,QAAAA,UACAC,YAAAA,EAEA,EACAzpC,SAAAA,CACA0pC,WADA,WAKA,oBACA,iBAEA,yBAMA,GALA,qBACAC,EAAAA,YACA,KAGA,EAIA,OAHA,iBAGA,CACA,EACAC,eApBA,WAoBA,WACA,yCACA,8CAEA,kCACA,IAEA,sBAIA,aAEAxa,EAAAA,KAAAA,EAAAA,IAGAA,EAAAA,KAAAA,IARA,CAYA,EACAya,cAzCA,WAyCA,WACA,mDAEA,iCACA,GACA,EACAC,aA/CA,WAgDA,OACAj1C,IAAAA,SACAgxC,MAAAA,KAAAA,EAAAA,OAAAA,qBACAz9B,KAAAA,GAAAA,GACAkQ,SAAAA,KAAAA,cAEA,GAEA2tB,QA/EA,WA+EA,WACAn6B,OAAAA,iBAAAA,SAAAA,KAAAA,iBACAi+B,EAAAA,GAAAA,WAAAA,uBAAAA,KAAAA,wBACAA,EAAAA,GAAAA,WAAAA,uBAAAA,KAAAA,uBAEA,+BACA,+BACA,EACA,oCACA,+BACA,QAEA,6CACA,2CAEA,4CACA,sBACA,qBAEA,oBACA,kBAGA,qBACAnS,cAAAA,EAAAA,gBAGA,GACA,wBACA,YACA,GAEA,QAEA,2BACA,2BACA,GACA,EACA8L,cArHA,WAsHA53B,OAAAA,oBAAAA,SAAAA,KAAAA,iBAEAk+B,EAAAA,GAAAA,aAAAA,uBAAAA,KAAAA,wBACAA,EAAAA,GAAAA,aAAAA,uBAAAA,KAAAA,uBAEA,8CACA,2CACA,EACAnpC,QAAAA,CACAopC,eADA,WAEA,qDACA,EACAC,sBAJA,WAMAj2B,WAAAA,KAAAA,cAAAA,IACA,EACAk2B,cARA,WAQA,WACA,2BACA,mBACA,kBACA,GACA,EACAC,SAdA,WAeA,mBACA,EAEAC,SAlBA,WAmBA,mBACA,IEpN8K,qBCW1K,GAAU,CAAC,EAEf,GAAQ3oC,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCPlD,UAXgB,QACd,ICTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACpN,YAAY,eAAeuG,MAAM,CACzI,sBAAuB0G,EAAIwnC,QAC3B,qBAAsBxnC,EAAIynC,UAC1B,yBAA0BznC,EAAIqnC,SAC9B,6BAA8BrnC,EAAIzO,kBACjC8O,MAAM,CAAC,eAAe,UAAU,KAAO,UAAU,aAAaL,EAAItB,EAAE,OAAQ,wBAAwB,CAAEsB,EAAe,YAAEG,EAAG,YAAY,CAACK,GAAG,CAAC,MAAQR,EAAIsoC,YAAYtoC,EAAIoB,KAAKpB,EAAIU,GAAG,KAAMV,EAAiB,cAAEG,EAAG,MAAM,CAACQ,IAAI,UAAU5N,YAAY,wBAAwBsN,MAAM,CAAC,KAAO,QAAQ,aAAaL,EAAItB,EAAE,OAAQ,oBAAoBsB,EAAIk/B,GAAIl/B,EAAkB,gBAAE,SAASgjC,GAAa,OAAO7iC,EAAG,cAAcH,EAAI+mC,GAAG,CAACj0C,IAAK,gBAAmBkwC,EAAe,IAAGxiC,GAAG,CAAC,YAAYR,EAAIqoC,WAAW,cAAc,CAAErF,YAAaA,IAAc,GAAO,IAAG,GAAGhjC,EAAIoB,KAAKpB,EAAIU,GAAG,KAAKP,EAAG,MAAM,CAACpN,YAAY,sBAAsB,CAACiN,EAAIuoC,GAAG,YAAY,IAAI,EAAE,GACxmB,IDMpB,EACA,KACA,WACA,MAI8B,QEnBhC,ovPC2DA,UACArvC,KAAAA,qBACAuE,OAAAA,CAAAA,EAAAA,GAAAA,EAAAA,GAAAA,EAAAA,IACA+qC,QAHA,WAGA,aACA,KAcA,OAZArsC,OAAAA,iBAAAA,GAAAA,GAAAA,EAAAA,CAAAA,EACAwoC,GAAA,CACApmC,IAAAA,WAAA,4BAFA,KAIAqmC,GAAA,CACArmC,IAAAA,WAAA,6BALA,KAOAmmC,GAAA,CACAnmC,IAAAA,WAAA,kBARA,IAYA,CACA,EACA3L,KApBA,WAqBA,OACA61C,aAAAA,EAEArwC,MAAAA,CACA2sC,mBAAAA,GAGA,EACA9mC,SAAAA,CACAi6B,UADA,WAEA,+DACA,GAEAp5B,QAAAA,CACA4pC,eADA,SACAC,GACA,kBACA,EACAC,QAJA,SAIAt7B,GACA,qCACA,EACAu7B,aAPA,SAOAv7B,GACA,wDACA,mBACA,EACAw7B,wBAXA,SAWArpC,GACA,sCAGAA,EAAAA,OAAAA,MAAAA,EACA,EACAspC,iBAjBA,WAkBA,iCACA,EACAC,iBApBA,SAoBA/mC,GAAA,sIAAAW,EAAAA,EAAAA,OAAAA,QAAAA,IAAAA,EAAAA,GAAAA,EAAAA,GAAAA,KACAX,EADA,wDAKA,qBAEAgnC,EAAA,uBACA,6BACA,IATA,kBAWAtX,QAAAA,IAAAA,GACA9yB,OAAA,oBACAxM,GAAAA,MAAAA,IACA62C,EAAAA,GAAAA,KAAAA,SAAAA,QAAAA,EAAAA,EAAAA,gBAAAA,IAAAA,GAAAA,QAAAA,EAAAA,EAAAA,YAAAA,IAAAA,OAAAA,EAAAA,EAAAA,QAAAA,EAAAA,QACA,IACAtX,MAAA,WACA,oBACA,KAlBA,4CAmBA,EACAuX,gBAxCA,SAwCArhC,GAAA,oIAAAlF,EAAAA,EAAAA,OAAAA,QAAAA,IAAAA,EAAAA,GAAAA,EAAAA,GAAAA,KACAvE,GAAAA,GAAAA,SAAAA,EAAAA,MADA,uBAEA6qC,EAAAA,GAAAA,IAAAA,EAAAA,OAAAA,oCAFA,iCAMA,6BANA,kBAQA,8BACAtX,MAAA,sBACA,+JACA,IACA/yB,OAAA,oBACAxM,GAAAA,MAAAA,IACA62C,EAAAA,GAAAA,IAAAA,SAAAA,QAAAA,EAAAA,EAAAA,gBAAAA,IAAAA,GAAAA,QAAAA,EAAAA,EAAAA,YAAAA,IAAAA,OAAAA,EAAAA,EAAAA,MACA,IACAtX,MAAA,WACA,4BACA,KAlBA,4CAmBA,EACAwX,gBA5DA,WA4DA,YACA,uBAKA3/B,GAAAA,QAAAA,WAAAA,EAAAA,OAAAA,oBAAAA,SAAAA,GACA,oBACA,iBAAA8S,EAAA,eACA,EACA8sB,gBAtEA,SAsEAnR,GAAA,WAGA,OAFA,gCAEA,iEACA,kKACA,IAAAr5B,OAAA,oBACAxM,GAAAA,MAAAA,IACA62C,EAAAA,GAAAA,KAAAA,SAAAA,QAAAA,EAAAA,EAAAA,gBAAAA,IAAAA,GAAAA,QAAAA,EAAAA,EAAAA,YAAAA,IAAAA,OAAAA,EAAAA,EAAAA,QAAAA,EAAAA,QACA,IAAAtX,MAAA,WACA,4BACA,GACA,EACA0X,sBAlFA,SAkFApwC,EAAApH,GAAA,8HAGA,QACA+mC,mBAAAA,GAAAA,QAAAA,YAAAA,SAAAA,GACA,oDACA,IAGA,4BAEA,IACA,8BACA,qBAEAjrB,EAAAA,SAAAA,CAAAxb,IAAAA,EAAAqM,IAAAA,IAAA,aACA,IC/LmL,MCkBnL,UAXgB,QACd,IHRW,WAAa,IAAIuB,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACpN,YAAY,8BAA8BuG,MAAM,CAAEmvC,YAAazoC,EAAIyoC,aAAcpoC,MAAM,CAAC,eAAe,wBAAwBG,GAAG,CAAC,cAAcR,EAAI4oC,QAAQ,SAAW,SAASnoC,GAAyD,OAAjDA,EAAO8oC,iBAAiB9oC,EAAOiK,kBAAyB1K,EAAI0oC,gBAAe,EAAK,EAAE,UAAY,SAASjoC,GAAyD,OAAjDA,EAAO8oC,iBAAiB9oC,EAAOiK,kBAAyB1K,EAAI0oC,gBAAe,EAAM,EAAE,aAAa1oC,EAAI6oC,eAAe,CAAC1oC,EAAG,QAAQ,CAACQ,IAAI,iBAAiB5N,YAAY,kBAAkBsN,MAAM,CAAC,eAAe,mBAAmB,KAAO,OAAO,OAAS,UAAU,cAAc,OAAO,SAAW,IAAIG,GAAG,CAAC,OAASR,EAAI8oC,2BAA2B9oC,EAAIU,GAAG,KAAKV,EAAIuoC,GAAG,YAAY,EAAE,GAC1uB,IGUpB,EACA,KACA,KACA,MAI8B,g2OCwHhC,UACArvC,KAAAA,gBACAkE,WAAAA,CACAosC,cAAAA,EAAAA,GACAC,mBAAAA,GACAC,QAAAA,GACAC,WAAAA,WAAA,iDACAC,OAAAA,WAAA,0EACAC,uBAAAA,WAAA,yEACAC,gBAAAA,WAAA,gFACAC,YAAAA,WAAA,iFACAC,KAAAA,GAAAA,GAEAzsC,WAAAA,CACAwkC,QAAAA,KAEAtkC,OAAAA,CACA+jC,GACA9jC,GAAAA,GAEA8qC,QApBA,WAoBA,aACA,KAiCA,OA3BArsC,OAAAA,iBAAAA,GAAAA,GAAAA,EAAAA,CAAAA,EACA/L,EAAAA,GAAA,CACAmO,IAAAA,WAAA,oBAFA,KAIA3N,EAAAA,GAAA,CACA2N,IAAAA,WAAA,yBALA,KAOAjO,EAAAA,GAAA,CACAiO,IAAAA,WAAA,qBARA,KAUAhO,EAAAA,GAAA,CACAgO,IAAAA,WAAA,2BAXA,KAaA9N,EAAAA,GAAA,CACA8N,IAAAA,WAAA,qBAdA,KAgBA7N,EAAAA,GAAA,CACA6N,IAAAA,WAAA,yBAjBA,KAmBA5N,EAAAA,GAAA,CACA4N,IAAAA,WAAA,4BApBA,KAsBA/N,EAAAA,GAAA,CACA+N,IAAAA,WAAA,qBAvBA,IA2BA,CACA,EACA1L,MAAAA,CACAo3C,cAAAA,CACAtxC,KAAAA,QACAI,SAAAA,EACA9H,SAAAA,GAEAylC,eAAAA,CACA/9B,KAAAA,OACA1H,QAAAA,MAEAc,aAAAA,CACA4G,KAAAA,OACA1H,QAAAA,IAEAa,OAAAA,CACA6G,KAAAA,OACA1H,QAAAA,MAEA2yC,OAAAA,CACAjrC,KAAAA,QACA1H,SAAAA,GAEAi5C,UAAAA,CACAvxC,KAAAA,QACA1H,SAAAA,GAEA4hC,WAAAA,CACAl6B,KAAAA,OACA1H,QAAAA,MAEAk5C,KAAAA,CACAxxC,KAAAA,OACA1H,QAAAA,MAEAo2C,SAAAA,CACA1uC,KAAAA,QACA1H,SAAAA,GAEAm5C,gBAAAA,CACAzxC,KAAAA,QACA1H,SAAAA,IAGA2B,KAnGA,WAoGA,OACAykC,a9DtMqB,G8DwMrBrlC,SAAAA,KACAiiC,SAAAA,GACAxZ,eAAAA,KAEA4vB,iBAAAA,CAAAA,EAEAC,MAAAA,EACA7V,OAAAA,EACA8V,eAAAA,EACAC,gBAAAA,GACAC,UAAAA,KACAC,oBAAAA,EACA7T,UAAAA,EACAX,eAAAA,EACAyU,eAAAA,EACAlC,aAAAA,EAEAmC,kBAAAA,KACAC,eAAAA,KAEA,EACA5sC,SAAAA,CACA6sC,gBADA,WAEA,yBACA,EACAvwB,sBAJA,WAKA,8CACA,EACAwwB,gBAPA,WAQA,+BACA,+EAEA,+DACA,EACAC,qBAbA,WAcA,2DACA,EACAC,oBAhBA,WAiBA,sDACA,EACAC,uBAnBA,WAoBA,yCAAAC,UAAAA,KAAAA,kBAOA,OANA,yBACA/hB,EAAAA,EAAAA,OAAAA,yFAEA,mDACAA,GAAAA,MAAAA,EAAAA,OAAAA,oBAEA,CAAAptB,QAAAA,EAAA0kC,UAAAA,SACA,EACA0K,kBA7BA,WA8BA,8DACA,EACAC,mBAhCA,WAiCA,iBACA,EACAC,kBAnCA,WAoCA,iFACA,EACAC,sBAtCA,WAuCA,wDACA,EACAl4B,SAzCA,WA0CA,iHACA,EACAm4B,aA5CA,WA6CA,oFACA,EACAC,cA/CA,WAgDA,kFACA,EACAnT,iBAlDA,WAmDA,yBACA,mDACA,GACA,EACAoT,UAvDA,WAwDA,uCACA,EACAC,YA1DA,WA2DA,2BACA,oBACA,iBACA,aACA,EACAzT,UAhEA,WAiEA,yDACA,EACA0T,SAnEA,WAoEA,OACA95C,OAAAA,KAAAA,OACAC,aAAAA,KAAAA,aACAC,SAAAA,GAAAA,CAAAA,EACA,eAGA,EACA65C,gBA5EA,WA6EA,iDACA,aAEA,uDACA,GAEA/M,MAAAA,CACA4M,UADA,WACA,WACA,2BACA,uCACA,GACA,GAEAxH,QAtNA,WAuNA,yCACA,mBAEA,sCACA,EACA4H,QA5NA,WA4NA,WACA,kBACA,uBACA,yBACA,+CACA,yBACA,OACA,EACAnK,cApOA,WAqOA,YACA,EACA7iC,QAAAA,CACAitC,sBADA,WAEA,gBACA,2EAEA,EAEAC,YAPA,WAOA,WACA,+BAIA,mEAEA,yBACA/U,UAAAA,EACApE,WAAAA,KAAAA,WACAgB,SAAAA,KAAAA,aACAqC,cAAAA,KAAAA,cACAn6B,UAAAA,SAAAA,GACA,uBACA,uCrC5P2B,SAACkwC,GAC3B,IAAMjyC,EAAMiyC,EAAOC,UAEnB,GAA2B,IAAvBlyC,EAAIgC,QAAQ1B,aAAkD,IAA3BN,EAAIgC,QAAQ,GAAGA,SAA6D,IAAlChC,EAAIgC,QAAQ,GAAGA,QAAQ1B,OAAc,CACrH,GAA4B,cAAxBN,EAAIgC,QAAQ,GAAGrD,WAA0D,IAA3BqB,EAAIgC,QAAQ,GAAGA,QAChE,MAAO,GAER,MAAM,IAAIulC,GAAmB,6CAC7B,CACD,IAAMmB,EAAY1oC,EAAIgC,QAAQ,GAAGA,QAAQ,GACzC,GAAuB,SAAnB0mC,EAAU/pC,KACb,MAAM,IAAI4oC,GAAmB,8CAE9B,OAAOmB,EAAU9pC,IACjB,CqCgPD,WAEA,IAGA,+BAEA,wBACA9G,OAAAA,KAAAA,OACA+hC,SAAAA,KAAAA,aACA6C,eAAAA,KAAAA,iBACA73B,OAAA,YACA,uBACA,IACA,qBA1BA,MAFA,oDA6BA,EAEAstC,mBAxCA,WAyCA,sCACA,mCACA,EACAC,qBA5CA,WA6CA,uCACA,oCACA,EAEAC,wBAjDA,WAkDA,kBACA7rC,GAAA,wBACAA,GAAA,wBACAA,GAAA,wBACAA,GAAA,oBACAA,GAAA,sBACAA,GAAA,kCACAA,GAAA,oBACAA,GAAA,mBACA,EAEA8rC,0BA7DA,WA8DA,kBACAnU,IAAA,wBACAA,IAAA,wBACAA,IAAA,wBACAA,IAAA,oBACAA,IAAA,sBACAA,IAAA,kCACAA,IAAA,oBACAA,IAAA,mBACA,EAEAoU,sBAzEA,WA0EA,8BACA,yBAAA76B,UAAAA,KAAAA,UACA,EAEA86B,wBA9EA,WA+EA,sBACA,gBACA,EAEAC,UAnFA,WAmFA,WACA,sBACA,2BAEA,iBACA,8BACA,yBACA,oBACA,oBACA,eACA,EAEA,kBACA,kBACAjzC,QACAo4B,KAAAoF,GACAn4B,OAAA,YAEA,IAEAm4B,IAGA,YACA,EAEA0V,eA7GA,SA6GAzY,GAAA,WACA,0EAIA,2EACA7Z,EAAAA,QAAAA,IAAAA,KAAAA,iBAAAA,GAEA,wDACA,qDAEA,qCACA7d,QAAA,oDAEA,eACA6d,EAAAA,QAAAA,OAAAA,KAAAA,iBAAAA,EAAAA,IAEA,4BACA,uBACA,8BACA,yBAEA,oDACAA,EAAAA,QAAAA,IAAAA,KAAAA,iBAAAA,GAAAA,cAAAA,EAAAA,aAGAA,EAAAA,QAAAA,IAAAA,KAAAA,iBAAAA,EAAAA,GAEA,+BACAA,EAAAA,QAAAA,IAAAA,KAAAA,iBAAAA,GAAAA,aAAAA,EAEA,CACA,EAEAuyB,SA/IA,YA+IA,6BACA,sBACA,gBACA,yBACA,iCACAC,aAAAA,QAAAA,OAAAA,KAAAA,eAAAA,WACA,8DACA,4BACAnZ,QAAAA,KAAAA,eACA4E,MAAAA,EAAAA,EAAAA,kBACAxF,WAAAA,KAAAA,WACAyF,iBAAAA,KAAAA,kBAEA,EAEA54B,SA9JA,YA8JA,8BACA,2BACA,wBACAwK,GAAAA,EAAAA,OAAAA,GACA,wBACA,6CAEAk1B,GAAAA,GACAxN,MAAA,WACA,cACA51B,QAAAA,EACAoV,SAAAA,SAAAA,GAAA,eACA,6BACA,0BACA,EACAxX,SAAAA,SAAAA,GAAA,eACA,4BACA,EACAmS,WAAAA,CACA8gC,GAAAA,GAAAA,UAAAA,CAGAj7B,QAAAA,EAAAA,SAAAA,eACA/B,SAAAA,EAAAA,eAAAA,GAEAkC,SAhaA,IAiaAJ,WAAAA,SAAAA,GAAA,WACA,gBACA,0BAEA,EACAS,OAAAA,SAAAA,GAAA,qCACA,8BACA,qBAGA,eACAha,EACA2X,EAAAA,KAAAA,SAAAA,GAAA,kCACAA,EAAAA,KAAAA,SAAAA,GAAA,sBAEAlW,EAAAA,QAAAA,WAAAA,EAAAA,KAAAA,SAAAA,GAAA,sBACAc,EAAAA,SAAAA,EAPA,CAQA,IAEAmyC,GAAAA,GAAAA,UAAAA,CACA,mBAEA,OADA,uBACA,CACA,IAEAC,GAAAA,GAAAA,UAAAA,CACAl9B,SAAAA,EAAAA,eAAAA,GACAI,MAAAA,SAAAA,GACA,0DACA,6BACA,EACA/W,KAAAA,SAAAA,GACA,0DACA,yFACA,KAGAsmC,kBAAAA,EAAAA,eAGA,uBAEA,oCACA,GAEA,EAEAwN,SAvOA,YAuOA,8BACA,uFAIA,kCACA,gBAEA,oBACA,yBAAAt7B,UAAAA,KAAAA,YAPA,8BAQA,EAEAu7B,OAnPA,YAmPA,kCACA,2BACA,IACA,6FACAC,QAAAA,OAAAA,CACAt7B,QAAAA,EAAAA,eACA7B,MAAAA,EACAhW,OAAAA,KAAAA,UAEA,2CACA,6BACA,2BACA,4BACA,GAIA,CAHA,SACA1H,GAAAA,MAAAA,iDAAAA,EAEA,CACA,eACA,EAEA86C,QAxQA,YAwQA,6BACA,yBAAAz7B,UAAAA,IAEA,2BACA,6BACA,IAEA,iFACA,sBACA,gBACA/Y,KAAAA,EACA/F,KAAAA,IAGA,mDACA,2BAEA6W,GAAAA,aAAAA,cAAAA,oCACA,aACAyI,WAAAA,KAAAA,UAAAA,KAAAA,MAAAA,MAGA,yBACA,4BAEA,mBACA,EAEAk7B,cApSA,SAoSAh1C,GAAA,WACA,wCACA,sBACA,gCACA,2BACA,0BACA,IAEA,oBAEA,gCAEA,kDACA,mBAEA,EAEAi1C,OArTA,WAqTA,WACA,0BACA,aACA,iBACA,yBAAA37B,UAAAA,KAAAA,WAEA,2BACA,4BACA,GACA,EAEA47B,OAhUA,WAgUA,WACA,2BACA,4BACA,GACA,EACAC,QArUA,WAsUA,mBACA,EACAC,OAxUA,WAyUA,kBACA,EAEAh0C,MA5UA,WA4UA,mHACAq8B,cAAAA,EAAAA,oBACA,kCAFA,0CAIA,uBAJA,OAKA,8BACA,sBACA,oBAPA,0DAYA,aACA,IACA,yBACA,oBACA,cAGA,CAFA,SACAxjC,GAAAA,KAAAA,EACA,CAnBA,0BAqBA,GArBA,2OAsBA,ICntB8K,sBCW1K,GAAU,CAAC,EAEf,GAAQsN,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,4BCf9C,GAAU,CAAC,EAEf,GAAQJ,kBAAoB,KAC5B,GAAQC,cAAgB,KAElB,GAAQC,OAAS,UAAc,KAAM,QAE3C,GAAQC,OAAS,KACjB,GAAQC,mBAAqB,KAEhB,KAAI,KAAS,IAKJ,MAAW,aAAiB,YCNlD,UAXgB,QACd,IpEVW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACpN,YAAY,cAAcsN,MAAM,CAAC,GAAK,mBAAmB,eAAe,qBAAqB,CAAEL,EAAa,UAAEG,EAAG,MAAM,CAACpN,YAAY,mBAAmB,CAAEiN,EAAQ,KAAEG,EAAG,IAAI,CAACpN,YAAY,OAAO,CAACiN,EAAIU,GAAG,WAAWV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,iEAAkE,CAAEyS,QAASnR,EAAIq3B,gBAAiB,KAAKl3B,EAAG,IAAI,CAACpN,YAAY,iBAAiByN,GAAG,CAAC,MAAQR,EAAIysC,YAAY,CAACzsC,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,mBAAoBsB,EAAqB,kBAAEG,EAAG,IAAI,CAACpN,YAAY,kBAAkB,CAACiN,EAAIU,GAAG,WAAWV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,wFAAwF,YAAasB,EAAsB,mBAAEG,EAAG,IAAI,CAACpN,YAAY,OAAO,CAACiN,EAAIU,GAAG,WAAWV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,qEAAqE,KAAKyB,EAAG,IAAI,CAACpN,YAAY,iBAAiByN,GAAG,CAAC,MAAQR,EAAIysC,YAAY,CAACzsC,EAAIU,GAAGV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,mBAAmBsB,EAAIoB,KAAKpB,EAAIU,GAAG,KAAMV,EAAQ,KAAEG,EAAG,IAAI,CAACpN,YAAY,kBAAkB,CAACoN,EAAG,QAAQH,EAAIU,GAAG,IAAIV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,qEAAsE,CAAE25B,KAAMr4B,EAAIsyB,KAAKmb,eAAgB,WAAW,GAAGztC,EAAIoB,OAAOpB,EAAIoB,KAAKpB,EAAIU,GAAG,KAAMV,EAAa,UAAEG,EAAG,MAAM,CAACpN,YAAY,uBAAuBuG,MAAM,CACh1C,gBAAiB0G,EAAIorC,kBACrB,gBAAiBprC,EAAIuqC,gBAAkBvqC,EAAI0qC,mBAC3C,oBAAqB1qC,EAAI8qC,gBACzB,iBAAkB9qC,EAAIwrC,aACtB,yBAA0BxrC,EAAIua,uBAC7Bla,MAAM,CAAC,GAAK,mBAAmB,CAAEL,EAAW,QAAEG,EAAG,qBAAqB,CAACpN,YAAY,oBAAoBsN,MAAM,CAAC,GAAK,WAAW,CAAEL,EAAe,YAAEG,EAAG,UAAU,CAACQ,IAAI,UAAUN,MAAM,CAAC,SAAWL,EAAIqnC,SAAS,OAASrnC,EAAI2qC,eAAenqC,GAAG,CAAC,gBAAgB,SAASC,GAAQT,EAAI2qC,cAAclqC,CAAM,IAAI,CAACN,EAAG,MAAM,CAACpN,YAAY,6BAA6B,CAAEiN,EAAY,SAAEG,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,UAAUoH,QAAQ,YAAYrD,MAAO+C,EAA0B,uBAAEO,WAAW,2BAA2BjH,MAAM0G,EAAI6rC,kBAAkB1rC,EAAG,MAAM,CAAC5C,WAAW,CAAC,CAACrE,KAAK,UAAUoH,QAAQ,YAAYrD,MAAO+C,EAA0B,uBAAEO,WAAW,2BAA2BxN,YAAY,cAAcuG,MAAM0G,EAAIgrC,qBAAqB3qC,MAAM,CAAC,aAAaL,EAAItB,EAAE,OAAQ,0BAA0B,CAACsB,EAAIU,GAAG,iBAAiBV,EAAIqB,GAAGrB,EAAI+qC,iBAAiB,kBAAkB/qC,EAAIU,GAAG,KAAKP,EAAG,cAAc,CAACE,MAAM,CAAC,SAAWL,EAAIqqC,mBAAmB,CAAClqC,EAAG,IAAI,CAACpN,YAAY,aAAasN,MAAM,CAAC,KAAO,aAAakmC,KAAK,aAAa,CAACvmC,EAAIU,GAAG,mBAAmBV,EAAIqB,GAAGrB,EAAItB,EAAE,OAAQ,eAAe,KAAKsB,EAAIqB,GAAGrB,EAAIwqC,iBAAiB,oBAAoBxqC,EAAIU,GAAG,KAAMV,EAAIqT,WAAarT,EAAIya,eAAeizB,OAAQvtC,EAAG,kBAAkB,CAACE,MAAM,CAAC,QAAUL,EAAIya,kBAAkBza,EAAIoB,MAAM,IAAI,GAAGpB,EAAIU,GAAG,KAAKV,EAAIuoC,GAAG,WAAW,GAAGvoC,EAAIoB,KAAKpB,EAAIU,GAAG,KAAOV,EAAI2qC,cAA6D3qC,EAAIoB,KAAlDjB,EAAG,MAAM,CAACpN,YAAY,wBAAiCiN,EAAIU,GAAG,KAAKP,EAAG,MAAM,CAACQ,IAAI,iBAAiB5N,YAAY,+CAA+CsN,MAAM,CAAC,eAAe,2BAA2B,CAAEL,EAAe,YAAEG,EAAG,aAAa,CAACE,MAAM,CAAC,kBAAkBL,EAAI6qC,eAAe,YAAY7qC,EAAIjO,gBAAgBiO,EAAIoB,KAAKpB,EAAIU,GAAG,KAAKP,EAAG,gBAAgB,CAAC5C,WAAW,CAAC,CAACrE,KAAK,OAAOoH,QAAQ,SAASrD,MAAO+C,EAAiB,cAAEO,WAAW,kBAAkBxN,YAAY,uCAAuCsN,MAAM,CAAC,SAAW,IAAI,KAAO,WAAW,OAASL,EAAIjP,YAAY,IAAI,GAAGiP,EAAIoB,KAAKpB,EAAIU,GAAG,KAAMV,EAAqB,kBAAEG,EAAG,SAAS,CAACE,MAAM,CAAC,QAAUL,EAAIyqC,UAAU73C,KAAKqiC,cAAc,iBAAiBj1B,EAAIwrC,gBAAgBxrC,EAAIoB,MAAM,GAAGpB,EAAIoB,KAAKpB,EAAIU,GAAG,KAAMV,EAAIorC,oBAAsBprC,EAAI62B,SAAU12B,EAAG,yBAAyB,CAACK,GAAG,CAAC,2BAA2BR,EAAIusC,sBAAsB,6BAA6BvsC,EAAIwsC,2BAA2BxsC,EAAIoB,MAAM,EAAE,GACltE,IoEMpB,EACA,KACA,WACA,MAI8B,oECpBhC,eC8BA,MC9B2K,ED8B3K,CACAlI,KAAAA,aACAkE,WAAAA,CAAAosC,sBAAAA,IAEA14C,OAAAA,CAAAA,aAAAA,cAEA+B,MAAAA,CACAmJ,QAAAA,CACArD,KAAAA,OACAyN,UAAAA,IAIAnI,SAAAA,CACA0vC,YADA,WAEA,oCACA,GAGA7O,MAAAA,CACA9iC,QADA,WAEA,oBACA,GAGA8vC,QAzBA,WA0BA,iCACA,yBAAAp6B,UAAAA,GACA,EAEAiwB,cA9BA,WA+BA,sBACA,EAEA7iC,QAAAA,CACAwgC,aADA,WAEA,qBACAtjC,QAAAA,KAAAA,YACA+P,WAAAA,KAAAA,cAEA,EAEA6hC,cARA,WASA,kDACA,mBExDA,SAXgB,OACd,GCRW,WAAa,IAAI5tC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAQD,EAAW,QAAEG,EAAG,gBAAgB,CAACE,MAAM,CAAC,GAAK,mBAAmB,OAASL,EAAIjP,WAAWiP,EAAIoB,IAAI,GAC3K,IDUpB,EACA,KACA,KACA,MAI8B,0CEahC,MC/BgL,ED+BhL,CACAlI,KAAAA,kBACAkE,WAAAA,CAAAywC,WAAAA,GAEArF,QAAAA,CACAsF,WADA,SACA9xC,GACA,6BACA,EACA+P,WAAAA,WAAA,eAGAlZ,MAAAA,CACAmJ,QAAAA,CACArD,KAAAA,OACAyN,UAAAA,KE3BA,SAXgB,OACd,GCRW,WAAa,IAAIpG,EAAIlG,KAASmG,EAAGD,EAAIE,eAAuC,OAAjBF,EAAII,MAAMD,IAAIF,GAAa,aAAa,CAACI,MAAM,CAAC,QAAUL,EAAIhE,UAAU,GAC1H,IDUpB,EACA,KACA,KACA,MAI8B,QElBhC,0BC+BA,MC/B+K,ED+B/K,CACA9C,KAAAA,iBACAkE,WAAAA,CAAAywC,WAAAA,GAEArF,QAAAA,CACAsF,WADA,SACA9xC,GACA,oBACA,EACA+P,WAJA,WAIA,WACA,OACA0zB,EAAAA,EAAAA,UAAAA,CACAn1B,KAAAA,CACAF,QAAAA,SAAAA,EAAAA,GAEA,OADA,2BACA,CACA,KAIA,GAGAvX,MAAAA,CACAmJ,QAAAA,CACArD,KAAAA,OACAyN,UAAAA,IAIA89B,QA7BA,WA8BA,8DACA,EAEA6J,UAjCA,WAkCA,iEACA,EAEAjvC,QAAAA,CACAkvC,oBADA,SACAvuC,GAEA,iDACAA,EAAAA,gBAEA,yIE/DIvE,EAAU,CAAC,EAEfA,EAAQyE,kBAAoB,IAC5BzE,EAAQ0E,cAAgB,IAElB1E,EAAQ2E,OAAS,SAAc,KAAM,QAE3C3E,EAAQ4E,OAAS,IACjB5E,EAAQ6E,mBAAqB,IAEhB,IAAI,IAAS7E,GAKJ,KAAW,YAAiB,WCPlD,MCnBuK,ECiCvK,CACAhC,KAAAA,SACAkE,WAAAA,CAAA6wC,gBAAAA,EAAAC,gBF3BgB,OACd,GJTW,WAAa,IAAIluC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAuC,OAAjBF,EAAII,MAAMD,IAAIF,GAAa,aAAa,CAACI,MAAM,CAAC,QAAUL,EAAIhE,SAASwE,GAAG,CAAC,aAAa,SAAU8M,EAAG+gB,GAAK,OAAOruB,EAAIgyB,MAAM,aAAc1kB,EAAG+gB,EAAI,IAAI,GACtM,IIWpB,EACA,KACA,KACA,MAI8B,SEiBhCx7B,MAAAA,CACAmJ,QAAAA,CACArD,KAAAA,OACAyN,UAAAA,GAEAolC,aAAAA,CACA7yC,KAAAA,QACA1H,SAAAA,oBChCI,EAAU,CAAC,EAEf,EAAQ0O,kBAAoB,IAC5B,EAAQC,cAAgB,IAElB,EAAQC,OAAS,SAAc,KAAM,QAE3C,EAAQC,OAAS,IACjB,EAAQC,mBAAqB,IAEhB,IAAI,IAAS,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,OACd,GjBTW,WAAa,IAAIC,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAQD,EAAgB,aAAEG,EAAG,iBAAiB,CAACE,MAAM,CAAC,QAAUL,EAAIhE,WAAWmE,EAAG,kBAAkB,CAACE,MAAM,CAAC,QAAUL,EAAIhE,UAAU,GACvM,IiBWpB,EACA,KACA,KACA,MAI8B,oECnBhC,42NC0CA,4BACAmyC,SAAAA,GACAC,MAAAA,IAGA,gBACA/7C,EAAAA,MAAAA,qBAAAA,EAAAA,GACA,aACA,QACA+2B,EAAAA,CACAilB,YAAAA,EACAC,OAAAA,IAGA,WACA,IACAC,EAAAA,KAAAA,UAAAA,EAGA,CAFA,SACAA,EAAAA,IACA,CAGA,iGACA,QACAxkC,OAAAA,6BAAAA,KAEAA,OAAAA,6BAAAA,GAAAA,IAKA,eACAA,OAAAA,OAAAA,iBACAA,OAAAA,OAAAA,gBAAAA,8BACAA,OAAAA,OAAAA,gBAAAA,6BAAAA,YAAAA,GAGAA,OAAAA,YAAAA,EACA,EAEAA,OAAOkJ,iBAAiB,WAAW,SAAnClJ,GACAsf,EAAAA,SAAAA,KAAAA,EAAAA,MACAh3B,EAAAA,MAAAA,cAAAA,EACA,IAEA,MCvF8K,EDuF9K,CACA6G,KAAAA,gBACAkE,WAAAA,CAAAoxC,cAAAA,EAAAA,SACA57C,KAHA,WAIA,OACA67C,QAAAA,IAAAA,aAAAA,UAAAA,OAAAA,QACAN,SAAAA,EAAAA,SACA9kB,IAAAA,EACAqlB,QAAAA,EAEA,EACAzwC,SAAAA,CACAy4B,eADA,WAEA,6CACA,GAEA93B,YAhBA,WAiBA+vC,EAAAA,UACA,EACAzK,QAnBA,WAoBAlyC,SAAAA,cAAAA,yBAAAA,aAAAA,UAAAA,4EACA,EACA8M,QAAAA,CACAtF,MADA,WACA,4GACA,YACA0Y,WAAAA,EAAAA,IAAAA,MAAAA,SAAAA,IAAA,iFACA,uBADA,OAEAy8B,EAAAA,SAFA,2CAGA,GALA,4CAMA,EACAC,MARA,WASAD,EAAAA,QACA,EACA/wC,OAXA,WAYA+wC,EAAAA,SACA,yIE/GIzzC,EAAU,CAAC,EAEfA,EAAQyE,kBAAoB,IAC5BzE,EAAQ0E,cAAgB,IAElB1E,EAAQ2E,OAAS,SAAc,KAAM,QAE3C3E,EAAQ4E,OAAS,IACjB5E,EAAQ6E,mBAAqB,IAEhB,IAAI,IAAS7E,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,cACd,GJTW,WAAa,IAAI8E,EAAIlG,KAASmG,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC7G,MAAM,CAAC,eAAgB0G,EAAI0uC,QAAQruC,MAAM,CAAC,GAAK,kBAAkB,CAACF,EAAG,gBAAgB,CAACQ,IAAI,SAASN,MAAM,CAAC,kBAAkBL,EAAI02B,eAAe,QAAS,EAAK,KAAO12B,EAAIyuC,QAAQI,SAAS,qBAAoB,GAAMruC,GAAG,CAAC,MAAQR,EAAIpC,QAAQ+/B,YAAY39B,EAAI49B,GAAG,CAAC,CAAC9qC,IAAI,SAASue,GAAG,WAAW,MAAO,CAAClR,EAAG,SAAS,CAACpN,YAAY,aAAayN,GAAG,CAAC,MAAQR,EAAI4uC,SAAS5uC,EAAIU,GAAG,KAAKP,EAAG,SAAS,CAACpN,YAAY,aAAayN,GAAG,CAAC,MAAQR,EAAIxG,SAAS,EAAEqkC,OAAM,QAAW,EAAE,GACthB,IIWpB,EACA,KACA,WACA,MAI8B","sources":["webpack:///text/src/components/EditorWrapper.provider.js","webpack:///text/src/components/icons.js","webpack:///text/src/extensions/HardBreak.js","webpack:///text/src/extensions/KeepSyntax.js","webpack:///text/src/extensions/Markdown.js","webpack:///text/src/nodes/Table.js","webpack:///text/src/nodes/ImageView.vue","webpack:///text/src/nodes/ImageView.vue?vue&type=script&lang=js&","webpack://text/./src/nodes/ImageView.vue?2f86","webpack://text/./src/nodes/ImageView.vue?efcd","webpack:///text/src/nodes/ImageView.vue?vue&type=template&id=38d6a546&scoped=true&","webpack:///text/src/nodes/Image.js","webpack:///text/src/nodes/Heading.js","webpack:///text/src/nodes/BulletList.js","webpack:///text/src/commands/listInputRule.js","webpack:///text/src/nodes/TaskList.js","webpack:///text/src/nodes/TaskItem.js","webpack:///text/src/nodes/Callout.vue","webpack:///text/src/nodes/Callout.vue?vue&type=script&lang=js&","webpack://text/./src/nodes/Callout.vue?9d3b","webpack://text/./src/nodes/Callout.vue?8e96","webpack:///text/src/nodes/Callout.vue?vue&type=template&id=5cc49600&scoped=true&","webpack:///text/src/nodes/Callouts.js","webpack:///text/src/helpers/links.js","webpack:///text/src/plugins/link.js","webpack:///text/src/marks/Link.js","webpack:///text/src/marks/Strike.js","webpack:///text/src/marks/Strong.js","webpack:///text/src/marks/Underline.js","webpack:///text/src/marks/index.js","webpack:///text/src/extensions/RichText.js","webpack:///text/src/extensions/Emoji.js","webpack:///text/src/extensions/Keymap.js","webpack:///text/src/extensions/tracking/models.js","webpack:///text/src/extensions/tracking/TrackState.js","webpack:///text/src/extensions/UserColor.js","webpack:///text/src/extensions/Collaboration.js","webpack:///text/src/nodes/PlainTextDocument.js","webpack:///text/src/extensions/PlainText.js","webpack:///text/src/helpers/index.js","webpack:///text/src/helpers/mime.js","webpack:///text/src/markdownit/callouts.js","webpack:///text/src/markdownit/splitMixedLists.js","webpack:///text/src/markdownit/index.js","webpack:///text/src/markdownit/underline.js","webpack:///text/src/markdownit/keepSyntax.js","webpack:///text/src/mixins/store.js","webpack:///text/src/nodes/Table/Table.js","webpack:///text/src/nodes/Table/TableCaption.js","webpack:///text/src/nodes/Table/TableCell.js","webpack:///text/src/nodes/Table/TableHeadRow.js","webpack:///text/src/nodes/Table/TableHeader.js","webpack:///text/src/nodes/Table/TableRow.js","webpack:///text/src/store.js","webpack:///text/src/components/Menu/ActionEntry.scss","webpack:///text/src/components/CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&","webpack:///text/src/components/EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&","webpack:///text/src/components/EditorWrapper.vue?vue&type=style&index=1&lang=scss&","webpack:///text/src/components/EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&","webpack:///text/src/components/HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&","webpack:///text/src/components/Menu/MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&","webpack:///text/src/components/Reader.vue?vue&type=style&index=0&lang=scss&","webpack:///text/src/components/RichTextReader.vue?vue&type=style&index=0&lang=scss&","webpack:///text/src/nodes/Callout.vue?vue&type=style&index=0&id=5cc49600&lang=scss&scoped=true&","webpack:///text/src/nodes/ImageView.vue?vue&type=style&index=0&id=38d6a546&scoped=true&lang=scss&","webpack:///text/src/nodes/Table/TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&","webpack:///text/src/nodes/Table/TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&","webpack:///text/src/nodes/Table/TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&","webpack:///text/src/views/DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&","webpack:///text/node_modules/highlight.js/lib/core.js","webpack:///text/node_modules/highlight.js/lib/languages|/home/runner/work/text/text/node_modules/highlight.js/lib/languages|lazy|/^\\.\\/.*$/|chunkName: highlight/[request]|groupOptions: {}|namespace object","webpack:///text/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///text/src/components/CollisionResolveDialog.vue","webpack:///text/src/components/CollisionResolveDialog.vue?vue&type=script&lang=js&","webpack://text/./src/components/CollisionResolveDialog.vue?d090","webpack://text/./src/components/CollisionResolveDialog.vue?6ed8","webpack:///text/src/components/CollisionResolveDialog.vue?vue&type=template&id=4a5d4c0f&scoped=true&","webpack:///text/src/components/EditorWrapper.vue?vue&type=template&id=2ce1ab75&scoped=true&","webpack:///text/src/services/PollingBackend.js","webpack:///text/src/services/SyncService.js","webpack:///text/src/services/ImageResolver.js","webpack:///text/src/helpers/mappings.js","webpack:///text/src/nodes/TrailingNode.js","webpack:///text/src/nodes/Table/TableView.vue","webpack:///text/src/nodes/Table/TableView.vue?vue&type=script&lang=js&","webpack://text/./src/nodes/Table/TableView.vue?6875","webpack://text/./src/nodes/Table/TableView.vue?5b22","webpack:///text/src/nodes/Table/TableView.vue?vue&type=template&id=8c5f0358&scoped=true&","webpack:///text/src/nodes/Table/TableCellView.vue","webpack:///text/src/nodes/Table/TableCellView.vue?vue&type=script&lang=js&","webpack://text/./src/nodes/Table/TableCellView.vue?83c0","webpack://text/./src/nodes/Table/TableCellView.vue?bec9","webpack:///text/src/nodes/Table/TableCellView.vue?vue&type=template&id=bef9ed02&scoped=true&","webpack:///text/src/nodes/Table/TableHeaderView.vue","webpack:///text/src/nodes/Table/TableHeaderView.vue?vue&type=script&lang=js&","webpack://text/./src/nodes/Table/TableHeaderView.vue?76e0","webpack://text/./src/nodes/Table/TableHeaderView.vue?7377","webpack:///text/src/nodes/Table/TableHeaderView.vue?vue&type=template&id=aefbe706&scoped=true&","webpack:///text/src/nodes/EditableTable.js","webpack:///text/src/components/EmojiList.vue","webpack:///text/src/components/EmojiList.vue?vue&type=script&lang=js&","webpack://text/./src/components/EmojiList.vue?d570","webpack://text/./src/components/EmojiList.vue?f465","webpack:///text/src/components/EmojiList.vue?vue&type=template&id=debb463c&scoped=true&","webpack:///text/src/EditorFactory.js","webpack:///text/src/mixins/isMobile.js","webpack:///text/src/components/HelpModal.vue","webpack:///text/src/components/HelpModal.vue?vue&type=script&lang=js&","webpack://text/./src/components/HelpModal.vue?25f3","webpack://text/./src/components/HelpModal.vue?e57d","webpack:///text/src/components/HelpModal.vue?vue&type=template&id=84b85632&scoped=true&","webpack:///text/src/components/Menu/utils.js","webpack://text/./src/components/Menu/ActionEntry.scss?c415","webpack:///text/src/components/Menu/BaseActionEntry.js","webpack:///text/src/components/Menu/EmojiPickerAction.vue","webpack:///text/src/components/Menu/EmojiPickerAction.vue?vue&type=script&lang=js&","webpack://text/./src/components/Menu/EmojiPickerAction.vue?ec5c","webpack:///text/src/components/Menu/EmojiPickerAction.vue?vue&type=template&id=21a414b0&","webpack:///text/src/components/Menu/ActionImageUpload.vue?vue&type=template&id=6f262d5e&","webpack:///text/src/components/EditorMediaHandler.provider.js","webpack:///text/src/components/Menu/ActionImageUpload.vue","webpack:///text/src/components/Menu/ActionImageUpload.vue?vue&type=script&lang=js&","webpack://text/./src/components/Menu/ActionImageUpload.vue?293f","webpack:///text/src/components/Menu/entries.js","webpack:///text/src/components/Menu/ActionSingle.vue","webpack:///text/src/components/Menu/ActionSingle.vue?vue&type=script&lang=js&","webpack://text/./src/components/Menu/ActionSingle.vue?554b","webpack:///text/src/components/Menu/ActionList.vue","webpack:///text/src/components/Menu/ActionList.vue?vue&type=script&lang=js&","webpack://text/./src/components/Menu/ActionList.vue?0d46","webpack:///text/src/components/Menu/ActionList.vue?vue&type=template&id=9c6130a4&","webpack:///text/src/components/Menu/MenuBar.vue","webpack:///text/src/components/Menu/ActionEntry.js","webpack:///text/src/components/Menu/MenuBar.vue?vue&type=script&lang=js&","webpack://text/./src/components/Menu/MenuBar.vue?7627","webpack://text/./src/components/Menu/MenuBar.vue?26e0","webpack:///text/src/components/Menu/MenuBar.vue?vue&type=template&id=744790a8&scoped=true&","webpack:///text/src/components/EditorMediaHandler.vue?vue&type=template&id=7eb21802&","webpack:///text/src/components/EditorMediaHandler.vue","webpack:///text/src/components/EditorMediaHandler.vue?vue&type=script&lang=js&","webpack://text/./src/components/EditorMediaHandler.vue?c5c2","webpack:///text/src/components/EditorWrapper.vue","webpack:///text/src/components/EditorWrapper.vue?vue&type=script&lang=js&","webpack://text/./src/components/EditorWrapper.vue?8c8b","webpack://text/./src/components/EditorWrapper.vue?973c","webpack://text/./src/components/EditorWrapper.vue?c069","webpack:///text/src/components/Reader.vue?vue&type=template&id=35c4246b&","webpack:///text/src/components/BaseReader.vue","webpack:///text/src/components/BaseReader.vue?vue&type=script&lang=js&","webpack://text/./src/components/BaseReader.vue?df2c","webpack:///text/src/components/BaseReader.vue?vue&type=template&id=60e3e19c&","webpack:///text/src/components/PlainTextReader.vue","webpack:///text/src/components/PlainTextReader.vue?vue&type=script&lang=js&","webpack://text/./src/components/PlainTextReader.vue?8d3f","webpack:///text/src/components/PlainTextReader.vue?vue&type=template&id=68296ea2&","webpack:///text/src/components/RichTextReader.vue?vue&type=template&id=a491aef0&","webpack:///text/src/components/RichTextReader.vue","webpack:///text/src/components/RichTextReader.vue?vue&type=script&lang=js&","webpack://text/./src/components/RichTextReader.vue?869f","webpack://text/./src/components/RichTextReader.vue?b0bc","webpack:///text/src/components/Reader.vue?vue&type=script&lang=js&","webpack:///text/src/components/Reader.vue","webpack://text/./src/components/Reader.vue?600b","webpack://text/./src/components/Reader.vue?231e","webpack:///text/src/views/DirectEditing.vue?vue&type=template&id=5c2efba8&scoped=true&","webpack:///text/src/views/DirectEditing.vue","webpack:///text/src/views/DirectEditing.vue?vue&type=script&lang=js&","webpack://text/./src/views/DirectEditing.vue?8ded","webpack://text/./src/views/DirectEditing.vue?50c1"],"sourcesContent":["/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport const EDITOR = Symbol('tiptap:editor')\nexport const FILE = Symbol('editor:file')\nexport const IMAGE_RESOLVER = Symbol('image:resolver')\nexport const IS_MOBILE = Symbol('editor:is-mobile')\nexport const IS_PUBLIC = Symbol('editor:is-public')\nexport const IS_RICH_EDITOR = Symbol('editor:is-rich-editor')\nexport const IS_RICH_WORKSPACE = Symbol('editor:is-rich-woskapace')\nexport const SYNC_SERVICE = Symbol('sync:service')\n\nexport const useEditorMixin = {\n\tinject: {\n\t\t$editor: { from: EDITOR, default: null },\n\t},\n}\n\nexport const useSyncServiceMixin = {\n\tinject: {\n\t\t$syncService: { from: SYNC_SERVICE, default: null },\n\t},\n}\n\nexport const useIsPublicMixin = {\n\tinject: {\n\t\t$isPublic: { from: IS_PUBLIC, default: false },\n\t},\n}\n\nexport const useIsRichWorkspaceMixin = {\n\tinject: {\n\t\t$isRichWorkspace: { from: IS_RICH_WORKSPACE, default: false },\n\t},\n}\n\nexport const useIsRichEditorMixin = {\n\tinject: {\n\t\t$isRichEditor: { from: IS_RICH_EDITOR, default: false },\n\t},\n}\n\nexport const useIsMobileMixin = {\n\tinject: {\n\t\t$isMobile: { from: IS_MOBILE, default: false },\n\t},\n}\n\nexport const useFileMixin = {\n\tinject: {\n\t\t$file: {\n\t\t\tfrom: FILE,\n\t\t\tdefault: () => ({\n\t\t\t\tfileId: 0,\n\t\t\t\trelativePath: null,\n\t\t\t\tdocument: null,\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport const useImageResolver = {\n\tinject: {\n\t\t$imageResolver: {\n\t\t\tfrom: IMAGE_RESOLVER,\n\t\t\tdefault: {\n\t\t\t\tresolve(src) {\n\t\t\t\t\tconsole.warn('No image resolver provided. Some image sources cannot be resolved.')\n\t\t\t\t\treturn [src]\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n","/* eslint-disable camelcase */\n/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport MDI_Check from 'vue-material-design-icons/Check.vue'\nimport MDI_CodeTags from 'vue-material-design-icons/CodeTags.vue'\nimport MDI_Danger from 'vue-material-design-icons/AlertDecagram.vue'\nimport MDI_Delete from 'vue-material-design-icons/Delete.vue'\nimport MDI_Document from 'vue-material-design-icons/FileDocument.vue'\nimport MDI_DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\nimport MDI_Emoticon from 'vue-material-design-icons/EmoticonOutline.vue'\nimport MDI_Folder from 'vue-material-design-icons/Folder.vue'\nimport MDI_FormatBold from 'vue-material-design-icons/FormatBold.vue'\nimport MDI_FormatHeader1 from 'vue-material-design-icons/FormatHeader1.vue'\nimport MDI_FormatHeader2 from 'vue-material-design-icons/FormatHeader2.vue'\nimport MDI_FormatHeader3 from 'vue-material-design-icons/FormatHeader3.vue'\nimport MDI_FormatHeader4 from 'vue-material-design-icons/FormatHeader4.vue'\nimport MDI_FormatHeader5 from 'vue-material-design-icons/FormatHeader5.vue'\nimport MDI_FormatHeader6 from 'vue-material-design-icons/FormatHeader6.vue'\nimport MDI_FormatItalic from 'vue-material-design-icons/FormatItalic.vue'\nimport MDI_FormatListBulleted from 'vue-material-design-icons/FormatListBulleted.vue'\nimport MDI_FormatListCheckbox from 'vue-material-design-icons/FormatListCheckbox.vue'\nimport MDI_FormatListNumbered from 'vue-material-design-icons/FormatListNumbered.vue'\nimport MDI_FormatQuote from 'vue-material-design-icons/FormatQuoteClose.vue'\nimport MDI_FormatStrikethrough from 'vue-material-design-icons/FormatStrikethrough.vue'\nimport MDI_FormatUnderline from 'vue-material-design-icons/FormatUnderline.vue'\nimport MDI_Help from 'vue-material-design-icons/HelpCircle.vue'\nimport MDI_Image from 'vue-material-design-icons/ImageOutline.vue'\nimport MDI_Images from 'vue-material-design-icons/ImageMultipleOutline.vue'\nimport MDI_Info from 'vue-material-design-icons/Information.vue'\nimport MDI_Link from 'vue-material-design-icons/Link.vue'\nimport MDI_Loading from 'vue-material-design-icons/Loading.vue'\nimport MDI_Lock from 'vue-material-design-icons/Lock.vue'\nimport MDI_Positive from 'vue-material-design-icons/CheckboxMarkedCircle.vue'\nimport MDI_Redo from 'vue-material-design-icons/ArrowURightTop.vue'\nimport MDI_Table from 'vue-material-design-icons/Table.vue'\nimport MDI_TableAddColumnAfter from 'vue-material-design-icons/TableColumnPlusAfter.vue'\nimport MDI_TableAddColumnBefore from 'vue-material-design-icons/TableColumnPlusBefore.vue'\nimport MDI_TableAddRowAfter from 'vue-material-design-icons/TableRowPlusAfter.vue'\nimport MDI_TableAddRowBefore from 'vue-material-design-icons/TableRowPlusBefore.vue'\nimport MDI_TableSettings from 'vue-material-design-icons/TableCog.vue'\nimport MDI_TrashCan from 'vue-material-design-icons/TrashCan.vue'\nimport MDI_Undo from 'vue-material-design-icons/ArrowULeftTop.vue'\nimport MDI_Upload from 'vue-material-design-icons/Upload.vue'\nimport MDI_Warn from 'vue-material-design-icons/Alert.vue'\n\nconst DEFAULT_ICON_SIZE = 20\n\nconst makeIcon = (original) => ({\n\tfunctional: true,\n\trender(h, { data, props }) {\n\t\treturn h(original, {\n\t\t\tdata,\n\t\t\tkey: data.key,\n\t\t\tstaticClass: data.staticClass,\n\t\t\tprops: { size: DEFAULT_ICON_SIZE, ...props },\n\t\t})\n\t},\n})\n\nexport const Loading = {\n\tfunctional: true,\n\trender(h, { data, props }) {\n\t\treturn h(MDI_Loading, {\n\t\t\tdata,\n\t\t\tstaticClass: 'animation-rotate',\n\t\t\tprops: { size: DEFAULT_ICON_SIZE, ...props },\n\t\t})\n\t},\n}\n\nexport const Check = makeIcon(MDI_Check)\nexport const CodeTags = makeIcon(MDI_CodeTags)\nexport const Danger = makeIcon(MDI_Danger)\nexport const Delete = makeIcon(MDI_Delete)\nexport const Document = makeIcon(MDI_Document)\nexport const DotsHorizontal = makeIcon(MDI_DotsHorizontal)\nexport const Emoticon = makeIcon(MDI_Emoticon)\nexport const Folder = makeIcon(MDI_Folder)\nexport const FormatBold = makeIcon(MDI_FormatBold)\nexport const FormatHeader1 = makeIcon(MDI_FormatHeader1)\nexport const FormatHeader2 = makeIcon(MDI_FormatHeader2)\nexport const FormatHeader3 = makeIcon(MDI_FormatHeader3)\nexport const FormatHeader4 = makeIcon(MDI_FormatHeader4)\nexport const FormatHeader5 = makeIcon(MDI_FormatHeader5)\nexport const FormatHeader6 = makeIcon(MDI_FormatHeader6)\nexport const FormatItalic = makeIcon(MDI_FormatItalic)\nexport const FormatListBulleted = makeIcon(MDI_FormatListBulleted)\nexport const FormatListCheckbox = makeIcon(MDI_FormatListCheckbox)\nexport const FormatListNumbered = makeIcon(MDI_FormatListNumbered)\nexport const FormatQuote = makeIcon(MDI_FormatQuote)\nexport const FormatStrikethrough = makeIcon(MDI_FormatStrikethrough)\nexport const FormatUnderline = makeIcon(MDI_FormatUnderline)\nexport const Help = makeIcon(MDI_Help)\nexport const Image = makeIcon(MDI_Image)\nexport const Images = makeIcon(MDI_Images)\nexport const Info = makeIcon(MDI_Info)\nexport const Link = makeIcon(MDI_Link)\nexport const Lock = makeIcon(MDI_Lock)\nexport const Positive = makeIcon(MDI_Positive)\nexport const Redo = makeIcon(MDI_Redo)\nexport const Table = makeIcon(MDI_Table)\nexport const TableAddColumnAfter = makeIcon(MDI_TableAddColumnAfter)\nexport const TableAddColumnBefore = makeIcon(MDI_TableAddColumnBefore)\nexport const TableAddRowAfter = makeIcon(MDI_TableAddRowAfter)\nexport const TableAddRowBefore = makeIcon(MDI_TableAddRowBefore)\nexport const TableSettings = makeIcon(MDI_TableSettings)\nexport const TrashCan = makeIcon(MDI_TrashCan)\nexport const Undo = makeIcon(MDI_Undo)\nexport const Upload = makeIcon(MDI_Upload)\nexport const Warn = makeIcon(MDI_Warn)\n","/*\n * @copyright Copyright (c) 2022 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n*/\n\nimport TipTapHardBreak from '@tiptap/extension-hard-break'\n\nconst HardBreak = TipTapHardBreak.extend({\n\n\ttoMarkdown(state, node, parent, index) {\n\t\tfor (let i = index + 1; i < parent.childCount; i++) {\n\t\t\tif (parent.child(i).type !== node.type) {\n\t\t\t\tif (parent.child(i).text?.startsWith('\\n')) state.write(' ')\n\t\t\t\telse state.write(' \\n')\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t},\n})\n\nexport default HardBreak\n","const { Mark } = require('@tiptap/core')\n\n/**\n * Keep markdown untouched\n */\nconst KeepSyntax = Mark.create({\n\tname: 'keep-syntax',\n\tparseHTML() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttag: 'span.keep-md',\n\t\t\t},\n\t\t]\n\t},\n\trenderHTML() {\n\t\treturn ['span', { class: 'keep-md' }, 0]\n\t},\n\ttoMarkdown: {\n\t\topen: '',\n\t\tclose: '',\n\t\tmixable: true,\n\t\tescape: false,\n\t\texpelEnclosingWhitespace: true,\n\t},\n\n\t/**\n\t * Remove mark if there were manual changes\n\t */\n\tonUpdate() {\n\t\tconst tr = this.editor.state.tr\n\n\t\tthis.editor.state.doc.descendants((node, pos, parent, index) => {\n\t\t\tif (node.marks.findIndex(mark => mark.type.name === this.name) !== -1) {\n\t\t\t\tif (node.type.name !== 'text' || node.text.length !== 1) {\n\t\t\t\t\ttr.removeMark(pos, pos + node.nodeSize, this.type)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tif (tr.docChanged) {\n\t\t\ttr.setMeta('addToHistory', false)\n\t\t\ttr.setMeta('preventUpdate', true)\n\t\t\tthis.editor.view.dispatch(tr)\n\t\t}\n\t},\n})\n\nexport default KeepSyntax\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/*\n * Tiptap extension to ease customize the serialization to markdown\n *\n * Most markdown serialization can be handled by `prosemirror-markdown`.\n * In order to make it easier to add custom markdown rendering\n * this extension will extend the prosemirror schema for nodes and marks\n * with a `toMarkdown` specification if that is defined in a tiptap extension.\n *\n * For nodes `toMarkown` should be function\n * that take a serializer state and such a node, and serializes the node.\n *\n * For marks `toMarkdown` is an object with open and close properties,\n * which hold the strings that should appear before and after.\n *\n * For more details see\n * https://github.com/ProseMirror/prosemirror-markdown#class-markdownserializer\n */\n\nimport { Extension, getExtensionField } from '@tiptap/core'\nimport { MarkdownSerializer, defaultMarkdownSerializer } from 'prosemirror-markdown'\n\nconst Markdown = Extension.create({\n\n\tname: 'markdown',\n\n\textendMarkSchema(extension) {\n\t\tconst context = {\n\t\t\tname: extension.name,\n\t\t\toptions: extension.options,\n\t\t\tstorage: extension.storage,\n\t\t}\n\t\treturn {\n\t\t\ttoMarkdown: getExtensionField(extension, 'toMarkdown', context),\n\t\t}\n\t},\n\n\textendNodeSchema(extension) {\n\t\tconst context = {\n\t\t\tname: extension.name,\n\t\t\toptions: extension.options,\n\t\t\tstorage: extension.storage,\n\t\t}\n\t\treturn {\n\t\t\ttoMarkdown: getExtensionField(extension, 'toMarkdown', context),\n\t\t}\n\t},\n\n})\n\nconst createMarkdownSerializer = ({ nodes, marks }) => {\n\tconst defaultNodes = convertNames(defaultMarkdownSerializer.nodes)\n\tconst defaultMarks = convertNames(defaultMarkdownSerializer.marks)\n\treturn {\n\t\tserializer: new MarkdownSerializer(\n\t\t\t{ ...defaultNodes, ...extractToMarkdown(nodes) },\n\t\t\t{ ...defaultMarks, ...extractToMarkdown(marks) }\n\t\t),\n\t\tserialize(content, options) {\n\t\t\treturn this.serializer.serialize(content, { ...options, tightLists: true })\n\t\t},\n\t}\n}\n\nconst extractToMarkdown = (nodesOrMarks) => {\n\treturn Object\n\t\t.entries(nodesOrMarks)\n\t\t.map(([name, nodeOrMark]) => [name, nodeOrMark.spec.toMarkdown])\n\t\t.filter(([, toMarkdown]) => toMarkdown)\n\t\t.reduce((items, [name, toMarkdown]) => ({\n\t\t\t...items,\n\t\t\t[name]: toMarkdown,\n\t\t}), {})\n}\n\nconst convertNames = (object) => {\n\tconst convert = (name) => {\n\t\treturn name.replace(/_(\\w)/g, (_m, letter) => letter.toUpperCase())\n\t}\n\treturn Object.fromEntries(\n\t\tObject.entries(object)\n\t\t\t.map(([name, value]) => [convert(name), value])\n\t)\n}\n\nexport { createMarkdownSerializer }\nexport default Markdown\n","import Table from './Table/Table.js'\n\nexport default Table\n","\n\n\n\t\n\t\t\n\t\t\t showIcons = false\"\n\t\t\t\tclass=\"image__view\"\n\t\t\t\t@click=\"showIcons = true\"\n\t\t\t\t@mouseover=\"showIcons = true\"\n\t\t\t\t@mouseleave=\"showIcons = false\">\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\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\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\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\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ alt }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t \n\t\t\t\t\n\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\t\n\t\t\t\t{{ errorMessage }}\n\t\t\t\n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageView.vue?vue&type=style&index=0&id=38d6a546&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageView.vue?vue&type=style&index=0&id=38d6a546&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ImageView.vue?vue&type=template&id=38d6a546&scoped=true&\"\nimport script from \"./ImageView.vue?vue&type=script&lang=js&\"\nexport * from \"./ImageView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ImageView.vue?vue&type=style&index=0&id=38d6a546&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38d6a546\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',[_c('div',{staticClass:\"image image-view\",class:{'icon-loading': !_vm.loaded, 'image-view--failed': _vm.failed},attrs:{\"data-component\":\"image-view\",\"data-src\":_vm.src}},[(_vm.canDisplayImage)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return _vm.showIcons = false; }),expression:\"() => showIcons = false\"}],staticClass:\"image__view\",on:{\"click\":function($event){_vm.showIcons = true},\"mouseover\":function($event){_vm.showIcons = true},\"mouseleave\":function($event){_vm.showIcons = false}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.failed)?[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],staticClass:\"image__main\",attrs:{\"src\":_vm.imageUrl},on:{\"load\":_vm.onLoaded}})]:[_c('ImageIcon',{staticClass:\"image__main image__main--broken-icon\",attrs:{\"size\":100}})]],2),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],staticClass:\"image__caption\"},[_c('input',{ref:\"altInput\",staticClass:\"image__caption__input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.alt},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.updateAlt.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.editor.isEditable && _vm.showIcons)?_c('div',{staticClass:\"image__caption__delete\",attrs:{\"title\":\"Delete this image\"},on:{\"click\":_vm.deleteNode}},[_c('TrashCan')],1):_vm._e()])])],1):_c('div',{staticClass:\"image-view__cant_display\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}]},[_c('a',{attrs:{\"href\":_vm.internalLinkOrImage,\"target\":\"_blank\"}},[(!_vm.isSupportedImage)?_c('span',[_vm._v(_vm._s(_vm.alt))]):_vm._e()])])]),_vm._v(\" \"),(_vm.isSupportedImage)?_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],staticClass:\"image__caption\"},[_c('input',{ref:\"altInput\",attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.alt},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.updateAlt()}}})])]):_vm._e()],1),_vm._v(\" \"),(_vm.errorMessage)?_c('small',{staticClass:\"image__error-message\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errorMessage)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TiptapImage from '@tiptap/extension-image'\nimport { Plugin } from 'prosemirror-state'\nimport ImageView from './ImageView.vue'\nimport { VueNodeViewRenderer } from '@tiptap/vue-2'\n\nconst Image = TiptapImage.extend({\n\n\tselectable: false,\n\n\trenderHTML() {\n\t\t// Avoid the prosemirror node creation to trigger image loading as we use a custom node view anyways\n\t\t// Otherwise it would attempt to load the image from the current location before the node view is even initialized\n\t\treturn ['img']\n\t},\n\n\taddOptions() {\n\t\treturn {\n\t\t\t...this.parent?.(),\n\t\t}\n\t},\n\n\taddNodeView() {\n\t\treturn VueNodeViewRenderer(ImageView)\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tprops: {\n\t\t\t\t\thandleDrop: (view, event, slice) => {\n\t\t\t\t\t\t// only catch the drop if it contains files\n\t\t\t\t\t\tif (event.dataTransfer.files && event.dataTransfer.files.length > 0) {\n\t\t\t\t\t\t\tconst coordinates = view.posAtCoords({ left: event.clientX, top: event.clientY })\n\t\t\t\t\t\t\tconst customEvent = new CustomEvent('image-drop', {\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tfiles: event.dataTransfer.files,\n\t\t\t\t\t\t\t\t\tposition: coordinates.pos,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tevent.target.dispatchEvent(customEvent)\n\t\t\t\t\t\t\treturn true\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\thandlePaste: (view, event, slice) => {\n\t\t\t\t\t\t// only catch the paste if it contains files\n\t\t\t\t\t\tif (event.clipboardData.files && event.clipboardData.files.length > 0) {\n\t\t\t\t\t\t\t// let the editor wrapper catch this custom event\n\t\t\t\t\t\t\tconst customEvent = new CustomEvent('image-paste', {\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tfiles: event.clipboardData.files,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tevent.target.dispatchEvent(customEvent)\n\t\t\t\t\t\t\treturn 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]\n\t},\n\n})\n\nexport default Image\n","import TipTapHeading from '@tiptap/extension-heading'\n\nconst Heading = TipTapHeading.extend({\n\n\taddKeyboardShortcuts() {\n\t\treturn this.options.levels.reduce((items, level) => ({\n\t\t\t...items,\n\t\t\t[`Mod-Shift-${level}`]: () => this.editor.commands.toggleHeading({ level }),\n\t\t}), {})\n\t},\n\n})\n\nexport default Heading\n","/*\n * @copyright Copyright (c) 2020 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TiptapBulletList from '@tiptap/extension-bullet-list'\nimport { listInputRule } from '../commands/index.js'\n\n/* We want to allow for `* [ ]` as an input rule for bullet lists.\n * Therefore the list input rules need to check the input\n * until the first char after the space.\n * Only there we know the user is not trying to create a task list.\n */\nconst BulletList = TiptapBulletList.extend({\n\tparseHTML() {\n\t\treturn this.parent().map(rule => Object.assign(rule, { preserveWhitespace: true }))\n\t},\n\n\taddInputRules() {\n\t\treturn [\n\t\t\tlistInputRule(\n\t\t\t\t/^\\s*([-+*])\\s([^\\s[])$/,\n\t\t\t\tthis.type\n\t\t\t),\n\t\t]\n\t},\n\n})\n\nexport default BulletList\n","/*\n * @copyright Copyright (c) 2021 Jonas Meurer \n *\n * @author Jonas Meurer \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { InputRule, wrappingInputRule } from '@tiptap/core'\n\n/**\n * Wrapping input handler that will append the content of the last match\n *\n * @param {RegExp} find find param for the wrapping input rule\n * @param {object} type Node Type object\n * @param {*} getAttributes handler to get the attributes\n */\nexport default function(find, type, getAttributes) {\n\tconst handler = ({ state, range, match }) => {\n\t\tconst wrap = wrappingInputRule({ find, type, getAttributes })\n\t\twrap.handler({ state, range, match })\n\t\t// Insert the first character after bullet if there is one\n\t\tif (match.length >= 3) {\n\t\t\tstate.tr.insertText(match[2])\n\t\t}\n\t}\n\treturn new InputRule({ find, handler })\n}\n","/*\n * @copyright Copyright (c) 2020 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TiptapTaskList from '@tiptap/extension-task-list'\n\nconst TaskList = TiptapTaskList.extend({\n\n\tparseHTML: [\n\t\t{\n\t\t\tpriority: 100,\n\t\t\ttag: 'ul.contains-task-list',\n\t\t},\n\t],\n\n\ttoMarkdown: (state, node) => {\n\t\tstate.renderList(node, ' ', () => (node.attrs.bullet || '*') + ' ')\n\t},\n\n})\n\nexport default TaskList\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TipTapTaskItem from '@tiptap/extension-task-item'\nimport { wrappingInputRule, mergeAttributes } from '@tiptap/core'\nimport { Plugin } from 'prosemirror-state'\nimport { findParentNodeClosestToPos } from 'prosemirror-utils'\n\nconst TaskItem = TipTapTaskItem.extend({\n\n\taddOptions() {\n\t\treturn {\n\t\t\tnested: true,\n\t\t\tHTMLAttributes: {},\n\t\t}\n\t},\n\n\tdraggable: false,\n\n\tcontent: 'paragraph block*',\n\n\taddAttributes() {\n\t\tconst adjust = { ...this.parent() }\n\t\tadjust.checked.parseHTML = el => {\n\t\t\treturn el.querySelector('input[type=checkbox]')?.checked\n\t\t}\n\t\treturn adjust\n\t},\n\n\tparseHTML: [\n\t\t{\n\t\t\tpriority: 101,\n\t\t\ttag: 'li',\n\t\t\tgetAttrs: el => {\n\t\t\t\tconst checkbox = el.querySelector('input[type=checkbox]')\n\t\t\t\treturn checkbox\n\t\t\t},\n\t\t\tcontext: 'taskList/',\n\t\t},\n\t],\n\n\trenderHTML({ node, HTMLAttributes }) {\n\t\tconst listAttributes = { class: 'checkbox-item' }\n\t\tconst checkboxAttributes = { type: 'checkbox', class: '', contenteditable: false }\n\t\tif (node.attrs.checked) {\n\t\t\tcheckboxAttributes.checked = true\n\t\t\tlistAttributes.class += ' checked'\n\t\t}\n\t\treturn [\n\t\t\t'li',\n\t\t\tmergeAttributes(HTMLAttributes, listAttributes),\n\t\t\t[\n\t\t\t\t'input',\n\t\t\t\tcheckboxAttributes,\n\t\t\t],\n\t\t\t[\n\t\t\t\t'label',\n\t\t\t\t0,\n\t\t\t],\n\t\t]\n\t},\n\n\t// overwrite the parent node view so renderHTML gets used\n\taddNodeView: false,\n\n\ttoMarkdown: (state, node) => {\n\t\tstate.write(`[${node.attrs.checked ? 'x' : ' '}] `)\n\t\tstate.renderContent(node)\n\t},\n\n\t addInputRules() {\n\t\treturn [\n\t\t\t...this.parent(),\n\t\t\twrappingInputRule({\n\t\t\t\tfind: /^\\s*([-+*])\\s(\\[(x|X|\\s?)\\])\\s$/,\n\t\t\t\ttype: this.type,\n\t\t\t\tgetAttributes: match => ({\n\t\t\t\t\tchecked: 'xX'.includes(match[match.length - 1]),\n\t\t\t\t}),\n\t\t\t}),\n\t\t]\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tprops: {\n\t\t\t\t\thandleClick: (view, pos, event) => {\n\t\t\t\t\t\tconst state = view.state\n\t\t\t\t\t\tconst schema = state.schema\n\n\t\t\t\t\t\tconst coordinates = view.posAtCoords({ left: event.clientX, top: event.clientY })\n\t\t\t\t\t\tconst position = state.doc.resolve(coordinates.pos)\n\t\t\t\t\t\tconst parentList = findParentNodeClosestToPos(position, function(node) {\n\t\t\t\t\t\t\treturn node.type === schema.nodes.taskItem\n\t\t\t\t\t\t\t\t|| node.type === schema.nodes.listItem\n\t\t\t\t\t\t})\n\t\t\t\t\t\tconst isListClicked = event.target.tagName.toLowerCase() === 'li'\n\t\t\t\t\t\tif (!isListClicked\n\t\t\t\t\t\t\t|| !parentList\n\t\t\t\t\t\t\t|| parentList.node.type !== schema.nodes.taskItem) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst tr = state.tr\n\t\t\t\t\t\ttr.setNodeMarkup(parentList.pos, schema.nodes.taskItem, { checked: !parentList.node.attrs.checked })\n\t\t\t\t\t\tview.dispatch(tr)\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t},\n\n})\n\nexport default TaskItem\n","\n\n\t\n\t\t \n\t\t \n\t \n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callout.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callout.vue?vue&type=style&index=0&id=5cc49600&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callout.vue?vue&type=style&index=0&id=5cc49600&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Callout.vue?vue&type=template&id=5cc49600&scoped=true&\"\nimport script from \"./Callout.vue?vue&type=script&lang=js&\"\nexport * from \"./Callout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Callout.vue?vue&type=style&index=0&id=5cc49600&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5cc49600\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{staticClass:\"callout\",class:(\"callout--\" + _vm.type),attrs:{\"data-text-el\":\"callout\",\"as\":\"div\"}},[_c(_vm.icon,{tag:\"component\",staticClass:\"callout__icon\"}),_vm._v(\" \"),_c('NodeViewContent',{staticClass:\"callout__content\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Node, isNodeActive, mergeAttributes } from '@tiptap/core'\nimport { VueNodeViewRenderer } from '@tiptap/vue-2'\nimport { typesAvailable } from './../markdownit/callouts.js'\n\nimport Callout from './Callout.vue'\n\nexport default Node.create({\n\n\tname: 'callout',\n\n\tcontent: 'paragraph+',\n\n\tgroup: 'block',\n\n\tdefining: true,\n\n\taddOptions() {\n\t\treturn {\n\t\t\ttypes: typesAvailable,\n\t\t\tHTMLAttributes: {\n\t\t\t\tclass: 'callout',\n\t\t\t},\n\t\t}\n\t},\n\n\taddAttributes() {\n\t\treturn {\n\t\t\ttype: {\n\t\t\t\tdefault: 'info',\n\t\t\t\trendered: false,\n\t\t\t\tparseHTML: element => {\n\t\t\t\t\treturn element.getAttribute('data-callout')\n\t\t\t\t\t\t|| typesAvailable.find((type) => element.classList.contains(type))\n\t\t\t\t\t\t|| (element.classList.contains('warning') && 'warn')\n\t\t\t\t},\n\t\t\t\trenderHTML: attributes => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'data-callout': attributes.type,\n\t\t\t\t\t\tclass: `callout-${attributes.type}`,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttag: 'div.callout',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'p.callout',\n\t\t\t\tpriority: 1001,\n\t\t\t},\n\t\t]\n\t},\n\n\trenderHTML({ node, HTMLAttributes }) {\n\t\tconst { class: classy } = this.options.HTMLAttributes\n\n\t\tconst attributes = {\n\t\t\t...this.options.HTMLAttributes,\n\t\t\t'data-callout': node.attrs.type,\n\t\t\tclass: `${classy} ${classy}-${node.attrs.type}`,\n\t\t}\n\n\t\treturn ['div', mergeAttributes(attributes, HTMLAttributes), 0]\n\t},\n\n\ttoMarkdown: (state, node) => {\n\t\tstate.write('::: ' + (node.attrs.type || 'info') + '\\n')\n\t\tstate.renderContent(node)\n\t\tstate.ensureNewLine()\n\t\tstate.write(':::')\n\t\tstate.closeBlock(node)\n\t},\n\n\taddNodeView() {\n\t\treturn VueNodeViewRenderer(Callout)\n\t},\n\n\taddCommands() {\n\t\treturn {\n\t\t\tsetCallout: attributes => ({ commands }) => {\n\t\t\t\treturn commands.wrapIn(this.name, attributes)\n\t\t\t},\n\t\t\ttoggleCallout: attributes => ({ commands, state }) => {\n\t\t\t\tif (!isNodeActive(state, this.name)) {\n\t\t\t\t\treturn commands.setCallout(attributes)\n\t\t\t\t}\n\n\t\t\t\tif (!isNodeActive(state, this.name, attributes)) {\n\t\t\t\t\treturn commands.updateAttributes(this.name, attributes)\n\t\t\t\t}\n\n\t\t\t\treturn commands.unsetCallout()\n\t\t\t},\n\t\t\tunsetCallout: () => ({ commands }) => {\n\t\t\t\treturn commands.lift(this.name)\n\t\t\t},\n\t\t}\n\t},\n})\n","/*\n * @copyright Copyright (c) 2020 Azul \n *\n * @author Azul \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateUrl } from '@nextcloud/router'\nimport markdownit from './../markdownit/index.js'\n\nconst absolutePath = function(base, rel) {\n\tif (!rel) {\n\t\treturn base\n\t}\n\tif (rel[0] === '/') {\n\t\treturn rel\n\t}\n\tbase = base.split('/')\n\trel = rel.split('/')\n\twhile (rel[0] === '..' || rel[0] === '.') {\n\t\tif (rel[0] === '..') {\n\t\t\tbase.pop()\n\t\t}\n\t\trel.shift()\n\t}\n\treturn base.concat(rel).join('/')\n}\n\nconst basedir = function(file) {\n\tconst end = file.lastIndexOf('/')\n\treturn (end > 0)\n\t\t? file.slice(0, end)\n\t\t: file.slice(0, end + 1) // basedir('/toplevel') should return '/'\n}\n\nconst domHref = function(node) {\n\tconst ref = node.attrs.href\n\tif (!ref) {\n\t\treturn ref\n\t}\n\tif (ref.match(/^[a-zA-Z]*:/)) {\n\t\treturn ref\n\t}\n\tconst match = ref.match(/^([^?]*)\\?fileId=(\\d+)/)\n\tif (match) {\n\t\tconst [, relPath, id] = match\n\t\tconst currentDir = basedir(OCA.Viewer.file)\n\t\tconst dir = absolutePath(currentDir, basedir(relPath))\n\t\treturn generateUrl(`/apps/files/?dir=${dir}&openfile=${id}#relPath=${relPath}`)\n\t}\n}\n\nconst parseHref = function(dom) {\n\tconst ref = dom.getAttribute('href')\n\tif (!ref) {\n\t\treturn ref\n\t}\n\tconst match = ref.match(/\\?dir=([^&]*)&openfile=([^&]*)#relPath=([^&]*)/)\n\tif (match) {\n\t\tconst [, , id, path] = match\n\t\treturn `${path}?fileId=${id}`\n\t}\n\treturn ref\n}\n\nconst openLink = function(event, _attrs) {\n\tconst linkElement = event.target.closest('a')\n\tconst htmlHref = linkElement.href\n\tconst query = OC.parseQueryString(htmlHref)\n\tconst fragment = OC.parseQueryString(htmlHref.split('#').pop())\n\tif (query.dir && fragment.relPath) {\n\t\tconst filename = fragment.relPath.split('/').pop()\n\t\tconst path = `${query.dir}/${filename}`\n\t\tdocument.title = `${filename} - ${OC.theme.title}`\n\t\tif (window.location.pathname.match(/apps\\/files\\/$/)) {\n\t\t\t// The files app still lacks a popState handler\n\t\t\t// to allow for using the back button\n\t\t\t// OC.Util.History.pushState('', htmlHref)\n\t\t}\n\t\tOCA.Viewer.open({ path })\n\t\treturn\n\t}\n\tif (query.fileId) {\n\t\t// open the direct file link\n\t\twindow.open(generateUrl(`/f/${query.fileId}`))\n\t\treturn\n\t}\n\tif (!markdownit.validateLink(htmlHref)) {\n\t\tconsole.error('Invalid link', htmlHref)\n\t\treturn false\n\t}\n\twindow.open(htmlHref)\n\treturn true\n}\n\nexport {\n\tdomHref,\n\tparseHref,\n\topenLink,\n}\n","import { Plugin, PluginKey } from 'prosemirror-state'\n\nconst clickHandler = ({ editor, type, onClick }) => {\n\treturn new Plugin({\n\t\tprops: {\n\t\t\tkey: new PluginKey('textLink'),\n\t\t\thandleClick: (view, pos, event) => {\n\t\t\t\tconst $clicked = view.state.doc.resolve(pos)\n\t\t\t\tconst link = $clicked.marks().find(m => m.type.name === type.name)\n\t\t\t\tif (!link) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif (!link.attrs.href) {\n\t\t\t\t\tconsole.warn('Could not determine href of link.')\n\t\t\t\t\tconsole.debug(link)\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// We use custom onClick handler only for left clicks\n\t\t\t\tif (event.button === 0 && !event.ctrlKey) {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\treturn onClick?.(event, link.attrs)\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t})\n}\n\nexport { clickHandler }\n","/*\n * @copyright Copyright (c) 2019 Azul \n *\n * @author Azul \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TipTapLink from '@tiptap/extension-link'\nimport { domHref, parseHref, openLink } from './../helpers/links.js'\nimport { clickHandler } from '../plugins/link.js'\n\nconst Link = TipTapLink.extend({\n\n\taddOptions() {\n\t\treturn {\n\t\t\t...this.parent?.(),\n\t\t\tonClick: openLink,\n\t\t}\n\t},\n\n\taddAttributes() {\n\t\treturn {\n\t\t\thref: {\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t}\n\t},\n\n\tinclusive: false,\n\n\tparseHTML: [\n\t\t{\n\t\t\ttag: 'a[href]',\n\t\t\tgetAttrs: dom => ({\n\t\t\t\thref: parseHref(dom),\n\t\t\t\ttitle: dom.getAttribute('title'),\n\t\t\t}),\n\t\t},\n\t],\n\n\trenderHTML: ({ mark, HTMLAttributes }) => ['a', {\n\t\t...mark.attrs,\n\t\thref: domHref(mark),\n\t\trel: 'noopener noreferrer nofollow',\n\t}, 0],\n\n\taddProseMirrorPlugins() {\n\t\tconst plugins = this.parent()\n\t\t\t// remove original handle click\n\t\t\t.filter(({ key }) => {\n\t\t\t\treturn !key.startsWith('handleClickLink')\n\t\t\t})\n\n\t\tif (!this.options.openOnClick) {\n\t\t\treturn plugins\n\t\t}\n\n\t\t// add custom click handler\n\t\treturn [\n\t\t\t...plugins,\n\t\t\tclickHandler({\n\t\t\t\teditor: this.editor,\n\t\t\t\ttype: this.type,\n\t\t\t\tonClick: this.options.onClick,\n\t\t\t}),\n\t\t]\n\t},\n})\n\nexport default Link\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TipTapStrike from '@tiptap/extension-strike'\n\nexport default TipTapStrike.extend({\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttag: 's',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'del',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'strike',\n\t\t\t},\n\t\t\t{\n\t\t\t\tstyle: 'text-decoration',\n\t\t\t\tgetAttrs: value => value === 'line-through',\n\t\t\t},\n\t\t]\n\t},\n\n\trenderHTML() {\n\t\treturn ['s', 0]\n\t},\n\n\t/** Strike is currently unsupported by prosemirror-markdown */\n\ttoMarkdown: {\n\t\topen: '~~',\n\t\tclose: '~~',\n\t\tmixable: true,\n\t\texpelEnclosingWhitespace: true,\n\t},\n})\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { markInputRule, markPasteRule } from '@tiptap/core'\nimport { Bold, starInputRegex, starPasteRegex } from '@tiptap/extension-bold'\n\nconst Strong = Bold.extend({\n\tname: 'strong',\n\n\taddInputRules() {\n\t\treturn [\n\t\t\tmarkInputRule({\n\t\t\t\tfind: starInputRegex,\n\t\t\t\ttype: this.type,\n\t\t\t}),\n\t\t]\n\t},\n\n\taddPasteRules() {\n\t\treturn [\n\t\t\tmarkPasteRule({\n\t\t\t\tfind: starPasteRegex,\n\t\t\t\ttype: this.type,\n\t\t\t}),\n\t\t]\n\t},\n})\n\nexport default Strong\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TipTapUnderline from '@tiptap/extension-underline'\nimport { markInputRule, markPasteRule } from '@tiptap/core'\nimport { underscoreInputRegex, underscorePasteRegex } from '@tiptap/extension-bold'\n\nconst Underline = TipTapUnderline.extend({\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttag: 'u',\n\t\t\t},\n\t\t\t{\n\t\t\t\tstyle: 'text-decoration',\n\t\t\t\tgetAttrs: value => value === 'underline',\n\t\t\t},\n\t\t]\n\t},\n\n\trenderHTML() {\n\t\treturn ['u', 0]\n\t},\n\n\ttoMarkdown: {\n\t\topen: '__',\n\t\tclose: '__',\n\t\tmixable: true,\n\t\texpelEnclosingWhitespace: true,\n\t},\n\n\taddInputRules() {\n\t\treturn [\n\t\t\tmarkInputRule({\n\t\t\t\tfind: underscoreInputRegex,\n\t\t\t\ttype: this.type,\n\t\t\t}),\n\t\t]\n\t},\n\n\taddPasteRules() {\n\t\treturn [\n\t\t\tmarkPasteRule({\n\t\t\t\tfind: underscorePasteRegex,\n\t\t\t\ttype: this.type,\n\t\t\t}),\n\t\t]\n\t},\n\n})\n\nexport default Underline\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport TipTapItalic from '@tiptap/extension-italic'\nimport Link from './Link.js'\nimport Strike from './Strike.js'\nimport Strong from './Strong.js'\nimport Underline from './Underline.js'\n\nconst Italic = TipTapItalic.extend({\n\tname: 'em',\n})\n\nexport {\n\tStrong,\n\tItalic,\n\tStrike,\n\tLink,\n\tUnderline,\n}\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n*/\n\nimport { Extension } from '@tiptap/core'\n\n/* eslint-disable import/no-named-as-default */\nimport Document from '@tiptap/extension-document'\nimport TipTapParagraph from '@tiptap/extension-paragraph'\nimport Text from '@tiptap/extension-text'\nimport Blockquote from '@tiptap/extension-blockquote'\nimport OrderedList from '@tiptap/extension-ordered-list'\nimport ListItem from '@tiptap/extension-list-item'\nimport Code from '@tiptap/extension-code'\nimport CodeBlock from '@tiptap/extension-code-block'\nimport HorizontalRule from '@tiptap/extension-horizontal-rule'\nimport Dropcursor from '@tiptap/extension-dropcursor'\nimport HardBreak from './HardBreak.js'\nimport KeepSyntax from './KeepSyntax.js'\nimport Table from './../nodes/Table.js'\nimport Image from './../nodes/Image.js'\nimport Heading from './../nodes/Heading.js'\nimport BulletList from './../nodes/BulletList.js'\nimport TaskList from './../nodes/TaskList.js'\nimport TaskItem from './../nodes/TaskItem.js'\nimport Callout from './../nodes/Callouts.js'\n/* eslint-enable import/no-named-as-default */\n\nimport { Strong, Italic, Strike, Link, Underline } from './../marks/index.js'\n\nconst Paragraph = TipTapParagraph.extend({\n\tparseHTML() {\n\t\treturn this.parent().map(rule => Object.assign(rule, { preserveWhitespace: 'full' }))\n\t},\n})\n\nexport default Extension.create({\n\tname: 'RichText',\n\n\taddOptions() {\n\t\treturn {\n\t\t\tlink: {},\n\t\t\textensions: [],\n\t\t}\n\t},\n\n\taddExtensions() {\n\t\tconst defaultExtensions = [\n\t\t\tDocument,\n\t\t\tText,\n\t\t\tParagraph,\n\t\t\tHardBreak,\n\t\t\tHeading,\n\t\t\tStrong,\n\t\t\tItalic,\n\t\t\tStrike,\n\t\t\tBlockquote,\n\t\t\tCode,\n\t\t\tCodeBlock,\n\t\t\tBulletList,\n\t\t\tHorizontalRule,\n\t\t\tOrderedList,\n\t\t\tListItem,\n\t\t\tTable,\n\t\t\tTaskList,\n\t\t\tTaskItem,\n\t\t\tCallout,\n\t\t\tUnderline,\n\t\t\tImage.configure({\n\t\t\t\tinline: true,\n\t\t\t}),\n\t\t\tDropcursor,\n\t\t\tKeepSyntax,\n\t\t]\n\t\tif (this.options.link !== false) {\n\t\t\tdefaultExtensions.push(Link.configure({\n\t\t\t\t...this.options.link,\n\t\t\t\topenOnClick: true,\n\t\t\t}))\n\t\t}\n\t\tconst additionalExtensionNames = this.options.extensions.map(e => e.name)\n\t\treturn [\n\t\t\t...this.options.extensions,\n\t\t\t...defaultExtensions.filter(e => !additionalExtensionNames.includes(e.name)),\n\t\t]\n\t},\n\n})\n","/*\n * @copyright Copyright (c) 2021 Jonas \n *\n * @author Jonas \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Node } from '@tiptap/core'\nimport { PluginKey } from 'prosemirror-state'\n// eslint-disable-next-line import/no-named-as-default\nimport Suggestion from '@tiptap/suggestion'\n\nexport const EmojiPluginKey = new PluginKey('emoji')\n\nconst Emoji = Node.create({\n\tname: 'emoji',\n\n\taddOptions() {\n\t\treturn {\n\t\t\tHTMLAttributes: {},\n\t\t\tsuggestion: {\n\t\t\t\tchar: ':',\n\t\t\t\tpluginKey: EmojiPluginKey,\n\t\t\t\tcommand: ({ editor, range, props }) => {\n\t\t\t\t\teditor\n\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t.insertContentAt(range, props.native + ' ')\n\t\t\t\t\t\t.run()\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t},\n\n\tcontent: 'text*',\n\n\taddCommands() {\n\t\treturn {\n\t\t\temoji: (emojiObject) => ({ commands }) => {\n\t\t\t\treturn commands.insertContent(emojiObject.native + ' ')\n\t\t\t},\n\t\t}\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tSuggestion({\n\t\t\t\teditor: this.editor,\n\t\t\t\t...this.options.suggestion,\n\t\t\t}),\n\t\t]\n\t},\n})\n\nexport default Emoji\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Extension } from '@tiptap/core'\nimport { Plugin } from 'prosemirror-state'\n\nconst Keymap = Extension.create({\n\n\tname: 'customkeymap',\n\n\taddKeyboardShortcuts() {\n\t\treturn this.options\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tprops: {\n\t\t\t\t\thandleKeyDown(view, event) {\n\t\t\t\t\t\tconst key = event.key || event.keyCode\n\t\t\t\t\t\tif ((event.ctrlKey || event.metaKey) && !event.shiftKey && (key === 'f' || key === 70)) {\n\t\t\t\t\t\t\t// We need to stop propagation and dispatch the event on the window\n\t\t\t\t\t\t\t// in order to force triggering the browser native search in the text editor\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\twindow.dispatchEvent(event)\n\t\t\t\t\t\t\treturn 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]\n\t},\n\n})\n\nexport default Keymap\n","/*\n * @copyright Copyright (c) 2020 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport class Span {\n\n\tconstructor(from, to, author) {\n\t\tthis.from = from\n\t\tthis.to = to\n\t\tthis.author = author\n\t}\n\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Span } from './models.js'\n\n/*\n * This code is heavily inspired by the change tracking example of prosemirror\n * https://github.com/ProseMirror/website/blob/master/example/track/index.js\n */\n\n/**\n * @param {Array} map List of document ranges and corresponding authors\n * @param {object} transform ProseMirror transform object\n * @param {Array} clientIDs List of client IDs\n */\nfunction updateBlameMap(map, transform, clientIDs) {\n\tconst result = []\n\tconst mapping = transform.mapping\n\tfor (let i = 0; i < map.length; i++) {\n\t\tconst span = map[i]\n\t\tconst from = mapping.map(span.from, 1)\n\t\tconst to = mapping.map(span.to, -1)\n\t\tif (from < to) result.push(new Span(from, to, span.author))\n\t}\n\n\tfor (let i = 0; i < mapping.maps.length; i++) {\n\t\tconst map = mapping.maps[i]; const after = mapping.slice(i + 1)\n\t\tmap.forEach((_s, _e, start, end) => {\n\t\t\tinsertIntoBlameMap(result, after.map(start, 1), after.map(end, -1), clientIDs[i])\n\t\t})\n\t}\n\n\treturn result\n}\n\n/**\n * @param {Array} map List of document ranges and corresponding authors\n * @param {number} from The lower bound of the selection's main range\n * @param {number} to The upper bound of the selection's main range\n * @param {number} author ClientID of the author\n */\nfunction insertIntoBlameMap(map, from, to, author) {\n\tif (from >= to) {\n\t\treturn\n\t}\n\tlet pos = 0\n\tlet next\n\tfor (; pos < map.length; pos++) {\n\t\tnext = map[pos]\n\t\tif (next.author === author) {\n\t\t\tif (next.to >= from) break\n\t\t} else if (next.to > from) { // Different author, not before\n\t\t\tif (next.from < from) { // Sticks out to the left (loop below will handle right side)\n\t\t\t\tconst left = new Span(next.from, from, next.author)\n\t\t\t\tif (next.to > to) map.splice(pos++, 0, left)\n\t\t\t\telse map[pos++] = left\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// eslint-ignore\n\twhile ((next = map[pos])) {\n\t\tif (next.author === author) {\n\t\t\tif (next.from > to) break\n\t\t\tfrom = Math.min(from, next.from)\n\t\t\tto = Math.max(to, next.to)\n\t\t\tmap.splice(pos, 1)\n\t\t} else {\n\t\t\tif (next.from >= to) break\n\t\t\tif (next.to > to) {\n\t\t\t\tmap[pos] = new Span(to, next.to, next.author)\n\t\t\t\tbreak\n\t\t\t} else {\n\t\t\t\tmap.splice(pos, 1)\n\t\t\t}\n\t\t}\n\t}\n\n\tmap.splice(pos, 0, new Span(from, to, author))\n}\n\nexport default class TrackState {\n\n\tconstructor(blameMap) {\n\t\t// The blame map is a data structure that lists a sequence of\n\t\t// document ranges, along with the author that inserted them. This\n\t\t// can be used to, for example, highlight the part of the document\n\t\t// that was inserted by a author.\n\t\tthis.blameMap = blameMap\n\t}\n\n\t// Apply a transform to this state\n\tapplyTransform(transform) {\n\t\tconst clientID = transform.getMeta('clientID') ?? transform.steps.map(item => 'self')\n\t\tconst newBlame = updateBlameMap(this.blameMap, transform, clientID)\n\t\t// Create a new state—since these are part of the editor state, a\n\t\t// persistent data structure, they must not be mutated.\n\t\treturn new TrackState(newBlame)\n\t}\n\n}\n","/*\n * @copyright Copyright (c) 2020 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Extension } from '@tiptap/core'\nimport { Plugin } from 'prosemirror-state'\nimport { Decoration, DecorationSet } from 'prosemirror-view'\nimport TrackState from './tracking/TrackState.js'\nimport { Span } from './tracking/models.js'\n\nconst UserColor = Extension.create({\n\n\tname: 'users',\n\n\taddOptions() {\n\t\treturn {\n\t\t\tclientID: 0,\n\t\t\tcolor: (clientID) => {\n\t\t\t\treturn '#' + Math.floor((Math.abs(Math.sin(clientID) * 16777215)) % 16777215).toString(16) + 'aa'\n\t\t\t},\n\t\t\tname: (clientID) => {\n\t\t\t\treturn 'Unknown user ' + clientID\n\t\t\t},\n\t\t}\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tclientID: this.options.clientID,\n\t\t\t\tcolor: this.options.color,\n\t\t\t\tname: this.options.name,\n\t\t\t\tstate: {\n\t\t\t\t\tinit(_, instance) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttracked: new TrackState([new Span(0, instance.doc.content.size, null)], [], [], []),\n\t\t\t\t\t\t\tdeco: DecorationSet.empty,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tapply(tr, instance, oldState, state) {\n\t\t\t\t\t\tlet { tracked, decos } = instance\n\t\t\t\t\t\tlet tState = this.getState(oldState).tracked\n\t\t\t\t\t\tif (tr.docChanged) {\n\t\t\t\t\t\t\tif (!tr.getMeta('clientID')) {\n\t\t\t\t\t\t\t\t// we have an undefined client id for own transactions\n\t\t\t\t\t\t\t\ttr.setMeta('clientID', tr.steps.map(i => this.spec.clientID))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttracked = tracked.applyTransform(tr)\n\t\t\t\t\t\t\ttState = tracked\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdecos = tState.blameMap\n\t\t\t\t\t\t\t.map(span => {\n\t\t\t\t\t\t\t\tconst clientID = span.author\n\t\t\t\t\t\t\t\treturn Decoration.inline(span.from, span.to, {\n\t\t\t\t\t\t\t\t\tclass: 'author-annotation',\n\t\t\t\t\t\t\t\t\tstyle: 'background-color: ' + this.spec.color(clientID) + '66;',\n\t\t\t\t\t\t\t\t\ttitle: this.spec.name(clientID),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}).filter(dec => dec !== null)\n\t\t\t\t\t\treturn { tracked, deco: DecorationSet.create(state.doc, decos) }\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tprops: {\n\t\t\t\t\tdecorations(state) {\n\t\t\t\t\t\treturn this.getState(state).deco\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t},\n\n})\n\nexport default UserColor\n","import { Extension } from '@tiptap/core'\nimport { Step } from 'prosemirror-transform'\nimport {\n\tcollab,\n\tsendableSteps,\n\tgetVersion,\n\treceiveTransaction,\n} from 'prosemirror-collab'\n\nlet timeout\nconst debounce = (fn, delay) => (...args) => {\n\tif (timeout) {\n\t\tclearTimeout(timeout)\n\t}\n\ttimeout = setTimeout(() => {\n\t\tfn(...args)\n\t\ttimeout = null\n\t}, delay)\n}\n\nconst Collaboration = Extension.create({\n\tname: 'collaboration',\n\tonCreate() {\n\t\tthis.getSendableSteps = debounce(state => {\n\t\t\tconst sendable = sendableSteps(state)\n\n\t\t\tif (sendable && this.editor.options.editable) {\n\t\t\t\tthis.options.onSendable({\n\t\t\t\t\teditor: this.editor,\n\t\t\t\t\tsendable: {\n\t\t\t\t\t\tversion: sendable.version,\n\t\t\t\t\t\tsteps: sendable.steps.map(step => step.toJSON()),\n\t\t\t\t\t\tclientID: sendable.clientID,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t}, this.options.debounce)\n\n\t\tthis.editor.on('transaction', ({ editor }) => {\n\t\t\tthis.getSendableSteps(editor.state)\n\t\t})\n\t},\n\n\taddOptions() {\n\t\treturn {\n\t\t\tversion: 0,\n\t\t\tclientID: Math.floor(Math.random() * 0xFFFFFFFF),\n\t\t\tdebounce: 250,\n\t\t\tonSendable: () => { },\n\t\t\tupdate: ({ steps, version }) => {\n\t\t\t\tconst { state, view, schema } = this.editor\n\n\t\t\t\tif (getVersion(state) > version) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tview.dispatch(receiveTransaction(\n\t\t\t\t\tstate,\n\t\t\t\t\tsteps.map(item => Step.fromJSON(schema, item.step)),\n\t\t\t\t\tsteps.map(item => item.clientID),\n\t\t\t\t))\n\t\t\t},\n\t\t}\n\t},\n\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tcollab({\n\t\t\t\tversion: this.options.version,\n\t\t\t\tclientID: this.options.clientID,\n\t\t\t}),\n\t\t]\n\t},\n\n})\n\nexport default Collaboration\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { Node } from '@tiptap/core'\n\nexport default Node.create({\n\tname: 'doc',\n\tcontent: 'block',\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\tTab: () => this.editor.commands.insertContent('\\t'),\n\t\t}\n\t},\n\n})\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n*/\n\nimport { Extension } from '@tiptap/core'\n\n/* eslint-disable import/no-named-as-default */\nimport CodeBlockLowlight from '@tiptap/extension-code-block-lowlight'\nimport Text from '@tiptap/extension-text'\n/* eslint-enable import/no-named-as-default */\n\nimport lowlight from 'lowlight/lib/core'\n\nimport PlainTextDocument from './../nodes/PlainTextDocument.js'\n\nexport default Extension.create({\n\tname: 'PlainText',\n\n\taddExtensions() {\n\t\treturn [\n\t\t\tPlainTextDocument,\n\t\t\tText,\n\t\t\tCodeBlockLowlight.configure({ lowlight }),\n\t\t]\n\t},\n\n})\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Callback that should be executed after the document is ready\n *\n * @param callback\n */\nimport { generateUrl } from '@nextcloud/router'\n\nconst documentReady = function(callback) {\n\tconst fn = () => setTimeout(callback, 0)\n\tif (document.attachEvent ? document.readyState === 'complete' : document.readyState !== 'loading') {\n\t\tfn()\n\t} else {\n\t\tdocument.addEventListener('DOMContentLoaded', callback)\n\t}\n}\n\nconst _baseUrl = generateUrl('/apps/text')\nconst endpointUrl = (endpoint, isPublic = false) => {\n\tif (isPublic) {\n\t\treturn `${_baseUrl}/public/${endpoint}`\n\t}\n\treturn `${_baseUrl}/${endpoint}`\n}\n\nexport {\n\tdocumentReady,\n\tendpointUrl,\n}\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst mimetypesImages = [\n\t'image/png',\n\t'image/jpeg',\n\t'image/jpg',\n\t'image/gif',\n\t'image/x-xbitmap',\n\t'image/x-ms-bmp',\n\t'image/bmp',\n\t'image/svg+xml',\n\t'image/webp',\n]\n\nconst openMimetypesMarkdown = [\n\t'text/markdown',\n]\n\nconst openMimetypesPlainText = [\n\t'text/plain',\n\t'application/cmd',\n\t'application/x-empty',\n\t'application/x-msdos-program',\n\t'application/javascript',\n\t'application/json',\n\t'application/x-perl',\n\t'application/x-php',\n\t'application/x-tex',\n\t'application/xml',\n\t'application/yaml',\n\t'text/css',\n\t'text/html',\n\t'text/org',\n\t'text/x-c',\n\t'text/x-c++src',\n\t'text/x-h',\n\t'text/x-java-source',\n\t'text/x-ldif',\n\t'text/x-python',\n\t'text/x-shellscript',\n]\n\nif (!window.oc_appswebroots?.richdocuments && !window.oc_appswebroots?.onlyoffice) {\n\topenMimetypesPlainText.push('text/csv')\n}\n\nconst openMimetypes = [...openMimetypesMarkdown, ...openMimetypesPlainText]\n\nexport {\n\tmimetypesImages,\n\topenMimetypes,\n\topenMimetypesMarkdown,\n\topenMimetypesPlainText,\n}\n","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport container from 'markdown-it-container'\n\nexport const typesAvailable = ['info', 'warn', 'error', 'success']\n\nconst buildRender = type => (tokens, idx, options, env, slf) => {\n\tconst tag = tokens[idx]\n\n\t// add attributes to the opening tag\n\tif (tag.nesting === 1) {\n\t\ttag.attrSet('data-callout', type)\n\t\ttag.attrJoin('class', `callout callout-${type}`)\n\t}\n\n\treturn slf.renderToken(tokens, idx, options, env, slf)\n}\n\n/**\n * @param {object} md Markdown object\n */\nexport default (md) => {\n\t// create a custom container to each callout type\n\ttypesAvailable.forEach(type => {\n\t\tmd.use(container, type, {\n\t\t\trender: buildRender(type),\n\t\t})\n\t})\n\n\treturn md\n}\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {object} md Markdown object\n */\nexport default function splitMixedLists(md) {\n\tmd.core.ruler.after('task-lists', 'split-mixed-task-lists', state => {\n\t\tconst tokens = state.tokens\n\n\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\tconst token = tokens[i]\n\t\t\tif (!includesClass(token, 'contains-task-list')) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst firstChild = tokens[i + 1]\n\t\t\tconst startsWithTask = includesClass(firstChild, 'task-list-item')\n\t\t\tif (!startsWithTask) {\n\t\t\t\ttoken.attrs.splice(token.attrIndex('class'))\n\t\t\t\tif (token.attrs.length === 0) {\n\t\t\t\t\ttoken.attrs = null\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst splitBefore = findChildOf(tokens, i, child => {\n\t\t\t\treturn child.nesting === 1\n\t\t\t\t\t&& includesClass(child, 'task-list-item') !== startsWithTask\n\t\t\t})\n\t\t\tif (splitBefore > i) {\n\t\t\t\tsplitListAt(tokens, splitBefore, state.Token)\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t})\n}\n\n/**\n * @param {object} token MarkdownIT token\n * @param {string} cls Class name to query\n */\nfunction includesClass(token, cls) {\n\treturn token.attrGet('class')?.split(' ').includes(cls) || false\n}\n\n/**\n * @param {Array} tokens - all the tokens in the doc\n * @param {number} index - index into the tokens array where to split\n * @param {object} TokenConstructor - constructor provided by Markdown-it\n */\nfunction splitListAt(tokens, index, TokenConstructor) {\n\tconst closeList = new TokenConstructor('bullet_list_close', 'ul', -1)\n\tcloseList.block = true\n\tconst openList = new TokenConstructor('bullet_list_open', 'ul', 1)\n\topenList.attrSet('class', 'contains-task-list')\n\topenList.block = true\n\ttokens.splice(index, 0, closeList, openList)\n}\n\n/**\n * @param {Array} tokens - all the tokens in the doc\n * @param {number} parentIndex - index of the parent in the tokens array\n * @param {Function} predicate - test function returned child needs to pass\n */\nfunction findChildOf(tokens, parentIndex, predicate) {\n\tconst searchLevel = tokens[parentIndex].level + 1\n\tfor (let i = parentIndex + 1; i < tokens.length; i++) {\n\t\tconst token = tokens[i]\n\t\tif (token.level < searchLevel) {\n\t\t\treturn -1\n\t\t}\n\t\tif ((token.level === searchLevel) && predicate(tokens[i])) {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n","import MarkdownIt from 'markdown-it'\nimport taskLists from '@hedgedoc/markdown-it-task-lists'\nimport underline from './underline.js'\nimport splitMixedLists from './splitMixedLists.js'\nimport callouts from './callouts.js'\nimport keepSyntax from './keepSyntax.js'\n\nconst markdownit = MarkdownIt('commonmark', { html: false, breaks: false })\n\t.enable('strikethrough')\n\t.enable('table')\n\t.use(taskLists, { enable: true, labelAfter: true })\n\t.use(splitMixedLists)\n\t.use(underline)\n\t.use(callouts)\n\t.use(keepSyntax)\n\nexport default markdownit\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {object} md Markdown object\n */\nexport default function markdownUnderlines(md) {\n\tmd.inline.ruler2.after('emphasis', 'underline', state => {\n\t\tconst tokens = state.tokens\n\n\t\tfor (let i = tokens.length - 1; i > 0; i--) {\n\t\t\tconst token = tokens[i]\n\n\t\t\tif (token.markup === '__') {\n\t\t\t\tif (token.type === 'strong_open') {\n\t\t\t\t\ttokens[i].tag = 'u'\n\t\t\t\t\ttokens[i].type = 'u_open'\n\t\t\t\t}\n\t\t\t\tif (token.type === 'strong_close') {\n\t\t\t\t\ttokens[i].tag = 'u'\n\t\t\t\t\ttokens[i].type = 'u_close'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t})\n}\n","/**\n * @copyright Copyright (c) 2022\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Add a mark for keeping special markdown syntax unescaped\n *\n * @param {object} md Markdown object\n */\nexport default function keepSyntax(md) {\n\tconst escaped = /((?<=\\n)[#\\-*+>]|[`*\\\\~[\\]]+)/\n\n\tmd.core.ruler.before('text_join', 'tag-markdown-syntax', state => {\n\t\tconst open = new state.Token('keep_md_open', 'span', 1)\n\t\topen.attrSet('class', 'keep-md')\n\t\tconst close = new state.Token('keep_md_close', 'span', -1)\n\n\t\tfor (let i = 0; i < state.tokens.length; i++) {\n\t\t\tconst block = state.tokens[i]\n\t\t\tif (block.type !== 'inline') continue\n\n\t\t\tfor (let j = 0; j < block.children.length; j++) {\n\t\t\t\tconst token = block.children[j]\n\t\t\t\tif (token.type === 'text') {\n\t\t\t\t\tconst match = escaped.exec(token.content)\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst contentNext = match.index + match[0].length\n\t\t\t\t\t\tblock.children.splice(j, 1,\n\t\t\t\t\t\t\tObject.assign({}, token, { content: token.content.slice(0, match.index) }),\n\t\t\t\t\t\t\tObject.assign({}, open),\n\t\t\t\t\t\t\tObject.assign({}, token, { content: token.content.slice(match.index, contentNext) }),\n\t\t\t\t\t\t\tObject.assign({}, close),\n\t\t\t\t\t\t\tObject.assign({}, token, { content: token.content.slice(contentNext) })\n\t\t\t\t\t\t)\n\t\t\t\t\t\tj += 3\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t})\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport store from '../store.js'\n\n/**\n * This mixin is required since we cannot be sure that the root Vue instance has\n * registered the global store. This might be the case if the text app components\n * are mounted in other apps e.g. viewer\n */\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\t$store: store,\n\t\t}\n\t},\n\tbeforeMount() {\n\t\tif (typeof this.$store === 'undefined') {\n\t\t\tthis.$store = store\n\t\t}\n\t},\n}\n","import { mergeAttributes } from '@tiptap/core'\nimport { Table } from '@tiptap/extension-table'\nimport TableCaption from './TableCaption.js'\nimport TableCell from './TableCell.js'\nimport TableHeader from './TableHeader.js'\nimport TableHeadRow from './TableHeadRow.js'\nimport TableRow from './TableRow.js'\nimport { TextSelection } from 'prosemirror-state'\nimport { isInTable, moveCellForward, selectionCell } from '@_ueberdosis/prosemirror-tables'\n\n/**\n *\n * @param {object} schema - schema of the editor\n * @param {number} rowsCount - number of rows in the table\n * @param {number} colsCount - number of cols in the table\n * @param {object} cellContent - currently unused\n */\nfunction createTable(schema, rowsCount, colsCount, cellContent) {\n\tconst headerCells = []\n\tconst cells = []\n\tfor (let index = 0; index < colsCount; index += 1) {\n\t\tconst cell = schema.nodes.tableCell.createAndFill()\n\t\tif (cell) {\n\t\t\tcells.push(cell)\n\t\t}\n\t\tconst headerCell = schema.nodes.tableHeader.createAndFill()\n\t\tif (headerCell) {\n\t\t\theaderCells.push(headerCell)\n\t\t}\n\t}\n\tconst headRow = schema.nodes.tableHeadRow.createChecked(null, headerCells)\n\tconst rows = []\n\tfor (let index = 1; index < rowsCount; index += 1) {\n\t\trows.push(schema.nodes.tableRow.createChecked(null, cells))\n\t}\n\treturn schema.nodes.table.createChecked(null, [headRow, ...rows])\n}\n\n/**\n *\n * @param {object} $cell - resolved position of the current cell\n */\nfunction findSameCellInNextRow($cell) {\n\tif ($cell.index(-1) === $cell.node(-1).childCount - 1) {\n\t\treturn null\n\t}\n\tlet cellStart = $cell.after()\n\tconst table = $cell.node(-1)\n\tfor (let row = $cell.indexAfter(-1); row < table.childCount; row++) {\n\t\tconst rowNode = table.child(row)\n\t\tif (rowNode.childCount >= $cell.index()) {\n\t\t\tfor (let cell = 0; cell < $cell.index(); cell++) {\n\t\t\t\tconst cellNode = rowNode.child(cell)\n\t\t\t\tcellStart += cellNode.nodeSize\n\t\t\t}\n\t\t\treturn cellStart + 1\n\t\t}\n\t\tcellStart += rowNode.nodeSize\n\t}\n}\n\nexport default Table.extend({\n\tcontent: 'tableCaption? tableHeadRow tableRow*',\n\n\taddExtensions() {\n\t\treturn [\n\t\t\tTableCaption,\n\t\t\tTableCell,\n\t\t\tTableHeader,\n\t\t\tTableHeadRow,\n\t\t\tTableRow,\n\t\t]\n\t},\n\n\taddCommands() {\n\t\treturn {\n\t\t\t...this.parent(),\n\t\t\tinsertTable: () => ({ tr, dispatch, editor }) => {\n\t\t\t\tif (isInTable(tr)) return false\n\t\t\t\tconst node = createTable(editor.schema, 3, 3, true)\n\t\t\t\tif (dispatch) {\n\t\t\t\t\tconst offset = tr.selection.anchor + 1\n\t\t\t\t\ttr.replaceSelectionWith(node)\n\t\t\t\t\t\t.scrollIntoView()\n\t\t\t\t\t\t.setSelection(TextSelection.near(tr.doc.resolve(offset)))\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t\t// move to the next node after the table from the last cell\n\t\t\tleaveTable: () => ({ tr, dispatch, editor }) => {\n\t\t\t\tif (!isInTable(tr)) return false\n\t\t\t\tconst { $head, empty } = tr.selection\n\t\t\t\tif (!empty) return false\n\t\t\t\t// the selection can temporarily be inside the table but outside of cells.\n\t\t\t\tconst tableDepth = $head.depth < 3 ? 1 : $head.depth - 2\n\t\t\t\tif (dispatch) {\n\t\t\t\t\tconst $next = tr.doc.resolve($head.after(tableDepth) + 1)\n\t\t\t\t\tconst selection = TextSelection.near($next)\n\t\t\t\t\tdispatch(tr.setSelection(selection).scrollIntoView())\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t\tgoToNextRow: () => ({ tr, dispatch, editor }) => {\n\t\t\t\tif (!isInTable(tr)) return false\n\t\t\t\tconst cell = findSameCellInNextRow(selectionCell(tr))\n\t\t\t\tif (cell == null) return\n\t\t\t\tif (dispatch) {\n\t\t\t\t\tconst $cell = tr.doc.resolve(cell)\n\t\t\t\t\tconst selection = TextSelection.between($cell, moveCellForward($cell))\n\t\t\t\t\tdispatch(tr.setSelection(selection).scrollIntoView())\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t}\n\t},\n\n\trenderHTML({ HTMLAttributes }) {\n\t\treturn ['table', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0]\n\t},\n\n\ttoMarkdown(state, node) {\n\t\tstate.renderContent(node)\n\t\tstate.closeBlock(node)\n\t},\n\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\t...this.parent(),\n\t\t\tTab: () => this.editor.commands.goToNextCell() || this.editor.commands.leaveTable(),\n\t\t\tEnter: () => {\n\t\t\t\tif (this.editor.commands.goToNextRow()) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tif (!this.editor.can().addRowAfter()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\treturn this.editor\n\t\t\t\t\t.chain()\n\t\t\t\t\t.addRowAfter()\n\t\t\t\t\t.goToNextRow()\n\t\t\t\t\t.run()\n\t\t\t},\n\t\t}\n\t},\n\n})\n","import { Node } from '@tiptap/core'\n\n/*\n * Markdown tables do not include captions.\n * We still need to parse them though\n * because otherwise tiptap will try to insert their text content\n * and put it in the top row of the table.\n */\nexport default Node.create({\n\tname: 'tableCaption',\n\tcontent: 'inline*',\n\taddAttributes() {\n\t\treturn {}\n\t},\n\n\trenderHTML() {\n\t\treturn ['caption']\n\t},\n\n\ttoMarkdown(state, node) {\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{ tag: 'table caption', priority: 90 },\n\t\t]\n\t},\n\n})\n","import { TableCell } from '@tiptap/extension-table-cell'\n\nexport default TableCell.extend({\n\tcontent: 'inline*',\n\n\ttoMarkdown(state, node) {\n\t\tstate.write(' ')\n\t\tstate.renderInline(node)\n\t\tstate.write(' |')\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{ tag: 'td' },\n\t\t\t{ tag: 'th' },\n\t\t\t{ tag: 'table thead ~ tbody th', priority: 70 },\n\t\t\t{ tag: 'table thead ~ tbody td', priority: 70 },\n\t\t]\n\t},\n\n})\n","import TableRow from './TableRow.js'\n\nexport default TableRow.extend({\n\tname: 'tableHeadRow',\n\tcontent: 'tableHeader*',\n\n\ttoMarkdown(state, node) {\n\t\tstate.write('|')\n\t\tstate.renderInline(node)\n\t\tstate.ensureNewLine()\n\t\tstate.write('|')\n\t\tnode.forEach(cell => {\n\t\t\tstate.write(state.repeat('-', cell.textContent.length + 2))\n\t\t\tstate.write('|')\n\t\t})\n\t\tstate.ensureNewLine()\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{ tag: 'tr', priority: 70 },\n\t\t]\n\t},\n})\n","import { TableHeader } from '@tiptap/extension-table-header'\n\nexport default TableHeader.extend({\n\tcontent: 'inline*',\n\n\ttoMarkdown(state, node) {\n\t\tstate.write(' ')\n\t\tstate.renderInline(node)\n\t\tstate.write(' |')\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{ tag: 'table thead:empty ~ tbody :first-child th', priority: 80 },\n\t\t\t{ tag: 'table thead:empty ~ tbody :first-child td', priority: 80 },\n\t\t\t{ tag: 'table thead :first-child th', priority: 60 },\n\t\t\t{ tag: 'table thead :first-child td', priority: 60 },\n\t\t\t{ tag: 'table tbody :first-child th', priority: 60 },\n\t\t\t{ tag: 'table tbody :first-child td', priority: 60 },\n\t\t\t{ tag: 'table > :first-child > th', priority: 60 },\n\t\t\t{ tag: 'table > :first-child > td', priority: 60 },\n\t\t]\n\t},\n\n})\n","import { TableRow } from '@tiptap/extension-table-row'\n\nexport default TableRow.extend({\n\tcontent: 'tableCell*',\n\n\ttoMarkdown(state, node) {\n\t\tstate.write('|')\n\t\tstate.renderInline(node)\n\t\tstate.ensureNewLine()\n\t},\n\n\tparseHTML() {\n\t\treturn [\n\t\t\t{ tag: 'tr', priority: 80 },\n\t\t]\n\t},\n})\n","/*\n * @copyright Copyright (c) 2020 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport { getBuilder } from '@nextcloud/browser-storage'\n\nconst persistentStorage = getBuilder('text').persist().build()\n\nVue.use(Vuex)\n\nconst store = new Store({\n\tstate: {\n\t\tshowAuthorAnnotations: persistentStorage.getItem('showAuthorAnnotations') === 'true',\n\t\tcurrentSession: persistentStorage.getItem('currentSession'),\n\t},\n\tmutations: {\n\t\tSET_SHOW_AUTHOR_ANNOTATIONS(state, value) {\n\t\t\tstate.showAuthorAnnotations = value\n\t\t\tpersistentStorage.setItem('showAuthorAnnotations', '' + value)\n\t\t},\n\t\tSET_CURRENT_SESSION(state, value) {\n\t\t\tstate.currentSession = value\n\t\t\tpersistentStorage.setItem('currentSession', value)\n\t\t},\n\t},\n\tactions: {\n\t\tsetShowAuthorAnnotations({ commit }, value) {\n\t\t\tstore.commit('SET_SHOW_AUTHOR_ANNOTATIONS', value)\n\t\t},\n\t\tsetCurrentSession({ commit }, value) {\n\t\t\tstore.commit('SET_CURRENT_SESSION', value)\n\t\t},\n\t},\n})\n\nexport default store\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".text-menubar .entry-action.is-active:not(.entry-action-item),.popover .entry-action.is-active:not(.entry-action-item),.text-menubar button.entry-action__button.is-active,.popover button.entry-action__button.is-active{opacity:1;background-color:var(--color-primary-light);border-radius:50%}.text-menubar .entry-action.is-active:not(.entry-action-item) .material-design-icon>svg,.popover .entry-action.is-active:not(.entry-action-item) .material-design-icon>svg,.text-menubar button.entry-action__button.is-active .material-design-icon>svg,.popover button.entry-action__button.is-active .material-design-icon>svg{fill:var(--color-primary)}.text-menubar button.entry-action__button,.popover button.entry-action__button{height:44px;margin:0;border:0;position:relative;color:var(--color-main-text);background-color:rgba(0,0,0,0);vertical-align:top;box-shadow:none;padding:0}.text-menubar button.entry-action__button p,.popover button.entry-action__button p{padding:0}.text-menubar button.entry-action__button:is(li.entry-action-item button),.popover button.entry-action__button:is(li.entry-action-item button){padding:0 .5em 0 0}.text-menubar button.entry-action__button:not(li.entry-action-item button),.popover button.entry-action__button:not(li.entry-action-item button){width:44px}.text-menubar button.entry-action__button:hover,.text-menubar button.entry-action__button:focus,.text-menubar button.entry-action__button:active,.popover button.entry-action__button:hover,.popover button.entry-action__button:focus,.popover button.entry-action__button:active{background-color:var(--color-background-dark)}.text-menubar button.entry-action__button:hover:not(:disabled),.text-menubar button.entry-action__button:focus:not(:disabled),.text-menubar button.entry-action__button:active:not(:disabled),.popover button.entry-action__button:hover:not(:disabled),.popover button.entry-action__button:focus:not(:disabled),.popover button.entry-action__button:active:not(:disabled){box-shadow:var(--color-primary)}.text-menubar button.entry-action__button:hover,.text-menubar button.entry-action__button:focus,.popover button.entry-action__button:hover,.popover button.entry-action__button:focus{opacity:1}.text-menubar button.entry-action__button:focus-visible,.popover button.entry-action__button:focus-visible{box-shadow:var(--color-primary)}.text-menubar .entry-action.entry-action-item.is-active,.popover .entry-action.entry-action-item.is-active{background-color:var(--color-primary-light);box-shadow:inset 2px 0 var(--color-primary)}.text-menubar .button-vue svg,.popover .button-vue svg{fill:var(--color-main-text)}.text-menubar .action-item__menutoggle.action-item__menutoggle--with-icon-slot,.popover .action-item__menutoggle.action-item__menutoggle--with-icon-slot{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Menu/ActionEntry.scss\"],\"names\":[],\"mappings\":\"AAAA,0NACC,SAAA,CACA,2CAAA,CACA,iBAAA,CACA,kUACC,yBAAA,CAKD,+EACC,WAAA,CACA,QAAA,CACA,QAAA,CAEA,iBAAA,CACA,4BAAA,CACA,8BAAA,CACA,kBAAA,CACA,eAAA,CACA,SAAA,CAEA,mFACC,SAAA,CAGD,+IACC,kBAAA,CAGD,iJACC,UAAA,CAGD,mRAGC,6CAAA,CACA,6WACC,+BAAA,CAIF,sLAEC,SAAA,CAED,2GACC,+BAAA,CAaD,2GACC,2CAAA,CACA,2CAAA,CAKD,uDACC,2BAAA,CAIF,yJACC,SAAA\",\"sourcesContent\":[\"%text__is-active-item-btn {\\n\\topacity: 1;\\n\\tbackground-color: var(--color-primary-light);\\n\\tborder-radius: 50%;\\n\\t.material-design-icon > svg {\\n\\t\\tfill: var(--color-primary);\\n\\t}\\n}\\n\\n.text-menubar, .popover {\\n\\tbutton.entry-action__button {\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tborder: 0;\\n\\t\\t// opacity: 0.5;\\n\\t\\tposition: relative;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\tvertical-align: top;\\n\\t\\tbox-shadow: none;\\n\\t\\tpadding: 0;\\n\\n\\t\\tp {\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&:is(li.entry-action-item button) {\\n\\t\\t\\tpadding: 0 0.5em 0 0;\\n\\t\\t}\\n\\n\\t\\t&:not(li.entry-action-item button) {\\n\\t\\t\\twidth: 44px;\\n\\t\\t}\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t&:not(:disabled) {\\n\\t\\t\\t\\tbox-shadow: var(--color-primary);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: var(--color-primary);\\n\\t\\t}\\n\\n\\t\\t&.is-active {\\n\\t\\t\\t@extend %text__is-active-item-btn;\\n\\t\\t}\\n\\t}\\n\\n\\t.entry-action.is-active:not(.entry-action-item) {\\n\\t\\t@extend %text__is-active-item-btn;\\n\\t}\\n\\n\\t.entry-action.entry-action-item {\\n\\t\\t&.is-active {\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\t}\\n\\t}\\n\\n\\t.button-vue {\\n\\t\\tsvg {\\n\\t\\t\\tfill: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n\\n\\t.action-item__menutoggle.action-item__menutoggle--with-icon-slot {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#resolve-conflicts[data-v-4a5d4c0f]{display:flex;position:fixed;z-index:10000;bottom:0;max-width:900px;width:100vw;margin:auto;padding:20px 0}#resolve-conflicts button[data-v-4a5d4c0f]{margin:auto;box-shadow:0 0 10px var(--color-box-shadow)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/CollisionResolveDialog.vue\"],\"names\":[],\"mappings\":\"AAwCA,oCACC,YAAA,CACA,cAAA,CACA,aAAA,CACA,QAAA,CACA,eAAA,CACA,WAAA,CACA,WAAA,CACA,cAAA,CAEA,2CACC,WAAA,CACA,2CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#resolve-conflicts {\\n\\tdisplay: flex;\\n\\tposition: fixed;\\n\\tz-index: 10000;\\n\\tbottom: 0;\\n\\tmax-width: 900px;\\n\\twidth: 100vw;\\n\\tmargin: auto;\\n\\tpadding: 20px 0;\\n\\n\\tbutton {\\n\\t\\tmargin: auto;\\n\\t\\tbox-shadow: 0 0 10px var(--color-box-shadow);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal-container .text-editor[data-v-2ce1ab75]{top:0;height:calc(100vh - var(--header-height))}.text-editor[data-v-2ce1ab75]{display:block;width:100%;max-width:100%;height:100%;left:0;margin:0 auto;position:relative;background-color:var(--color-main-background)}.text-editor__wrapper[data-v-2ce1ab75]{display:flex;width:100%;height:100%;overflow:hidden;position:absolute}.text-editor__wrapper.show-color-annotations[data-v-2ce1ab75] .author-annotation{padding-top:2px;padding-bottom:2px}.text-editor__wrapper[data-v-2ce1ab75]:not(.show-color-annotations) .author-annotation,.text-editor__wrapper[data-v-2ce1ab75]:not(.show-color-annotations) .image{background-color:rgba(0,0,0,0) !important}.text-editor__wrapper .ProseMirror[data-v-2ce1ab75]{margin-top:0 !important}.text-editor__wrapper.icon-loading .text-editor__main[data-v-2ce1ab75]{opacity:.3}.text-editor__main[data-v-2ce1ab75],.editor[data-v-2ce1ab75]{background:var(--color-main-background);color:var(--color-main-text);background-clip:padding-box;border-radius:var(--border-radius);padding:0;position:relative;overflow-y:auto;overflow-x:hidden;width:100%}.document-status[data-v-2ce1ab75]{position:relative;background-color:var(--color-main-background)}.document-status .msg[data-v-2ce1ab75]{padding:12px;background-position:8px center;color:var(--color-text-maxcontrast)}.document-status .msg.icon-error[data-v-2ce1ab75]{padding-left:30px}.document-status .msg .button[data-v-2ce1ab75]{margin-left:8px}.document-status .msg.msg-locked .lock-icon[data-v-2ce1ab75]{padding:0 10px;float:left}.save-status[data-v-2ce1ab75]{display:inline-flex;padding:0;text-overflow:ellipsis;color:var(--color-text-lighter);position:relative;top:9px;min-width:85px;max-height:36px}.save-status.error[data-v-2ce1ab75]{background-color:var(--color-error);color:var(--color-main-background);border-radius:3px}.text-editor .text-editor__wrapper.has-conflicts[data-v-2ce1ab75]{height:calc(100% - 50px)}.text-editor .text-editor__wrapper.has-conflicts .text-editor__main[data-v-2ce1ab75],.text-editor .text-editor__wrapper.has-conflicts #read-only-editor[data-v-2ce1ab75]{width:50%;height:100%}.text-editor__session-list[data-v-2ce1ab75]{display:flex}.text-editor__session-list input[data-v-2ce1ab75],.text-editor__session-list div[data-v-2ce1ab75]{vertical-align:middle;margin-left:3px}.editor__content[data-v-2ce1ab75]{max-width:var(--text-editor-max-width);margin:auto;position:relative}#body-public[data-v-2ce1ab75]{height:auto}#files-public-content .text-editor[data-v-2ce1ab75]{top:0;width:100%}#files-public-content .text-editor .text-editor__main[data-v-2ce1ab75]{overflow:auto;z-index:20}#files-public-content .text-editor .has-conflicts .text-editor__main[data-v-2ce1ab75]{padding-top:0}.ie .editor__content[data-v-2ce1ab75] .ProseMirror{padding-top:50px}.menubar-placeholder[data-v-2ce1ab75]{position:fixed;position:-webkit-sticky;position:sticky;top:0;opacity:0;visibility:hidden;height:44px;padding-top:3px;padding-bottom:3px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/EditorWrapper.vue\"],\"names\":[],\"mappings\":\"AAytBA,+CACC,KAAA,CACA,yCAAA,CAGD,8BACC,aAAA,CACA,UAAA,CACA,cAAA,CACA,WAAA,CACA,MAAA,CACA,aAAA,CACA,iBAAA,CACA,6CAAA,CAGD,uCACC,YAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,iBAAA,CAEA,iFACC,eAAA,CACA,kBAAA,CAGD,kKAEC,yCAAA,CAGD,oDACC,uBAAA,CAGA,uEACC,UAAA,CAKH,6DACC,uCAAA,CACA,4BAAA,CACA,2BAAA,CACA,kCAAA,CACA,SAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CAGD,kCACC,iBAAA,CACA,6CAAA,CAEA,uCACC,YAAA,CACA,8BAAA,CACA,mCAAA,CAEA,kDACC,iBAAA,CAGD,+CACC,eAAA,CAGD,6DACC,cAAA,CACA,UAAA,CAKH,8BACC,mBAAA,CACA,SAAA,CACA,sBAAA,CACA,+BAAA,CACA,iBAAA,CACA,OAAA,CACA,cAAA,CACA,eAAA,CAEA,oCACC,mCAAA,CACA,kCAAA,CACA,iBAAA,CAIF,kEACC,wBAAA,CAEA,yKACC,SAAA,CACA,WAAA,CAIF,4CACC,YAAA,CAEA,kGACC,qBAAA,CACA,eAAA,CAIF,kCACC,sCAAA,CACA,WAAA,CACA,iBAAA,CAGD,8BACC,WAAA,CAIA,oDACC,KAAA,CACA,UAAA,CAEA,uEACC,aAAA,CACA,UAAA,CAED,sFACC,aAAA,CAMF,mDACC,gBAAA,CAIF,sCACC,cAAA,CACA,uBAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-container .text-editor {\\n\\ttop: 0;\\n\\theight: calc(100vh - var(--header-height));\\n}\\n\\n.text-editor {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\tmax-width: 100%;\\n\\theight: 100%;\\n\\tleft: 0;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n.text-editor__wrapper {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\n\\t&.show-color-annotations::v-deep .author-annotation {\\n\\t\\tpadding-top: 2px;\\n\\t\\tpadding-bottom: 2px;\\n\\t}\\n\\n\\t&:not(.show-color-annotations)::v-deep .author-annotation,\\n\\t&:not(.show-color-annotations)::v-deep .image {\\n\\t\\tbackground-color: transparent !important;\\n\\t}\\n\\n\\t.ProseMirror {\\n\\t\\tmargin-top: 0 !important;\\n\\t}\\n\\t&.icon-loading {\\n\\t\\t.text-editor__main {\\n\\t\\t\\topacity: 0.3;\\n\\t\\t}\\n\\t}\\n}\\n\\n.text-editor__main, .editor {\\n\\tbackground: var(--color-main-background);\\n\\tcolor: var(--color-main-text);\\n\\tbackground-clip: padding-box;\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 0;\\n\\tposition: relative;\\n\\toverflow-y: auto;\\n\\toverflow-x: hidden;\\n\\twidth: 100%;\\n}\\n\\n.document-status {\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t.msg {\\n\\t\\tpadding: 12px;\\n\\t\\tbackground-position: 8px center;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&.icon-error {\\n\\t\\t\\tpadding-left: 30px;\\n\\t\\t}\\n\\n\\t\\t.button {\\n\\t\\t\\tmargin-left: 8px;\\n\\t\\t}\\n\\n\\t\\t&.msg-locked .lock-icon {\\n\\t\\t\\tpadding: 0 10px;\\n\\t\\t\\tfloat: left;\\n\\t\\t}\\n\\t}\\n}\\n\\n.save-status {\\n\\tdisplay: inline-flex;\\n\\tpadding: 0;\\n\\ttext-overflow: ellipsis;\\n\\tcolor: var(--color-text-lighter);\\n\\tposition: relative;\\n\\ttop: 9px;\\n\\tmin-width: 85px;\\n\\tmax-height: 36px;\\n\\n\\t&.error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: var(--color-main-background);\\n\\t\\tborder-radius: 3px;\\n\\t}\\n}\\n\\n.text-editor .text-editor__wrapper.has-conflicts {\\n\\theight: calc(100% - 50px);\\n\\n\\t.text-editor__main, #read-only-editor {\\n\\t\\twidth: 50%;\\n\\t\\theight: 100%;\\n\\t}\\n}\\n\\n.text-editor__session-list {\\n\\tdisplay: flex;\\n\\n\\tinput, div {\\n\\t\\tvertical-align: middle;\\n\\t\\tmargin-left: 3px;\\n\\t}\\n}\\n\\n.editor__content {\\n\\tmax-width: var(--text-editor-max-width);\\n\\tmargin: auto;\\n\\tposition: relative;\\n}\\n\\n#body-public {\\n\\theight: auto;\\n}\\n\\n#files-public-content {\\n\\t.text-editor {\\n\\t\\ttop: 0;\\n\\t\\twidth: 100%;\\n\\n\\t\\t.text-editor__main {\\n\\t\\t\\toverflow: auto;\\n\\t\\t\\tz-index: 20;\\n\\t\\t}\\n\\t\\t.has-conflicts .text-editor__main {\\n\\t\\t\\tpadding-top: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie {\\n\\t.editor__content::v-deep .ProseMirror {\\n\\t\\tpadding-top: 50px;\\n\\t}\\n}\\n\\n.menubar-placeholder {\\n\\tposition: fixed;\\n\\tposition: -webkit-sticky;\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\topacity: 0;\\n\\tvisibility: hidden;\\n\\theight: 44px; // important for mobile so that the buttons are always inside the container\\n\\tpadding-top:3px;\\n\\tpadding-bottom: 3px;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../img/checkbox-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--text-editor-max-width: 670px\\n}.modal-container #editor-container{position:absolute}.ProseMirror-hideselection *::selection{background:rgba(0,0,0,0);color:var(--color-main-text)}.ProseMirror-hideselection *::-moz-selection{background:rgba(0,0,0,0);color:var(--color-main-text)}.ProseMirror-hideselection{caret-color:rgba(0,0,0,0);color:var(--color-main-text)}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\\\"\\\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}.has-conflicts .ProseMirror-menubar,#editor-wrapper.icon-loading .ProseMirror-menubar{display:none}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:\\\"\\\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--color-main-text);animation:ProseMirror-cursor-blink 1.1s steps(2, start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.animation-rotate{animation:rotate var(--animation-duration, 0.8s) linear infinite}@keyframes fadeInDown{from{opacity:0;transform:translate3d(0, -100%, 0)}to{opacity:1;transform:translate3d(0, 0, 0)}}[data-handler=text]{background-color:var(--color-main-background);border-top:3px solid var(--color-primary-element);font-weight:bold}.text-editor__wrapper div.ProseMirror{margin-top:44px;height:100%;position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:4px 8px 200px 14px;line-height:150%;font-size:14px;outline:none}.text-editor__wrapper div.ProseMirror[contenteditable=true],.text-editor__wrapper div.ProseMirror[contenteditable=false],.text-editor__wrapper div.ProseMirror [contenteditable=true],.text-editor__wrapper div.ProseMirror [contenteditable=false]{border:none !important;width:100%;background-color:rgba(0,0,0,0);color:var(--color-main-text);opacity:1;-webkit-user-select:text;user-select:text;font-size:14px}.text-editor__wrapper div.ProseMirror[contenteditable=true]:focus,.text-editor__wrapper div.ProseMirror[contenteditable=true]:focus-visible,.text-editor__wrapper div.ProseMirror[contenteditable=false]:focus,.text-editor__wrapper div.ProseMirror[contenteditable=false]:focus-visible,.text-editor__wrapper div.ProseMirror [contenteditable=true]:focus,.text-editor__wrapper div.ProseMirror [contenteditable=true]:focus-visible,.text-editor__wrapper div.ProseMirror [contenteditable=false]:focus,.text-editor__wrapper div.ProseMirror [contenteditable=false]:focus-visible{box-shadow:none !important}.text-editor__wrapper div.ProseMirror[contenteditable=true] *,.text-editor__wrapper div.ProseMirror[contenteditable=false] *,.text-editor__wrapper div.ProseMirror [contenteditable=true] *,.text-editor__wrapper div.ProseMirror [contenteditable=false] *{-webkit-user-modify:read-write-plaintext-only}.text-editor__wrapper div.ProseMirror .checkbox-item{display:flex;align-items:start;margin-left:-23px}.text-editor__wrapper div.ProseMirror .checkbox-item input[type=checkbox]{display:none}.text-editor__wrapper div.ProseMirror .checkbox-item:before{content:\\\"\\\";vertical-align:middle;margin:3px 6px 3px 2px;border:1px solid var(--color-text-maxcontrast);position:relative;display:block;border-radius:var(--border-radius);height:14px;width:14px;box-shadow:none !important;background-position:center;cursor:pointer}.text-editor__wrapper div.ProseMirror .checkbox-item.checked:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-color:var(--color-primary-element);border-color:var(--color-primary-element)}.text-editor__wrapper div.ProseMirror .checkbox-item.checked label{color:var(--color-text-maxcontrast);text-decoration:line-through}.text-editor__wrapper div.ProseMirror .checkbox-item label{display:block;flex-grow:1;max-width:calc(100% - 28px)}.text-editor__wrapper div.ProseMirror>*:first-child{margin-top:10px}.text-editor__wrapper div.ProseMirror a{color:var(--color-primary-element);text-decoration:underline;padding:.5em 0}.text-editor__wrapper div.ProseMirror p{margin-bottom:1em;line-height:150%}.text-editor__wrapper div.ProseMirror em{font-style:italic}.text-editor__wrapper div.ProseMirror h1,.text-editor__wrapper div.ProseMirror h2,.text-editor__wrapper div.ProseMirror h3,.text-editor__wrapper div.ProseMirror h4,.text-editor__wrapper div.ProseMirror h5,.text-editor__wrapper div.ProseMirror h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.text-editor__wrapper div.ProseMirror h1{font-size:36px;margin-top:48px}.text-editor__wrapper div.ProseMirror h2{font-size:30px;margin-top:48px}.text-editor__wrapper div.ProseMirror h3{font-size:24px}.text-editor__wrapper div.ProseMirror h4{font-size:21px}.text-editor__wrapper div.ProseMirror h5{font-size:17px}.text-editor__wrapper div.ProseMirror h6{font-size:14px}.text-editor__wrapper div.ProseMirror img{cursor:default;max-width:100%}.text-editor__wrapper div.ProseMirror hr{padding:2px 0;border:none;margin:3em 0;width:100%}.text-editor__wrapper div.ProseMirror hr:after{content:\\\"\\\";display:block;height:1px;background-color:var(--color-border-dark);line-height:2px}.text-editor__wrapper div.ProseMirror pre{white-space:pre-wrap;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.text-editor__wrapper div.ProseMirror p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.text-editor__wrapper div.ProseMirror li{position:relative;padding-left:3px}.text-editor__wrapper div.ProseMirror li p{margin-bottom:.5em}.text-editor__wrapper div.ProseMirror ul,.text-editor__wrapper div.ProseMirror ol{padding-left:10px;margin-left:10px;margin-bottom:1em}.text-editor__wrapper div.ProseMirror ul>li{list-style-type:disc}.text-editor__wrapper div.ProseMirror li ul>li{list-style-type:circle}.text-editor__wrapper div.ProseMirror li li ul>li{list-style-type:square}.text-editor__wrapper div.ProseMirror blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}:root{--table-color-border: var(--color-border);--table-color-heading: var(--color-text-maxcontrast);--table-color-heading-border: var(--color-border-dark);--table-color-background: var(--color-main-background);--table-color-background-hover: var(--color-primary-light);--table-border-radius: var(--border-radius)}.text-editor__wrapper div.ProseMirror table{border-spacing:0;width:calc(100% - 50px);table-layout:auto;white-space:normal;margin-bottom:1em}+.text-editor__wrapper div.ProseMirror table{margin-top:1em}.text-editor__wrapper div.ProseMirror table td,.text-editor__wrapper div.ProseMirror table th{border:1px solid var(--table-color-border);border-left:0;vertical-align:top;max-width:100%}.text-editor__wrapper div.ProseMirror table td:first-child,.text-editor__wrapper div.ProseMirror table th:first-child{border-left:1px solid var(--table-color-border)}.text-editor__wrapper div.ProseMirror table td{padding:.5em .75em;border-top:0;color:var(--color-main-text)}.text-editor__wrapper div.ProseMirror table th{padding:0 0 0 .75em;font-weight:normal;border-bottom-color:var(--table-color-heading-border);color:var(--table-color-heading)}.text-editor__wrapper div.ProseMirror table th>div{display:flex}.text-editor__wrapper div.ProseMirror table tr{background-color:var(--table-color-background)}.text-editor__wrapper div.ProseMirror table tr:hover,.text-editor__wrapper div.ProseMirror table tr:active,.text-editor__wrapper div.ProseMirror table tr:focus{background-color:var(--table-color-background-hover)}.text-editor__wrapper div.ProseMirror table tr:first-child th:first-child{border-top-left-radius:var(--table-border-radius)}.text-editor__wrapper div.ProseMirror table tr:first-child th:last-child{border-top-right-radius:var(--table-border-radius)}.text-editor__wrapper div.ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:var(--table-border-radius)}.text-editor__wrapper div.ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:var(--table-border-radius)}.text-editor__wrapper .ProseMirror-focused .ProseMirror-gapcursor{display:block}.text-editor__wrapper .editor__content p.is-empty:first-child::before{content:attr(data-placeholder);float:left;color:var(--color-text-maxcontrast);pointer-events:none;height:0}.text-editor__wrapper .editor__content{tab-size:4}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre{background-color:var(--color-main-background)}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre::before{content:attr(data-language);text-transform:uppercase;display:block;text-align:right;font-weight:bold;font-size:.6rem}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-comment,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-quote{color:#999}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-variable,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-template-variable,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-attribute,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-tag,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-name,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-regexp,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-link,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-selector-id,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-selector-class{color:#f2777a}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-number,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-meta,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-built_in,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-builtin-name,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-literal,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-type,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-params{color:#f99157}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-string,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-symbol,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-bullet{color:#9c9}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-title,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-section{color:#fc6}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-keyword,.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-selector-tag{color:#69c}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-emphasis{font-style:italic}.text-editor__wrapper:not(.is-rich-editor) .ProseMirror pre code .hljs-strong{font-weight:700}.text-editor__wrapper .text-editor__main.draggedOver{background-color:var(--color-primary-light)}.text-editor__wrapper .text-editor__main .text-editor__content-wrapper{position:relative}#files-public-content{height:100%}.saved-status,.saving-status{display:inline-flex;padding:0;text-overflow:ellipsis;color:var(--color-text-lighter);position:relative;background-color:#fff;width:38px !important;height:38px !important;left:25%;z-index:2;top:0px}.saved-status{border:2px solid #04aa6d;border-radius:50%}.saving-status{border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.last-saved{padding:6px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./css/style.scss\",\"webpack://./css/prosemirror.scss\",\"webpack://./src/components/EditorWrapper.vue\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\":root {\\n\\t--text-editor-max-width: 670px\\n}\\n\\n.modal-container #editor-container {\\n position: absolute;\\n}\\n\\n.ProseMirror-hideselection *::selection { background: transparent; color: var(--color-main-text); }\\n.ProseMirror-hideselection *::-moz-selection { background: transparent; color: var(--color-main-text); }\\n.ProseMirror-hideselection { caret-color: transparent; color: var(--color-main-text); }\\n\\n.ProseMirror-selectednode {\\n outline: 2px solid #8cf;\\n}\\n\\n/* Make sure li selections wrap around markers */\\nli.ProseMirror-selectednode {\\n outline: none;\\n}\\n\\nli.ProseMirror-selectednode:after {\\n content: \\\"\\\";\\n position: absolute;\\n left: -32px;\\n right: -2px; top: -2px; bottom: -2px;\\n border: 2px solid #8cf;\\n pointer-events: none;\\n}\\n\\n.has-conflicts,\\n#editor-wrapper.icon-loading {\\n .ProseMirror-menubar {\\n display: none;\\n }\\n}\\n\\n.ProseMirror-gapcursor {\\n display: none;\\n pointer-events: none;\\n position: absolute;\\n}\\n\\n.ProseMirror-gapcursor:after {\\n content: \\\"\\\";\\n display: block;\\n position: absolute;\\n top: -2px;\\n width: 20px;\\n border-top: 1px solid var(--color-main-text);\\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\\n}\\n\\n@keyframes ProseMirror-cursor-blink {\\n to {\\n visibility: hidden;\\n }\\n}\\n\\n.animation-rotate {\\n\\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\\n}\\n\\n// from https://github.com/animate-css/animate.css/blob/main/source/fading_entrances/fadeInDown.css\\n@keyframes fadeInDown {\\n from {\\n opacity: 0;\\n transform: translate3d(0, -100%, 0);\\n }\\n\\n to {\\n opacity: 1;\\n transform: translate3d(0, 0, 0);\\n }\\n}\\n\\n[data-handler=\\\"text\\\"] {\\n background-color: var(--color-main-background);\\n border-top: 3px solid var(--color-primary-element);\\n font-weight: bold;\\n}\\n\",\"@use \\\"sass:selector\\\";\\n\\n/* Document rendering styles */\\ndiv.ProseMirror {\\n\\tmargin-top: 44px;\\n\\theight: 100%;\\n\\tposition: relative;\\n\\tword-wrap: break-word;\\n\\twhite-space: pre-wrap;\\n\\t-webkit-font-variant-ligatures: none;\\n\\tfont-variant-ligatures: none;\\n\\tpadding: 4px 8px 200px 14px;\\n\\tline-height: 150%;\\n\\tfont-size: 14px;\\n\\toutline: none;\\n\\n\\t&[contenteditable=true],\\n\\t&[contenteditable=false],\\n\\t[contenteditable=true],\\n\\t[contenteditable=false] {\\n\\t\\tborder: none !important;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\topacity: 1;\\n\\t\\t-webkit-user-select: text;\\n\\t\\tuser-select: text;\\n\\t\\tfont-size: 14px;\\n\\n\\t\\t&:focus, &:focus-visible {\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t}\\n\\n\\t\\t* {\\n\\t\\t\\t-webkit-user-modify: read-write-plaintext-only;\\n\\t\\t}\\n\\t}\\n\\n\\t.checkbox-item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: start;\\n\\t\\t// Left-align with list item text\\n\\t\\tmargin-left: -23px;\\n\\n\\t\\tinput[type=checkbox] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tmargin: 3px 6px 3px 2px;\\n\\t\\t\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\theight: 14px;\\n\\t\\t\\twidth: 14px;\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t\\t&.checked{\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tbackground-image: url('../../img/checkbox-mark.svg');\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t\\tlabel {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\ttext-decoration: line-through;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tlabel {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(100% - 28px);\\n\\t\\t}\\n\\t}\\n\\n\\t> *:first-child {\\n\\t\\tmargin-top: 10px;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\ttext-decoration: underline;\\n\\t\\tpadding: .5em 0;\\n\\t}\\n\\n\\tp {\\n\\t\\tmargin-bottom: 1em;\\n\\t\\tline-height: 150%;\\n\\t}\\n\\n\\tem {\\n\\t\\tfont-style: italic;\\n\\t}\\n\\n\\th1,\\n\\th2,\\n\\th3,\\n\\th4,\\n\\th5,\\n\\th6 {\\n\\t\\tfont-weight: 600;\\n\\t\\tline-height: 120%;\\n\\t\\tmargin-top: 24px;\\n\\t\\tmargin-bottom: 12px;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\th1 {\\n\\t\\tfont-size: 36px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th2 {\\n\\t\\tfont-size: 30px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th3 {\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\th4 {\\n\\t\\tfont-size: 21px;\\n\\t}\\n\\n\\th5 {\\n\\t\\tfont-size: 17px;\\n\\t}\\n\\n\\th6 {\\n\\t\\tfont-size: 14px;\\n\\t}\\n\\n\\timg {\\n\\t\\tcursor: default;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\thr {\\n\\t\\tpadding: 2px 0;\\n\\t\\tborder: none;\\n\\t\\tmargin: 3em 0;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\thr:after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\tdisplay: block;\\n\\t\\theight: 1px;\\n\\t\\tbackground-color: var(--color-border-dark);\\n\\t\\tline-height: 2px;\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t\\tpadding-left: 3px;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 0.5em;\\n\\t\\t}\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-left: 10px;\\n\\t\\tmargin-left: 10px;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tul > li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\t// Second-level list entries\\n\\tli ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\t// Third-level and further down list entries\\n\\tli li ul > li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-left: 1em;\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t// table variables\\n\\t@at-root :root {\\n\\t\\t--table-color-border: var(--color-border);\\n\\t\\t--table-color-heading: var(--color-text-maxcontrast);\\n\\t\\t--table-color-heading-border: var(--color-border-dark);\\n\\t\\t--table-color-background: var(--color-main-background);\\n\\t\\t--table-color-background-hover: var(--color-primary-light);\\n\\t\\t--table-border-radius: var(--border-radius);\\n\\t}\\n\\n\\ttable {\\n\\t\\tborder-spacing: 0;\\n\\t\\twidth: calc(100% - 50px);\\n\\t\\ttable-layout: auto;\\n\\t\\twhite-space: normal; // force text to wrapping\\n\\t\\tmargin-bottom: 1em;\\n\\t\\t+ & {\\n\\t\\t\\tmargin-top: 1em;\\n\\t\\t}\\n\\n\\n\\t\\ttd, th {\\n\\t\\t\\tborder: 1px solid var(--table-color-border);\\n\\t\\t\\tborder-left: 0;\\n\\t\\t\\tvertical-align: top;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t&:first-child {\\n\\t\\t\\t\\tborder-left: 1px solid var(--table-color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttd {\\n\\t\\t\\tpadding: 0.5em 0.75em;\\n\\t\\t\\tborder-top: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t\\tth {\\n\\t\\t\\tpadding: 0 0 0 0.75em;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tborder-bottom-color: var(--table-color-heading-border);\\n\\t\\t\\tcolor: var(--table-color-heading);\\n\\n\\t\\t\\t& > div {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttr {\\n\\t\\t\\tbackground-color: var(--table-color-background);\\n\\t\\t\\t&:hover, &:active, &:focus {\\n\\t\\t\\t\\tbackground-color: var(--table-color-background-hover);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\ttr:first-child {\\n\\t\\t\\tth:first-child { border-top-left-radius: var(--table-border-radius); }\\n\\t\\t\\tth:last-child { border-top-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t\\ttr:last-child {\\n\\t\\t\\ttd:first-child { border-bottom-left-radius: var(--table-border-radius); }\\n\\t\\t\\ttd:last-child { border-bottom-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t}\\n\\n}\\n\\n.ProseMirror-focused .ProseMirror-gapcursor {\\n\\tdisplay: block;\\n}\\n\\n.editor__content p.is-empty:first-child::before {\\n\\tcontent: attr(data-placeholder);\\n\\tfloat: left;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tpointer-events: none;\\n\\theight: 0;\\n}\\n\\n.editor__content {\\n\\ttab-size: 4;\\n}\\n\",\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import './../../css/style';\\n\\n.text-editor__wrapper {\\n\\t@import './../../css/prosemirror';\\n\\n\\t&:not(.is-rich-editor) .ProseMirror {\\n\\t\\tpre {\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tcontent: attr(data-language);\\n\\t\\t\\t\\ttext-transform: uppercase;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\ttext-align: right;\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\tfont-size: 0.6rem;\\n\\t\\t\\t}\\n\\t\\t\\tcode {\\n\\t\\t\\t\\t.hljs-comment,\\n\\t\\t\\t\\t.hljs-quote {\\n\\t\\t\\t\\t\\tcolor: #999999;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-variable,\\n\\t\\t\\t\\t.hljs-template-variable,\\n\\t\\t\\t\\t.hljs-attribute,\\n\\t\\t\\t\\t.hljs-tag,\\n\\t\\t\\t\\t.hljs-name,\\n\\t\\t\\t\\t.hljs-regexp,\\n\\t\\t\\t\\t.hljs-link,\\n\\t\\t\\t\\t.hljs-selector-id,\\n\\t\\t\\t\\t.hljs-selector-class {\\n\\t\\t\\t\\t\\tcolor: #f2777a;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-number,\\n\\t\\t\\t\\t.hljs-meta,\\n\\t\\t\\t\\t.hljs-built_in,\\n\\t\\t\\t\\t.hljs-builtin-name,\\n\\t\\t\\t\\t.hljs-literal,\\n\\t\\t\\t\\t.hljs-type,\\n\\t\\t\\t\\t.hljs-params {\\n\\t\\t\\t\\t\\tcolor: #f99157;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-string,\\n\\t\\t\\t\\t.hljs-symbol,\\n\\t\\t\\t\\t.hljs-bullet {\\n\\t\\t\\t\\t\\tcolor: #99cc99;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-title,\\n\\t\\t\\t\\t.hljs-section {\\n\\t\\t\\t\\t\\tcolor: #ffcc66;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-keyword,\\n\\t\\t\\t\\t.hljs-selector-tag {\\n\\t\\t\\t\\t\\tcolor: #6699cc;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-emphasis {\\n\\t\\t\\t\\t\\tfont-style: italic;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.hljs-strong {\\n\\t\\t\\t\\t\\tfont-weight: 700;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// relative position for the alignment of the menububble\\n\\t.text-editor__main {\\n\\t\\t&.draggedOver {\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\t\\t.text-editor__content-wrapper {\\n\\t\\t\\tposition: relative;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Required in order to make the public pages behave the same if talk is enabled or not\\n// as Talk overwrites the public page styles and changes the DOM layout for the sidebar injection\\n#files-public-content {\\n\\theight: 100%;\\n}\\n\\n.saved-status,.saving-status {\\n\\tdisplay: inline-flex;\\n\\tpadding: 0;\\n\\ttext-overflow: ellipsis;\\n\\tcolor: var(--color-text-lighter);\\n\\tposition: relative;\\n\\tbackground-color: white;\\n\\twidth: 38px !important;\\n\\theight: 38px !important;\\n\\tleft: 25%;\\n\\tz-index: 2;\\n\\ttop: 0px;\\n}\\n\\n.saved-status {\\n\\tborder: 2px solid #04AA6D;\\n\\tborder-radius: 50%;\\n}\\n\\n.saving-status {\\n\\tborder: 2px solid #f3f3f3;\\n\\tborder-top: 2px solid #3498db;\\n\\tborder-radius: 50%;\\n\\tanimation: spin 2s linear infinite;\\n}\\n\\n@keyframes spin {\\n\\t0% { transform: rotate(0deg); }\\n\\t100% { transform: rotate(360deg); }\\n}\\n\\n.last-saved {\\n\\tpadding: 6px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".emoji-list[data-v-debb463c]{border-radius:var(--border-radius);background-color:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow);overflow:auto;min-width:200px;max-width:200px;padding:4px;max-height:195.5px;margin:5px 0}.emoji-list__item[data-v-debb463c]{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emoji-list__item[data-v-debb463c]:last-child{margin-bottom:0}.emoji-list__item__emoji[data-v-debb463c]{padding-right:8px}.emoji-list__item.is-selected[data-v-debb463c],.emoji-list__item[data-v-debb463c]:focus,.emoji-list__item[data-v-debb463c]:hover{opacity:1;background-color:var(--color-primary-light)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/EmojiList.vue\"],\"names\":[],\"mappings\":\"AA2HA,6BACC,kCAAA,CACA,6CAAA,CACA,4CAAA,CACA,aAAA,CAEA,eAAA,CACA,eAAA,CACA,WAAA,CAEA,kBAAA,CACA,YAAA,CAEA,mCACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,8CACC,eAAA,CAGD,0CACC,iBAAA,CAGD,iIAGC,SAAA,CACA,2CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.emoji-list {\\n\\tborder-radius: var(--border-radius);\\n\\tbackground-color: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n\\toverflow: auto;\\n\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 35.5px * 5 + 18px;\\n\\tmargin: 5px 0;\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\n\\t\\t&.is-selected,\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../img/checkbox-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"[data-v-84b85632] .modal-wrapper .modal-container{padding:30px 40px 20px;user-select:text}@media only screen and (max-width: 512px){[data-v-84b85632] .modal-wrapper .modal-container{padding:30px 0px 20px 40px}}table[data-v-84b85632]{margin-top:24px;border-collapse:collapse}table tbody tr[data-v-84b85632]:hover,table tbody tr[data-v-84b85632]:focus,table tbody tr[data-v-84b85632]:active{background-color:rgba(0,0,0,0) !important}table thead tr[data-v-84b85632]{border:none}table th[data-v-84b85632]{font-weight:bold;padding:.75rem 1rem .75rem 0;border-bottom:2px solid var(--color-background-darker)}table td[data-v-84b85632]{padding:.75rem 1rem .75rem 0;border-top:1px solid var(--color-background-dark);border-bottom:unset}table td.noborder[data-v-84b85632]{border-top:unset}table td.ellipsis_top[data-v-84b85632]{padding-bottom:0}table td.ellipsis[data-v-84b85632]{padding-top:0;padding-bottom:0}table td.ellipsis_bottom[data-v-84b85632]{padding-top:0}table kbd[data-v-84b85632]{font-size:smaller}table code[data-v-84b85632]{padding:.2em .4em;font-size:90%;background-color:var(--color-background-dark);border-radius:6px}div.ProseMirror[data-v-84b85632]{margin-top:44px;height:100%;position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:4px 8px 200px 14px;line-height:150%;font-size:14px;outline:none}div.ProseMirror[contenteditable=true][data-v-84b85632],div.ProseMirror[contenteditable=false][data-v-84b85632],div.ProseMirror [contenteditable=true][data-v-84b85632],div.ProseMirror [contenteditable=false][data-v-84b85632]{border:none !important;width:100%;background-color:rgba(0,0,0,0);color:var(--color-main-text);opacity:1;-webkit-user-select:text;user-select:text;font-size:14px}div.ProseMirror[contenteditable=true][data-v-84b85632]:focus,div.ProseMirror[contenteditable=true][data-v-84b85632]:focus-visible,div.ProseMirror[contenteditable=false][data-v-84b85632]:focus,div.ProseMirror[contenteditable=false][data-v-84b85632]:focus-visible,div.ProseMirror [contenteditable=true][data-v-84b85632]:focus,div.ProseMirror [contenteditable=true][data-v-84b85632]:focus-visible,div.ProseMirror [contenteditable=false][data-v-84b85632]:focus,div.ProseMirror [contenteditable=false][data-v-84b85632]:focus-visible{box-shadow:none !important}div.ProseMirror[contenteditable=true] *[data-v-84b85632],div.ProseMirror[contenteditable=false] *[data-v-84b85632],div.ProseMirror [contenteditable=true] *[data-v-84b85632],div.ProseMirror [contenteditable=false] *[data-v-84b85632]{-webkit-user-modify:read-write-plaintext-only}div.ProseMirror .checkbox-item[data-v-84b85632]{display:flex;align-items:start;margin-left:-23px}div.ProseMirror .checkbox-item input[type=checkbox][data-v-84b85632]{display:none}div.ProseMirror .checkbox-item[data-v-84b85632]:before{content:\\\"\\\";vertical-align:middle;margin:3px 6px 3px 2px;border:1px solid var(--color-text-maxcontrast);position:relative;display:block;border-radius:var(--border-radius);height:14px;width:14px;box-shadow:none !important;background-position:center;cursor:pointer}div.ProseMirror .checkbox-item.checked[data-v-84b85632]:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-color:var(--color-primary-element);border-color:var(--color-primary-element)}div.ProseMirror .checkbox-item.checked label[data-v-84b85632]{color:var(--color-text-maxcontrast);text-decoration:line-through}div.ProseMirror .checkbox-item label[data-v-84b85632]{display:block;flex-grow:1;max-width:calc(100% - 28px)}div.ProseMirror>*[data-v-84b85632]:first-child{margin-top:10px}div.ProseMirror a[data-v-84b85632]{color:var(--color-primary-element);text-decoration:underline;padding:.5em 0}div.ProseMirror p[data-v-84b85632]{margin-bottom:1em;line-height:150%}div.ProseMirror em[data-v-84b85632]{font-style:italic}div.ProseMirror h1[data-v-84b85632],div.ProseMirror h2[data-v-84b85632],div.ProseMirror h3[data-v-84b85632],div.ProseMirror h4[data-v-84b85632],div.ProseMirror h5[data-v-84b85632],div.ProseMirror h6[data-v-84b85632]{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}div.ProseMirror h1[data-v-84b85632]{font-size:36px;margin-top:48px}div.ProseMirror h2[data-v-84b85632]{font-size:30px;margin-top:48px}div.ProseMirror h3[data-v-84b85632]{font-size:24px}div.ProseMirror h4[data-v-84b85632]{font-size:21px}div.ProseMirror h5[data-v-84b85632]{font-size:17px}div.ProseMirror h6[data-v-84b85632]{font-size:14px}div.ProseMirror img[data-v-84b85632]{cursor:default;max-width:100%}div.ProseMirror hr[data-v-84b85632]{padding:2px 0;border:none;margin:3em 0;width:100%}div.ProseMirror hr[data-v-84b85632]:after{content:\\\"\\\";display:block;height:1px;background-color:var(--color-border-dark);line-height:2px}div.ProseMirror pre[data-v-84b85632]{white-space:pre-wrap;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}div.ProseMirror p code[data-v-84b85632]{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}div.ProseMirror li[data-v-84b85632]{position:relative;padding-left:3px}div.ProseMirror li p[data-v-84b85632]{margin-bottom:.5em}div.ProseMirror ul[data-v-84b85632],div.ProseMirror ol[data-v-84b85632]{padding-left:10px;margin-left:10px;margin-bottom:1em}div.ProseMirror ul>li[data-v-84b85632]{list-style-type:disc}div.ProseMirror li ul>li[data-v-84b85632]{list-style-type:circle}div.ProseMirror li li ul>li[data-v-84b85632]{list-style-type:square}div.ProseMirror blockquote[data-v-84b85632]{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}[data-v-84b85632]:root{--table-color-border: var(--color-border);--table-color-heading: var(--color-text-maxcontrast);--table-color-heading-border: var(--color-border-dark);--table-color-background: var(--color-main-background);--table-color-background-hover: var(--color-primary-light);--table-border-radius: var(--border-radius)}div.ProseMirror table[data-v-84b85632]{border-spacing:0;width:calc(100% - 50px);table-layout:auto;white-space:normal;margin-bottom:1em}+div.ProseMirror table[data-v-84b85632]{margin-top:1em}div.ProseMirror table td[data-v-84b85632],div.ProseMirror table th[data-v-84b85632]{border:1px solid var(--table-color-border);border-left:0;vertical-align:top;max-width:100%}div.ProseMirror table td[data-v-84b85632]:first-child,div.ProseMirror table th[data-v-84b85632]:first-child{border-left:1px solid var(--table-color-border)}div.ProseMirror table td[data-v-84b85632]{padding:.5em .75em;border-top:0;color:var(--color-main-text)}div.ProseMirror table th[data-v-84b85632]{padding:0 0 0 .75em;font-weight:normal;border-bottom-color:var(--table-color-heading-border);color:var(--table-color-heading)}div.ProseMirror table th>div[data-v-84b85632]{display:flex}div.ProseMirror table tr[data-v-84b85632]{background-color:var(--table-color-background)}div.ProseMirror table tr[data-v-84b85632]:hover,div.ProseMirror table tr[data-v-84b85632]:active,div.ProseMirror table tr[data-v-84b85632]:focus{background-color:var(--table-color-background-hover)}div.ProseMirror table tr:first-child th[data-v-84b85632]:first-child{border-top-left-radius:var(--table-border-radius)}div.ProseMirror table tr:first-child th[data-v-84b85632]:last-child{border-top-right-radius:var(--table-border-radius)}div.ProseMirror table tr:last-child td[data-v-84b85632]:first-child{border-bottom-left-radius:var(--table-border-radius)}div.ProseMirror table tr:last-child td[data-v-84b85632]:last-child{border-bottom-right-radius:var(--table-border-radius)}.ProseMirror-focused .ProseMirror-gapcursor[data-v-84b85632]{display:block}.editor__content p.is-empty[data-v-84b85632]:first-child::before{content:attr(data-placeholder);float:left;color:var(--color-text-maxcontrast);pointer-events:none;height:0}.editor__content[data-v-84b85632]{tab-size:4}div.ProseMirror[data-v-84b85632]{display:inline;margin-top:unset;position:unset;padding:unset;line-height:unset}div.ProseMirror h1[data-v-84b85632],div.ProseMirror h6[data-v-84b85632]{display:inline;padding:0;margin:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/HelpModal.vue\",\"webpack://./css/prosemirror.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .modal-wrapper {\\n\\t.modal-container {\\n\\t\\tpadding: 30px 40px 20px;\\n\\t\\tuser-select: text;\\n\\t}\\n\\n\\t// Remove padding-right on mobile, screen might not be wide enough\\n\\t@media only screen and (max-width: 512px) {\\n\\t\\t.modal-container {\\n\\t\\t\\tpadding: 30px 0px 20px 40px;\\n\\t\\t}\\n\\t}\\n}\\n\\ntable {\\n\\tmargin-top: 24px;\\n\\tborder-collapse: collapse;\\n\\n\\ttbody tr {\\n\\t\\t&:hover, &:focus, &:active {\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\tthead tr {\\n\\t\\tborder: none;\\n\\t}\\n\\n\\tth {\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: .75rem 1rem .75rem 0;\\n\\t\\tborder-bottom: 2px solid var(--color-background-darker);\\n\\t}\\n\\n\\ttd {\\n\\t\\tpadding: .75rem 1rem .75rem 0;\\n\\t\\tborder-top: 1px solid var(--color-background-dark);\\n\\t\\tborder-bottom: unset;\\n\\n\\t\\t&.noborder {\\n\\t\\t\\tborder-top: unset;\\n\\t\\t}\\n\\n\\t\\t&.ellipsis_top {\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&.ellipsis {\\n\\t\\t\\tpadding-top: 0;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&.ellipsis_bottom {\\n\\t\\t\\tpadding-top: 0;\\n\\t\\t}\\n\\t}\\n\\n\\tkbd {\\n\\t\\tfont-size: smaller;\\n\\t}\\n\\n\\tcode {\\n\\t\\tpadding: .2em .4em;\\n\\t\\tfont-size: 90%;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: 6px;\\n\\t}\\n}\\n\\n@import '../../css/prosemirror';\\n\\ndiv.ProseMirror {\\n\\tdisplay: inline;\\n\\tmargin-top: unset;\\n\\tposition: unset;\\n\\tpadding: unset;\\n\\tline-height: unset;\\n\\n\\th1, h6 {\\n\\t\\tdisplay: inline;\\n\\t\\tpadding: 0;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\",\"@use \\\"sass:selector\\\";\\n\\n/* Document rendering styles */\\ndiv.ProseMirror {\\n\\tmargin-top: 44px;\\n\\theight: 100%;\\n\\tposition: relative;\\n\\tword-wrap: break-word;\\n\\twhite-space: pre-wrap;\\n\\t-webkit-font-variant-ligatures: none;\\n\\tfont-variant-ligatures: none;\\n\\tpadding: 4px 8px 200px 14px;\\n\\tline-height: 150%;\\n\\tfont-size: 14px;\\n\\toutline: none;\\n\\n\\t&[contenteditable=true],\\n\\t&[contenteditable=false],\\n\\t[contenteditable=true],\\n\\t[contenteditable=false] {\\n\\t\\tborder: none !important;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\topacity: 1;\\n\\t\\t-webkit-user-select: text;\\n\\t\\tuser-select: text;\\n\\t\\tfont-size: 14px;\\n\\n\\t\\t&:focus, &:focus-visible {\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t}\\n\\n\\t\\t* {\\n\\t\\t\\t-webkit-user-modify: read-write-plaintext-only;\\n\\t\\t}\\n\\t}\\n\\n\\t.checkbox-item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: start;\\n\\t\\t// Left-align with list item text\\n\\t\\tmargin-left: -23px;\\n\\n\\t\\tinput[type=checkbox] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tmargin: 3px 6px 3px 2px;\\n\\t\\t\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\theight: 14px;\\n\\t\\t\\twidth: 14px;\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t\\t&.checked{\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tbackground-image: url('../../img/checkbox-mark.svg');\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t\\tlabel {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\ttext-decoration: line-through;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tlabel {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(100% - 28px);\\n\\t\\t}\\n\\t}\\n\\n\\t> *:first-child {\\n\\t\\tmargin-top: 10px;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\ttext-decoration: underline;\\n\\t\\tpadding: .5em 0;\\n\\t}\\n\\n\\tp {\\n\\t\\tmargin-bottom: 1em;\\n\\t\\tline-height: 150%;\\n\\t}\\n\\n\\tem {\\n\\t\\tfont-style: italic;\\n\\t}\\n\\n\\th1,\\n\\th2,\\n\\th3,\\n\\th4,\\n\\th5,\\n\\th6 {\\n\\t\\tfont-weight: 600;\\n\\t\\tline-height: 120%;\\n\\t\\tmargin-top: 24px;\\n\\t\\tmargin-bottom: 12px;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\th1 {\\n\\t\\tfont-size: 36px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th2 {\\n\\t\\tfont-size: 30px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th3 {\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\th4 {\\n\\t\\tfont-size: 21px;\\n\\t}\\n\\n\\th5 {\\n\\t\\tfont-size: 17px;\\n\\t}\\n\\n\\th6 {\\n\\t\\tfont-size: 14px;\\n\\t}\\n\\n\\timg {\\n\\t\\tcursor: default;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\thr {\\n\\t\\tpadding: 2px 0;\\n\\t\\tborder: none;\\n\\t\\tmargin: 3em 0;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\thr:after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\tdisplay: block;\\n\\t\\theight: 1px;\\n\\t\\tbackground-color: var(--color-border-dark);\\n\\t\\tline-height: 2px;\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t\\tpadding-left: 3px;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 0.5em;\\n\\t\\t}\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-left: 10px;\\n\\t\\tmargin-left: 10px;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tul > li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\t// Second-level list entries\\n\\tli ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\t// Third-level and further down list entries\\n\\tli li ul > li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-left: 1em;\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t// table variables\\n\\t@at-root :root {\\n\\t\\t--table-color-border: var(--color-border);\\n\\t\\t--table-color-heading: var(--color-text-maxcontrast);\\n\\t\\t--table-color-heading-border: var(--color-border-dark);\\n\\t\\t--table-color-background: var(--color-main-background);\\n\\t\\t--table-color-background-hover: var(--color-primary-light);\\n\\t\\t--table-border-radius: var(--border-radius);\\n\\t}\\n\\n\\ttable {\\n\\t\\tborder-spacing: 0;\\n\\t\\twidth: calc(100% - 50px);\\n\\t\\ttable-layout: auto;\\n\\t\\twhite-space: normal; // force text to wrapping\\n\\t\\tmargin-bottom: 1em;\\n\\t\\t+ & {\\n\\t\\t\\tmargin-top: 1em;\\n\\t\\t}\\n\\n\\n\\t\\ttd, th {\\n\\t\\t\\tborder: 1px solid var(--table-color-border);\\n\\t\\t\\tborder-left: 0;\\n\\t\\t\\tvertical-align: top;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t&:first-child {\\n\\t\\t\\t\\tborder-left: 1px solid var(--table-color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttd {\\n\\t\\t\\tpadding: 0.5em 0.75em;\\n\\t\\t\\tborder-top: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t\\tth {\\n\\t\\t\\tpadding: 0 0 0 0.75em;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tborder-bottom-color: var(--table-color-heading-border);\\n\\t\\t\\tcolor: var(--table-color-heading);\\n\\n\\t\\t\\t& > div {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttr {\\n\\t\\t\\tbackground-color: var(--table-color-background);\\n\\t\\t\\t&:hover, &:active, &:focus {\\n\\t\\t\\t\\tbackground-color: var(--table-color-background-hover);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\ttr:first-child {\\n\\t\\t\\tth:first-child { border-top-left-radius: var(--table-border-radius); }\\n\\t\\t\\tth:last-child { border-top-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t\\ttr:last-child {\\n\\t\\t\\ttd:first-child { border-bottom-left-radius: var(--table-border-radius); }\\n\\t\\t\\ttd:last-child { border-bottom-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t}\\n\\n}\\n\\n.ProseMirror-focused .ProseMirror-gapcursor {\\n\\tdisplay: block;\\n}\\n\\n.editor__content p.is-empty:first-child::before {\\n\\tcontent: attr(data-placeholder);\\n\\tfloat: left;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tpointer-events: none;\\n\\theight: 0;\\n}\\n\\n.editor__content {\\n\\ttab-size: 4;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".text-menubar[data-v-744790a8]{--background-blur: blur(10px);position:sticky;top:0;z-index:10021;background-color:var(--color-main-background-translucent);backdrop-filter:var(--background-blur);max-height:44px;padding-top:3px;padding-bottom:3px;visibility:hidden;display:flex;justify-content:flex-end}.text-menubar.text-menubar--ready[data-v-744790a8]:not(.text-menubar--autohide){visibility:visible;animation-name:fadeInDown;animation-duration:.3s}.text-menubar.text-menubar--autohide[data-v-744790a8]{opacity:0;transition:visibility .2s .4s,opacity .2s .4s}.text-menubar.text-menubar--autohide.text-menubar--show[data-v-744790a8]{visibility:visible;opacity:1}.text-menubar .text-menubar__entries[data-v-744790a8]{display:flex;flex-grow:1;margin-left:calc((100% - var(--text-editor-max-width))/2)}.text-menubar .text-menubar__slot[data-v-744790a8]{justify-content:flex-end;display:flex}.text-menubar.text-menubar--is-workspace .text-menubar__entries[data-v-744790a8]{margin-left:0}@media(max-width: 660px){.text-menubar .text-menubar__entries[data-v-744790a8]{margin-left:0}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Menu/MenuBar.vue\"],\"names\":[],\"mappings\":\"AA0NA,+BACC,6BAAA,CACA,eAAA,CACA,KAAA,CACA,aAAA,CACA,yDAAA,CACA,sCAAA,CACA,eAAA,CACA,eAAA,CACA,kBAAA,CAEA,iBAAA,CAEA,YAAA,CACA,wBAAA,CAEA,gFACC,kBAAA,CACA,yBAAA,CACA,sBAAA,CAGD,sDACC,SAAA,CACA,6CAAA,CACA,yEACC,kBAAA,CACA,SAAA,CAGF,sDACC,YAAA,CACA,WAAA,CACA,yDAAA,CAGD,mDAEC,wBAAA,CACA,YAAA,CAIA,iFACC,aAAA,CAIF,yBACC,sDACC,aAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.text-menubar {\\n\\t--background-blur: blur(10px);\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tz-index: 10021; // above modal-header and menububble so menubar is always on top\\n\\tbackground-color: var(--color-main-background-translucent);\\n\\tbackdrop-filter: var(--background-blur);\\n\\tmax-height: 44px; // important for mobile so that the buttons are always inside the container\\n\\tpadding-top:3px;\\n\\tpadding-bottom: 3px;\\n\\n\\tvisibility: hidden;\\n\\n\\tdisplay: flex;\\n\\tjustify-content: flex-end;\\n\\n\\t&.text-menubar--ready:not(.text-menubar--autohide) {\\n\\t\\tvisibility: visible;\\n\\t\\tanimation-name: fadeInDown;\\n\\t\\tanimation-duration: 0.3s;\\n\\t}\\n\\n\\t&.text-menubar--autohide {\\n\\t\\topacity: 0;\\n\\t\\ttransition: visibility 0.2s 0.4s, opacity 0.2s 0.4s;\\n\\t\\t&.text-menubar--show {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\t.text-menubar__entries {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tmargin-left: calc((100% - var(--text-editor-max-width)) / 2);\\n\\t}\\n\\n\\t.text-menubar__slot {\\n\\t\\t// width: 100%;\\n\\t\\tjustify-content: flex-end;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&.text-menubar--is-workspace {\\n\\t\\t.text-menubar__entries {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t@media (max-width: 660px) {\\n\\t\\t.text-menubar__entries {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../img/checkbox-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#read-only-editor{overflow:scroll}#read-only-editor div.ProseMirror{margin-top:44px;height:100%;position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:4px 8px 200px 14px;line-height:150%;font-size:14px;outline:none}#read-only-editor div.ProseMirror[contenteditable=true],#read-only-editor div.ProseMirror[contenteditable=false],#read-only-editor div.ProseMirror [contenteditable=true],#read-only-editor div.ProseMirror [contenteditable=false]{border:none !important;width:100%;background-color:rgba(0,0,0,0);color:var(--color-main-text);opacity:1;-webkit-user-select:text;user-select:text;font-size:14px}#read-only-editor div.ProseMirror[contenteditable=true]:focus,#read-only-editor div.ProseMirror[contenteditable=true]:focus-visible,#read-only-editor div.ProseMirror[contenteditable=false]:focus,#read-only-editor div.ProseMirror[contenteditable=false]:focus-visible,#read-only-editor div.ProseMirror [contenteditable=true]:focus,#read-only-editor div.ProseMirror [contenteditable=true]:focus-visible,#read-only-editor div.ProseMirror [contenteditable=false]:focus,#read-only-editor div.ProseMirror [contenteditable=false]:focus-visible{box-shadow:none !important}#read-only-editor div.ProseMirror[contenteditable=true] *,#read-only-editor div.ProseMirror[contenteditable=false] *,#read-only-editor div.ProseMirror [contenteditable=true] *,#read-only-editor div.ProseMirror [contenteditable=false] *{-webkit-user-modify:read-write-plaintext-only}#read-only-editor div.ProseMirror .checkbox-item{display:flex;align-items:start;margin-left:-23px}#read-only-editor div.ProseMirror .checkbox-item input[type=checkbox]{display:none}#read-only-editor div.ProseMirror .checkbox-item:before{content:\\\"\\\";vertical-align:middle;margin:3px 6px 3px 2px;border:1px solid var(--color-text-maxcontrast);position:relative;display:block;border-radius:var(--border-radius);height:14px;width:14px;box-shadow:none !important;background-position:center;cursor:pointer}#read-only-editor div.ProseMirror .checkbox-item.checked:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-color:var(--color-primary-element);border-color:var(--color-primary-element)}#read-only-editor div.ProseMirror .checkbox-item.checked label{color:var(--color-text-maxcontrast);text-decoration:line-through}#read-only-editor div.ProseMirror .checkbox-item label{display:block;flex-grow:1;max-width:calc(100% - 28px)}#read-only-editor div.ProseMirror>*:first-child{margin-top:10px}#read-only-editor div.ProseMirror a{color:var(--color-primary-element);text-decoration:underline;padding:.5em 0}#read-only-editor div.ProseMirror p{margin-bottom:1em;line-height:150%}#read-only-editor div.ProseMirror em{font-style:italic}#read-only-editor div.ProseMirror h1,#read-only-editor div.ProseMirror h2,#read-only-editor div.ProseMirror h3,#read-only-editor div.ProseMirror h4,#read-only-editor div.ProseMirror h5,#read-only-editor div.ProseMirror h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}#read-only-editor div.ProseMirror h1{font-size:36px;margin-top:48px}#read-only-editor div.ProseMirror h2{font-size:30px;margin-top:48px}#read-only-editor div.ProseMirror h3{font-size:24px}#read-only-editor div.ProseMirror h4{font-size:21px}#read-only-editor div.ProseMirror h5{font-size:17px}#read-only-editor div.ProseMirror h6{font-size:14px}#read-only-editor div.ProseMirror img{cursor:default;max-width:100%}#read-only-editor div.ProseMirror hr{padding:2px 0;border:none;margin:3em 0;width:100%}#read-only-editor div.ProseMirror hr:after{content:\\\"\\\";display:block;height:1px;background-color:var(--color-border-dark);line-height:2px}#read-only-editor div.ProseMirror pre{white-space:pre-wrap;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}#read-only-editor div.ProseMirror p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}#read-only-editor div.ProseMirror li{position:relative;padding-left:3px}#read-only-editor div.ProseMirror li p{margin-bottom:.5em}#read-only-editor div.ProseMirror ul,#read-only-editor div.ProseMirror ol{padding-left:10px;margin-left:10px;margin-bottom:1em}#read-only-editor div.ProseMirror ul>li{list-style-type:disc}#read-only-editor div.ProseMirror li ul>li{list-style-type:circle}#read-only-editor div.ProseMirror li li ul>li{list-style-type:square}#read-only-editor div.ProseMirror blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}:root{--table-color-border: var(--color-border);--table-color-heading: var(--color-text-maxcontrast);--table-color-heading-border: var(--color-border-dark);--table-color-background: var(--color-main-background);--table-color-background-hover: var(--color-primary-light);--table-border-radius: var(--border-radius)}#read-only-editor div.ProseMirror table{border-spacing:0;width:calc(100% - 50px);table-layout:auto;white-space:normal;margin-bottom:1em}+#read-only-editor div.ProseMirror table{margin-top:1em}#read-only-editor div.ProseMirror table td,#read-only-editor div.ProseMirror table th{border:1px solid var(--table-color-border);border-left:0;vertical-align:top;max-width:100%}#read-only-editor div.ProseMirror table td:first-child,#read-only-editor div.ProseMirror table th:first-child{border-left:1px solid var(--table-color-border)}#read-only-editor div.ProseMirror table td{padding:.5em .75em;border-top:0;color:var(--color-main-text)}#read-only-editor div.ProseMirror table th{padding:0 0 0 .75em;font-weight:normal;border-bottom-color:var(--table-color-heading-border);color:var(--table-color-heading)}#read-only-editor div.ProseMirror table th>div{display:flex}#read-only-editor div.ProseMirror table tr{background-color:var(--table-color-background)}#read-only-editor div.ProseMirror table tr:hover,#read-only-editor div.ProseMirror table tr:active,#read-only-editor div.ProseMirror table tr:focus{background-color:var(--table-color-background-hover)}#read-only-editor div.ProseMirror table tr:first-child th:first-child{border-top-left-radius:var(--table-border-radius)}#read-only-editor div.ProseMirror table tr:first-child th:last-child{border-top-right-radius:var(--table-border-radius)}#read-only-editor div.ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:var(--table-border-radius)}#read-only-editor div.ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:var(--table-border-radius)}#read-only-editor .ProseMirror-focused .ProseMirror-gapcursor{display:block}#read-only-editor .editor__content p.is-empty:first-child::before{content:attr(data-placeholder);float:left;color:var(--color-text-maxcontrast);pointer-events:none;height:0}#read-only-editor .editor__content{tab-size:4}.thumbnailContainer #read-only-editor{width:100%}.thumbnailContainer #read-only-editor .ProseMirror{height:auto;margin:0 0 0 0;padding:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Reader.vue\",\"webpack://./css/prosemirror.scss\"],\"names\":[],\"mappings\":\"AAmDA,kBAEC,eAAA,CClDD,kCACC,eAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,mCAAA,CACA,2BAAA,CACA,0BAAA,CACA,gBAAA,CACA,cAAA,CACA,YAAA,CAEA,oOAIC,sBAAA,CACA,UAAA,CACA,8BAAA,CACA,4BAAA,CACA,SAAA,CACA,wBAAA,CACA,gBAAA,CACA,cAAA,CAEA,whBACC,0BAAA,CAGD,4OACC,6CAAA,CAIF,iDACC,YAAA,CACA,iBAAA,CAEA,iBAAA,CAEA,sEACC,YAAA,CAED,wDACC,UAAA,CACA,qBAAA,CACA,sBAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CACA,kCAAA,CACA,WAAA,CACA,UAAA,CACA,0BAAA,CACA,0BAAA,CACA,cAAA,CAGA,gEACC,wDAAA,CACA,6CAAA,CACA,yCAAA,CAED,+DACC,mCAAA,CACA,4BAAA,CAGF,uDACC,aAAA,CACA,WAAA,CACA,2BAAA,CAIF,gDACC,eAAA,CAGD,oCACC,kCAAA,CACA,yBAAA,CACA,cAAA,CAGD,oCACC,iBAAA,CACA,gBAAA,CAGD,qCACC,iBAAA,CAGD,8NAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,qCACC,cAAA,CACA,eAAA,CAGD,qCACC,cAAA,CACA,eAAA,CAGD,qCACC,cAAA,CAGD,qCACC,cAAA,CAGD,qCACC,cAAA,CAGD,qCACC,cAAA,CAGD,sCACC,cAAA,CACA,cAAA,CAGD,qCACC,aAAA,CACA,WAAA,CACA,YAAA,CACA,UAAA,CAGD,2CACC,UAAA,CACA,aAAA,CACA,UAAA,CACA,yCAAA,CACA,eAAA,CAGD,sCACC,oBAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,yCACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,qCACC,iBAAA,CACA,gBAAA,CAEA,uCACC,kBAAA,CAIF,0EACC,iBAAA,CACA,gBAAA,CACA,iBAAA,CAGD,wCACC,oBAAA,CAID,2CACC,sBAAA,CAID,8CACC,sBAAA,CAGD,6CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA,CAIQ,MACR,yCAAA,CACA,oDAAA,CACA,sDAAA,CACA,sDAAA,CACA,0DAAA,CACA,2CAAA,CAGD,wCACC,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,kBAAA,CACA,iBAAA,CACA,yCACC,cAAA,CAID,sFACC,0CAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,8GACC,+CAAA,CAGF,2CACC,kBAAA,CACA,YAAA,CACA,4BAAA,CAED,2CACC,mBAAA,CACA,kBAAA,CACA,qDAAA,CACA,gCAAA,CAEA,+CACC,YAAA,CAGF,2CACC,8CAAA,CACA,oJACC,oDAAA,CAKD,sEAAA,iDAAA,CACA,qEAAA,kDAAA,CAIA,qEAAA,oDAAA,CACA,oEAAA,qDAAA,CAOH,8DACC,aAAA,CAGD,kEACC,8BAAA,CACA,UAAA,CACA,mCAAA,CACA,mBAAA,CACA,QAAA,CAGD,mCACC,UAAA,CDvOD,sCACC,UAAA,CAEA,mDACC,WAAA,CACA,cAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#read-only-editor {\\n\\t@import './../../css/prosemirror';\\n\\toverflow: scroll;\\n}\\n\\n.thumbnailContainer #read-only-editor {\\n\\twidth: 100%;\\n\\n\\t.ProseMirror {\\n\\t\\theight: auto;\\n\\t\\tmargin: 0 0 0 0;\\n\\t\\tpadding: 0;\\n\\t}\\n}\\n\\n\",\"@use \\\"sass:selector\\\";\\n\\n/* Document rendering styles */\\ndiv.ProseMirror {\\n\\tmargin-top: 44px;\\n\\theight: 100%;\\n\\tposition: relative;\\n\\tword-wrap: break-word;\\n\\twhite-space: pre-wrap;\\n\\t-webkit-font-variant-ligatures: none;\\n\\tfont-variant-ligatures: none;\\n\\tpadding: 4px 8px 200px 14px;\\n\\tline-height: 150%;\\n\\tfont-size: 14px;\\n\\toutline: none;\\n\\n\\t&[contenteditable=true],\\n\\t&[contenteditable=false],\\n\\t[contenteditable=true],\\n\\t[contenteditable=false] {\\n\\t\\tborder: none !important;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\topacity: 1;\\n\\t\\t-webkit-user-select: text;\\n\\t\\tuser-select: text;\\n\\t\\tfont-size: 14px;\\n\\n\\t\\t&:focus, &:focus-visible {\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t}\\n\\n\\t\\t* {\\n\\t\\t\\t-webkit-user-modify: read-write-plaintext-only;\\n\\t\\t}\\n\\t}\\n\\n\\t.checkbox-item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: start;\\n\\t\\t// Left-align with list item text\\n\\t\\tmargin-left: -23px;\\n\\n\\t\\tinput[type=checkbox] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tmargin: 3px 6px 3px 2px;\\n\\t\\t\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\theight: 14px;\\n\\t\\t\\twidth: 14px;\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t\\t&.checked{\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tbackground-image: url('../../img/checkbox-mark.svg');\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t\\tlabel {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\ttext-decoration: line-through;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tlabel {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(100% - 28px);\\n\\t\\t}\\n\\t}\\n\\n\\t> *:first-child {\\n\\t\\tmargin-top: 10px;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\ttext-decoration: underline;\\n\\t\\tpadding: .5em 0;\\n\\t}\\n\\n\\tp {\\n\\t\\tmargin-bottom: 1em;\\n\\t\\tline-height: 150%;\\n\\t}\\n\\n\\tem {\\n\\t\\tfont-style: italic;\\n\\t}\\n\\n\\th1,\\n\\th2,\\n\\th3,\\n\\th4,\\n\\th5,\\n\\th6 {\\n\\t\\tfont-weight: 600;\\n\\t\\tline-height: 120%;\\n\\t\\tmargin-top: 24px;\\n\\t\\tmargin-bottom: 12px;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\th1 {\\n\\t\\tfont-size: 36px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th2 {\\n\\t\\tfont-size: 30px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th3 {\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\th4 {\\n\\t\\tfont-size: 21px;\\n\\t}\\n\\n\\th5 {\\n\\t\\tfont-size: 17px;\\n\\t}\\n\\n\\th6 {\\n\\t\\tfont-size: 14px;\\n\\t}\\n\\n\\timg {\\n\\t\\tcursor: default;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\thr {\\n\\t\\tpadding: 2px 0;\\n\\t\\tborder: none;\\n\\t\\tmargin: 3em 0;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\thr:after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\tdisplay: block;\\n\\t\\theight: 1px;\\n\\t\\tbackground-color: var(--color-border-dark);\\n\\t\\tline-height: 2px;\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t\\tpadding-left: 3px;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 0.5em;\\n\\t\\t}\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-left: 10px;\\n\\t\\tmargin-left: 10px;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tul > li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\t// Second-level list entries\\n\\tli ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\t// Third-level and further down list entries\\n\\tli li ul > li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-left: 1em;\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t// table variables\\n\\t@at-root :root {\\n\\t\\t--table-color-border: var(--color-border);\\n\\t\\t--table-color-heading: var(--color-text-maxcontrast);\\n\\t\\t--table-color-heading-border: var(--color-border-dark);\\n\\t\\t--table-color-background: var(--color-main-background);\\n\\t\\t--table-color-background-hover: var(--color-primary-light);\\n\\t\\t--table-border-radius: var(--border-radius);\\n\\t}\\n\\n\\ttable {\\n\\t\\tborder-spacing: 0;\\n\\t\\twidth: calc(100% - 50px);\\n\\t\\ttable-layout: auto;\\n\\t\\twhite-space: normal; // force text to wrapping\\n\\t\\tmargin-bottom: 1em;\\n\\t\\t+ & {\\n\\t\\t\\tmargin-top: 1em;\\n\\t\\t}\\n\\n\\n\\t\\ttd, th {\\n\\t\\t\\tborder: 1px solid var(--table-color-border);\\n\\t\\t\\tborder-left: 0;\\n\\t\\t\\tvertical-align: top;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t&:first-child {\\n\\t\\t\\t\\tborder-left: 1px solid var(--table-color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttd {\\n\\t\\t\\tpadding: 0.5em 0.75em;\\n\\t\\t\\tborder-top: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t\\tth {\\n\\t\\t\\tpadding: 0 0 0 0.75em;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tborder-bottom-color: var(--table-color-heading-border);\\n\\t\\t\\tcolor: var(--table-color-heading);\\n\\n\\t\\t\\t& > div {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttr {\\n\\t\\t\\tbackground-color: var(--table-color-background);\\n\\t\\t\\t&:hover, &:active, &:focus {\\n\\t\\t\\t\\tbackground-color: var(--table-color-background-hover);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\ttr:first-child {\\n\\t\\t\\tth:first-child { border-top-left-radius: var(--table-border-radius); }\\n\\t\\t\\tth:last-child { border-top-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t\\ttr:last-child {\\n\\t\\t\\ttd:first-child { border-bottom-left-radius: var(--table-border-radius); }\\n\\t\\t\\ttd:last-child { border-bottom-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t}\\n\\n}\\n\\n.ProseMirror-focused .ProseMirror-gapcursor {\\n\\tdisplay: block;\\n}\\n\\n.editor__content p.is-empty:first-child::before {\\n\\tcontent: attr(data-placeholder);\\n\\tfloat: left;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tpointer-events: none;\\n\\theight: 0;\\n}\\n\\n.editor__content {\\n\\ttab-size: 4;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../img/checkbox-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"div.ProseMirror{margin-top:44px;height:100%;position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:4px 8px 200px 14px;line-height:150%;font-size:14px;outline:none}div.ProseMirror[contenteditable=true],div.ProseMirror[contenteditable=false],div.ProseMirror [contenteditable=true],div.ProseMirror [contenteditable=false]{border:none !important;width:100%;background-color:rgba(0,0,0,0);color:var(--color-main-text);opacity:1;-webkit-user-select:text;user-select:text;font-size:14px}div.ProseMirror[contenteditable=true]:focus,div.ProseMirror[contenteditable=true]:focus-visible,div.ProseMirror[contenteditable=false]:focus,div.ProseMirror[contenteditable=false]:focus-visible,div.ProseMirror [contenteditable=true]:focus,div.ProseMirror [contenteditable=true]:focus-visible,div.ProseMirror [contenteditable=false]:focus,div.ProseMirror [contenteditable=false]:focus-visible{box-shadow:none !important}div.ProseMirror[contenteditable=true] *,div.ProseMirror[contenteditable=false] *,div.ProseMirror [contenteditable=true] *,div.ProseMirror [contenteditable=false] *{-webkit-user-modify:read-write-plaintext-only}div.ProseMirror .checkbox-item{display:flex;align-items:start;margin-left:-23px}div.ProseMirror .checkbox-item input[type=checkbox]{display:none}div.ProseMirror .checkbox-item:before{content:\\\"\\\";vertical-align:middle;margin:3px 6px 3px 2px;border:1px solid var(--color-text-maxcontrast);position:relative;display:block;border-radius:var(--border-radius);height:14px;width:14px;box-shadow:none !important;background-position:center;cursor:pointer}div.ProseMirror .checkbox-item.checked:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-color:var(--color-primary-element);border-color:var(--color-primary-element)}div.ProseMirror .checkbox-item.checked label{color:var(--color-text-maxcontrast);text-decoration:line-through}div.ProseMirror .checkbox-item label{display:block;flex-grow:1;max-width:calc(100% - 28px)}div.ProseMirror>*:first-child{margin-top:10px}div.ProseMirror a{color:var(--color-primary-element);text-decoration:underline;padding:.5em 0}div.ProseMirror p{margin-bottom:1em;line-height:150%}div.ProseMirror em{font-style:italic}div.ProseMirror h1,div.ProseMirror h2,div.ProseMirror h3,div.ProseMirror h4,div.ProseMirror h5,div.ProseMirror h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}div.ProseMirror h1{font-size:36px;margin-top:48px}div.ProseMirror h2{font-size:30px;margin-top:48px}div.ProseMirror h3{font-size:24px}div.ProseMirror h4{font-size:21px}div.ProseMirror h5{font-size:17px}div.ProseMirror h6{font-size:14px}div.ProseMirror img{cursor:default;max-width:100%}div.ProseMirror hr{padding:2px 0;border:none;margin:3em 0;width:100%}div.ProseMirror hr:after{content:\\\"\\\";display:block;height:1px;background-color:var(--color-border-dark);line-height:2px}div.ProseMirror pre{white-space:pre-wrap;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}div.ProseMirror p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}div.ProseMirror li{position:relative;padding-left:3px}div.ProseMirror li p{margin-bottom:.5em}div.ProseMirror ul,div.ProseMirror ol{padding-left:10px;margin-left:10px;margin-bottom:1em}div.ProseMirror ul>li{list-style-type:disc}div.ProseMirror li ul>li{list-style-type:circle}div.ProseMirror li li ul>li{list-style-type:square}div.ProseMirror blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}:root{--table-color-border: var(--color-border);--table-color-heading: var(--color-text-maxcontrast);--table-color-heading-border: var(--color-border-dark);--table-color-background: var(--color-main-background);--table-color-background-hover: var(--color-primary-light);--table-border-radius: var(--border-radius)}div.ProseMirror table{border-spacing:0;width:calc(100% - 50px);table-layout:auto;white-space:normal;margin-bottom:1em}+div.ProseMirror table{margin-top:1em}div.ProseMirror table td,div.ProseMirror table th{border:1px solid var(--table-color-border);border-left:0;vertical-align:top;max-width:100%}div.ProseMirror table td:first-child,div.ProseMirror table th:first-child{border-left:1px solid var(--table-color-border)}div.ProseMirror table td{padding:.5em .75em;border-top:0;color:var(--color-main-text)}div.ProseMirror table th{padding:0 0 0 .75em;font-weight:normal;border-bottom-color:var(--table-color-heading-border);color:var(--table-color-heading)}div.ProseMirror table th>div{display:flex}div.ProseMirror table tr{background-color:var(--table-color-background)}div.ProseMirror table tr:hover,div.ProseMirror table tr:active,div.ProseMirror table tr:focus{background-color:var(--table-color-background-hover)}div.ProseMirror table tr:first-child th:first-child{border-top-left-radius:var(--table-border-radius)}div.ProseMirror table tr:first-child th:last-child{border-top-right-radius:var(--table-border-radius)}div.ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:var(--table-border-radius)}div.ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:var(--table-border-radius)}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.editor__content p.is-empty:first-child::before{content:attr(data-placeholder);float:left;color:var(--color-text-maxcontrast);pointer-events:none;height:0}.editor__content{tab-size:4}\", \"\",{\"version\":3,\"sources\":[\"webpack://./css/prosemirror.scss\"],\"names\":[],\"mappings\":\"AAGA,gBACC,eAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,mCAAA,CACA,2BAAA,CACA,0BAAA,CACA,gBAAA,CACA,cAAA,CACA,YAAA,CAEA,4JAIC,sBAAA,CACA,UAAA,CACA,8BAAA,CACA,4BAAA,CACA,SAAA,CACA,wBAAA,CACA,gBAAA,CACA,cAAA,CAEA,wYACC,0BAAA,CAGD,oKACC,6CAAA,CAIF,+BACC,YAAA,CACA,iBAAA,CAEA,iBAAA,CAEA,oDACC,YAAA,CAED,sCACC,UAAA,CACA,qBAAA,CACA,sBAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CACA,kCAAA,CACA,WAAA,CACA,UAAA,CACA,0BAAA,CACA,0BAAA,CACA,cAAA,CAGA,8CACC,wDAAA,CACA,6CAAA,CACA,yCAAA,CAED,6CACC,mCAAA,CACA,4BAAA,CAGF,qCACC,aAAA,CACA,WAAA,CACA,2BAAA,CAIF,8BACC,eAAA,CAGD,kBACC,kCAAA,CACA,yBAAA,CACA,cAAA,CAGD,kBACC,iBAAA,CACA,gBAAA,CAGD,mBACC,iBAAA,CAGD,kHAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,mBACC,cAAA,CACA,eAAA,CAGD,mBACC,cAAA,CACA,eAAA,CAGD,mBACC,cAAA,CAGD,mBACC,cAAA,CAGD,mBACC,cAAA,CAGD,mBACC,cAAA,CAGD,oBACC,cAAA,CACA,cAAA,CAGD,mBACC,aAAA,CACA,WAAA,CACA,YAAA,CACA,UAAA,CAGD,yBACC,UAAA,CACA,aAAA,CACA,UAAA,CACA,yCAAA,CACA,eAAA,CAGD,oBACC,oBAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,uBACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,mBACC,iBAAA,CACA,gBAAA,CAEA,qBACC,kBAAA,CAIF,sCACC,iBAAA,CACA,gBAAA,CACA,iBAAA,CAGD,sBACC,oBAAA,CAID,yBACC,sBAAA,CAID,4BACC,sBAAA,CAGD,2BACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA,CAIQ,MACR,yCAAA,CACA,oDAAA,CACA,sDAAA,CACA,sDAAA,CACA,0DAAA,CACA,2CAAA,CAGD,sBACC,gBAAA,CACA,uBAAA,CACA,iBAAA,CACA,kBAAA,CACA,iBAAA,CACA,uBACC,cAAA,CAID,kDACC,0CAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,0EACC,+CAAA,CAGF,yBACC,kBAAA,CACA,YAAA,CACA,4BAAA,CAED,yBACC,mBAAA,CACA,kBAAA,CACA,qDAAA,CACA,gCAAA,CAEA,6BACC,YAAA,CAGF,yBACC,8CAAA,CACA,8FACC,oDAAA,CAKD,oDAAA,iDAAA,CACA,mDAAA,kDAAA,CAIA,mDAAA,oDAAA,CACA,kDAAA,qDAAA,CAOH,4CACC,aAAA,CAGD,gDACC,8BAAA,CACA,UAAA,CACA,mCAAA,CACA,mBAAA,CACA,QAAA,CAGD,iBACC,UAAA\",\"sourcesContent\":[\"@use \\\"sass:selector\\\";\\n\\n/* Document rendering styles */\\ndiv.ProseMirror {\\n\\tmargin-top: 44px;\\n\\theight: 100%;\\n\\tposition: relative;\\n\\tword-wrap: break-word;\\n\\twhite-space: pre-wrap;\\n\\t-webkit-font-variant-ligatures: none;\\n\\tfont-variant-ligatures: none;\\n\\tpadding: 4px 8px 200px 14px;\\n\\tline-height: 150%;\\n\\tfont-size: 14px;\\n\\toutline: none;\\n\\n\\t&[contenteditable=true],\\n\\t&[contenteditable=false],\\n\\t[contenteditable=true],\\n\\t[contenteditable=false] {\\n\\t\\tborder: none !important;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\topacity: 1;\\n\\t\\t-webkit-user-select: text;\\n\\t\\tuser-select: text;\\n\\t\\tfont-size: 14px;\\n\\n\\t\\t&:focus, &:focus-visible {\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t}\\n\\n\\t\\t* {\\n\\t\\t\\t-webkit-user-modify: read-write-plaintext-only;\\n\\t\\t}\\n\\t}\\n\\n\\t.checkbox-item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: start;\\n\\t\\t// Left-align with list item text\\n\\t\\tmargin-left: -23px;\\n\\n\\t\\tinput[type=checkbox] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tmargin: 3px 6px 3px 2px;\\n\\t\\t\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\theight: 14px;\\n\\t\\t\\twidth: 14px;\\n\\t\\t\\tbox-shadow: none !important;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t\\t&.checked{\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tbackground-image: url('../../img/checkbox-mark.svg');\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t\\tlabel {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\ttext-decoration: line-through;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tlabel {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(100% - 28px);\\n\\t\\t}\\n\\t}\\n\\n\\t> *:first-child {\\n\\t\\tmargin-top: 10px;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\ttext-decoration: underline;\\n\\t\\tpadding: .5em 0;\\n\\t}\\n\\n\\tp {\\n\\t\\tmargin-bottom: 1em;\\n\\t\\tline-height: 150%;\\n\\t}\\n\\n\\tem {\\n\\t\\tfont-style: italic;\\n\\t}\\n\\n\\th1,\\n\\th2,\\n\\th3,\\n\\th4,\\n\\th5,\\n\\th6 {\\n\\t\\tfont-weight: 600;\\n\\t\\tline-height: 120%;\\n\\t\\tmargin-top: 24px;\\n\\t\\tmargin-bottom: 12px;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\th1 {\\n\\t\\tfont-size: 36px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th2 {\\n\\t\\tfont-size: 30px;\\n\\t\\tmargin-top: 48px;\\n\\t}\\n\\n\\th3 {\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\th4 {\\n\\t\\tfont-size: 21px;\\n\\t}\\n\\n\\th5 {\\n\\t\\tfont-size: 17px;\\n\\t}\\n\\n\\th6 {\\n\\t\\tfont-size: 14px;\\n\\t}\\n\\n\\timg {\\n\\t\\tcursor: default;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\thr {\\n\\t\\tpadding: 2px 0;\\n\\t\\tborder: none;\\n\\t\\tmargin: 3em 0;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\thr:after {\\n\\t\\tcontent: \\\"\\\";\\n\\t\\tdisplay: block;\\n\\t\\theight: 1px;\\n\\t\\tbackground-color: var(--color-border-dark);\\n\\t\\tline-height: 2px;\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t\\tpadding-left: 3px;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 0.5em;\\n\\t\\t}\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-left: 10px;\\n\\t\\tmargin-left: 10px;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tul > li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\t// Second-level list entries\\n\\tli ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\t// Third-level and further down list entries\\n\\tli li ul > li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-left: 1em;\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t// table variables\\n\\t@at-root :root {\\n\\t\\t--table-color-border: var(--color-border);\\n\\t\\t--table-color-heading: var(--color-text-maxcontrast);\\n\\t\\t--table-color-heading-border: var(--color-border-dark);\\n\\t\\t--table-color-background: var(--color-main-background);\\n\\t\\t--table-color-background-hover: var(--color-primary-light);\\n\\t\\t--table-border-radius: var(--border-radius);\\n\\t}\\n\\n\\ttable {\\n\\t\\tborder-spacing: 0;\\n\\t\\twidth: calc(100% - 50px);\\n\\t\\ttable-layout: auto;\\n\\t\\twhite-space: normal; // force text to wrapping\\n\\t\\tmargin-bottom: 1em;\\n\\t\\t+ & {\\n\\t\\t\\tmargin-top: 1em;\\n\\t\\t}\\n\\n\\n\\t\\ttd, th {\\n\\t\\t\\tborder: 1px solid var(--table-color-border);\\n\\t\\t\\tborder-left: 0;\\n\\t\\t\\tvertical-align: top;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t&:first-child {\\n\\t\\t\\t\\tborder-left: 1px solid var(--table-color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttd {\\n\\t\\t\\tpadding: 0.5em 0.75em;\\n\\t\\t\\tborder-top: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t\\tth {\\n\\t\\t\\tpadding: 0 0 0 0.75em;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tborder-bottom-color: var(--table-color-heading-border);\\n\\t\\t\\tcolor: var(--table-color-heading);\\n\\n\\t\\t\\t& > div {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ttr {\\n\\t\\t\\tbackground-color: var(--table-color-background);\\n\\t\\t\\t&:hover, &:active, &:focus {\\n\\t\\t\\t\\tbackground-color: var(--table-color-background-hover);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\ttr:first-child {\\n\\t\\t\\tth:first-child { border-top-left-radius: var(--table-border-radius); }\\n\\t\\t\\tth:last-child { border-top-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t\\ttr:last-child {\\n\\t\\t\\ttd:first-child { border-bottom-left-radius: var(--table-border-radius); }\\n\\t\\t\\ttd:last-child { border-bottom-right-radius: var(--table-border-radius); }\\n\\t\\t}\\n\\n\\t}\\n\\n}\\n\\n.ProseMirror-focused .ProseMirror-gapcursor {\\n\\tdisplay: block;\\n}\\n\\n.editor__content p.is-empty:first-child::before {\\n\\tcontent: attr(data-placeholder);\\n\\tfloat: left;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tpointer-events: none;\\n\\theight: 0;\\n}\\n\\n.editor__content {\\n\\ttab-size: 4;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".callout[data-v-5cc49600]{background-color:var(--callout-background, var(--color-background-hover));border-left-color:var(--callout-border, var(--color-primary-element));border-radius:var(--border-radius);padding:1em;padding-left:.5em;border-left-width:.3em;border-left-style:solid;position:relative;margin-bottom:.5em;display:flex;align-items:center;justify-content:flex-start}+.callout[data-v-5cc49600]{margin-top:.5em}.callout .callout__content[data-v-5cc49600]{margin-left:1em}.callout .callout__content[data-v-5cc49600] p:last-child{margin-bottom:0}.callout .callout__icon[data-v-5cc49600],.callout .callout__icon[data-v-5cc49600] svg{color:var(--callout-border)}.callout[data-v-5cc49600],.callout--info[data-v-5cc49600]{--callout-border: var(--color-primary-element)}.callout--warn[data-v-5cc49600]{--callout-border: var(--color-warning)}.callout--error[data-v-5cc49600]{--callout-border: var(--color-error)}.callout--success[data-v-5cc49600]{--callout-border: var(--color-success)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/nodes/Callout.vue\"],\"names\":[],\"mappings\":\"AAmEA,0BACC,yEAAA,CACA,qEAAA,CACA,kCAAA,CACA,WAAA,CACA,iBAAA,CACA,sBAAA,CACA,uBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,YAAA,CACA,kBAAA,CACA,0BAAA,CAEA,2BACC,eAAA,CAGD,4CACC,eAAA,CAEC,yDACC,eAAA,CAMF,uFACC,2BAAA,CAKF,0DACC,8CAAA,CAID,gCACC,sCAAA,CAID,iCACC,oCAAA,CAID,mCACC,sCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.callout {\\n\\tbackground-color: var(--callout-background, var(--color-background-hover));\\n\\tborder-left-color: var(--callout-border, var(--color-primary-element));\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em;\\n\\tpadding-left: 0.5em;\\n\\tborder-left-width: 0.3em;\\n\\tborder-left-style: solid;\\n\\tposition: relative;\\n\\tmargin-bottom: 0.5em;\\n\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: flex-start;\\n\\n\\t+ & {\\n\\t\\tmargin-top: 0.5em;\\n\\t}\\n\\n\\t.callout__content {\\n\\t\\tmargin-left: 1em;\\n\\t\\t&::v-deep p {\\n\\t\\t\\t&:last-child {\\n\\t\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.callout__icon {\\n\\t\\t&, ::v-deep svg {\\n\\t\\t\\tcolor: var(--callout-border);\\n\\t\\t}\\n\\t}\\n\\n\\t// Info (default) variables\\n\\t&, &--info {\\n\\t\\t--callout-border: var(--color-primary-element);\\n\\t}\\n\\n\\t// Warn variables\\n\\t&--warn {\\n\\t\\t--callout-border: var(--color-warning);\\n\\t}\\n\\n\\t// Error variables\\n\\t&--error {\\n\\t\\t--callout-border: var(--color-error);\\n\\t}\\n\\n\\t// Success variables\\n\\t&--success {\\n\\t\\t--callout-border: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".image[data-v-38d6a546]{margin:0;padding:0}.image__caption[data-v-38d6a546]{text-align:center;color:var(--color-text-lighter);display:flex;align-items:center;justify-content:center}.image__caption input[type=text][data-v-38d6a546]{max-width:80%;border:none;text-align:center;background-color:rgba(0,0,0,0)}.image__loading[data-v-38d6a546]{height:100px}.image__main--broken-icon[data-v-38d6a546],.image__error-message[data-v-38d6a546]{color:var(--color-text-maxcontrast)}.image__view[data-v-38d6a546]{text-align:center;position:relative}.image__view img[data-v-38d6a546]{max-width:100%}.image__main[data-v-38d6a546]{max-height:calc(100vh - 50px - 50px)}.image__error-message[data-v-38d6a546]{display:block;text-align:center}.fade-enter-active[data-v-38d6a546]{transition:opacity .3s ease-in-out}.fade-enter-to[data-v-38d6a546]{opacity:1}.fade-enter[data-v-38d6a546]{opacity:0}.image__caption__delete[data-v-38d6a546]{position:absolute;right:0;display:flex;justify-content:flex-end;align-items:center;width:20px;height:20px}.image__caption__delete[data-v-38d6a546],.image__caption__delete svg[data-v-38d6a546]{cursor:pointer}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/nodes/ImageView.vue\"],\"names\":[],\"mappings\":\"AA4QA,wBACC,QAAA,CACA,SAAA,CAGD,iCACC,iBAAA,CACA,+BAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,kDACC,aAAA,CACA,WAAA,CACA,iBAAA,CACA,8BAAA,CAIF,iCACC,YAAA,CAGD,kFACC,mCAAA,CAGD,8BACC,iBAAA,CACA,iBAAA,CAEA,kCACC,cAAA,CAIF,8BACC,oCAAA,CAGD,uCACC,aAAA,CACA,iBAAA,CAGD,oCACC,kCAAA,CAGD,gCACC,SAAA,CAGD,6BACC,SAAA,CAGD,yCACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,sFACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.image {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n}\\n\\n.image__caption {\\n\\ttext-align: center;\\n\\tcolor: var(--color-text-lighter);\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tinput[type='text'] {\\n\\t\\tmax-width: 80%;\\n\\t\\tborder: none;\\n\\t\\ttext-align: center;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n}\\n\\n.image__loading {\\n\\theight: 100px;\\n}\\n\\n.image__main--broken-icon, .image__error-message {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\\n.image__view {\\n\\ttext-align: center;\\n\\tposition: relative;\\n\\n\\timg {\\n\\t\\tmax-width: 100%;\\n\\t}\\n}\\n\\n.image__main {\\n\\tmax-height: calc(100vh - 50px - 50px);\\n}\\n\\n.image__error-message {\\n\\tdisplay: block;\\n\\ttext-align: center;\\n}\\n\\n.fade-enter-active {\\n\\ttransition: opacity .3s ease-in-out;\\n}\\n\\n.fade-enter-to {\\n\\topacity: 1;\\n}\\n\\n.fade-enter {\\n\\topacity: 0;\\n}\\n\\n.image__caption__delete {\\n\\tposition: absolute;\\n\\tright: 0;\\n\\tdisplay: flex;\\n\\tjustify-content: flex-end;\\n\\talign-items: center;\\n\\twidth: 20px;\\n\\theight: 20px;\\n\\t&, svg {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"td[data-v-bef9ed02]{position:relative}td .container[data-v-bef9ed02]{display:flex;flex-wrap:wrap;min-height:36px}td .content[data-v-bef9ed02]{flex:1 1 0;margin:0;padding-top:.6em}td .action-item[data-v-bef9ed02]{position:absolute;right:-48px;flex:0 1 auto;display:none;top:2px}td:last-child .action-item[data-v-bef9ed02]{display:block;opacity:50%}td:last-child:hover .action-item[data-v-bef9ed02],td:last-child:active .action-item[data-v-bef9ed02],td:last-child:focus .action-item[data-v-bef9ed02],td:last-child:focus-within .action-item[data-v-bef9ed02]{opacity:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/nodes/Table/TableCellView.vue\"],\"names\":[],\"mappings\":\"AAkHA,oBACC,iBAAA,CAEA,+BACC,YAAA,CACA,cAAA,CACA,eAAA,CAGD,6BACC,UAAA,CACA,QAAA,CACA,gBAAA,CAGD,iCACC,iBAAA,CACA,WAAA,CACA,aAAA,CACA,YAAA,CACA,OAAA,CAIA,4CACC,aAAA,CACA,WAAA,CAIA,gNACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\ntd {\\n\\tposition: relative;\\n\\n\\t.container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tmin-height: 36px;\\n\\t}\\n\\n\\t.content {\\n\\t\\tflex: 1 1 0;\\n\\t\\tmargin: 0;\\n\\t\\tpadding-top: 0.6em;\\n\\t}\\n\\n\\t.action-item {\\n\\t\\tposition: absolute;\\n\\t\\tright: -48px;\\n\\t\\tflex: 0 1 auto;\\n\\t\\tdisplay: none;\\n\\t\\ttop: 2px;\\n\\t}\\n\\n\\t&:last-child {\\n\\t\\t.action-item {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\topacity: 50%;\\n\\t\\t}\\n\\n\\t\\t&:hover, &:active, &:focus, &:focus-within {\\n\\t\\t\\t.action-item {\\n\\t\\t\\t\\topacity: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"th .content[data-v-aefbe706]{margin:0;padding-top:.75em;flex-grow:1}th .action-item[data-v-aefbe706]{opacity:50%}th:hover .action-item[data-v-aefbe706],th:active .action-item[data-v-aefbe706],th:focus .action-item[data-v-aefbe706],th:focus-within .action-item[data-v-aefbe706]{opacity:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/nodes/Table/TableHeaderView.vue\"],\"names\":[],\"mappings\":\"AAoHC,6BACC,QAAA,CACA,iBAAA,CACA,WAAA,CAGD,iCACC,WAAA,CAIA,oKACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nth {\\n\\n\\t.content {\\n\\t\\tmargin: 0;\\n\\t\\tpadding-top: 0.75em;\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t.action-item {\\n\\t\\topacity: 50%;\\n\\t}\\n\\n\\t&:hover, &:active, &:focus, &:focus-within {\\n\\t\\t.action-item {\\n\\t\\t\\topacity: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".clearfix[data-v-8c5f0358]{clear:both}table[data-v-8c5f0358]{float:left}.table-settings[data-v-8c5f0358]{padding-left:3px;opacity:.5}.table-settings[data-v-8c5f0358]:hover{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/nodes/Table/TableView.vue\"],\"names\":[],\"mappings\":\"AA+EA,2BACC,UAAA,CAGD,uBACC,UAAA,CAGD,iCACC,gBAAA,CACA,UAAA,CAEA,uCACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.clearfix {\\n\\tclear: both;\\n}\\n\\ntable {\\n\\tfloat: left;\\n}\\n\\n.table-settings {\\n\\tpadding-left: 3px;\\n\\topacity: .5;\\n\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body[data-v-5c2efba8]{position:fixed}#direct-editor[data-v-5c2efba8]{width:100%;height:100%;position:fixed;overflow:hidden}#direct-editor[data-v-5c2efba8] .text-editor{height:100%;top:0}#direct-editor[data-v-5c2efba8] .text-editor__wrapper div.ProseMirror{margin-top:0}pre[data-v-5c2efba8]{width:100%;max-width:700px;margin:auto;background-color:var(--color-background-dark)}button[data-v-5c2efba8]{width:44px;height:44px;margin:0;background-size:16px;border:0;background-color:rgba(0,0,0,0);opacity:.5;color:var(--color-main-text);background-position:center center;vertical-align:top}button[data-v-5c2efba8]:hover,button[data-v-5c2efba8]:focus,button[data-v-5c2efba8]:active{background-color:var(--color-background-dark)}button.is-active[data-v-5c2efba8],button[data-v-5c2efba8]:hover,button[data-v-5c2efba8]:focus{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/DirectEditing.vue\"],\"names\":[],\"mappings\":\"AAgIA,sBACC,cAAA,CAGD,gCACC,UAAA,CACA,WAAA,CACA,cAAA,CACA,eAAA,CAEA,6CACC,WAAA,CACA,KAAA,CAED,sEACC,YAAA,CAIF,qBACC,UAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CAGD,wBACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,oBAAA,CACA,QAAA,CACA,8BAAA,CACA,UAAA,CACA,4BAAA,CACA,iCAAA,CACA,kBAAA,CACA,2FACC,6CAAA,CAED,8FAGC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nbody {\\n\\tposition: fixed;\\n}\\n\\n#direct-editor {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tposition: fixed;\\n\\toverflow: hidden;\\n\\n\\t&::v-deep .text-editor {\\n\\t\\theight: 100%;\\n\\t\\ttop: 0;\\n\\t}\\n\\t&::v-deep .text-editor__wrapper div.ProseMirror {\\n\\t\\tmargin-top: 0;\\n\\t}\\n}\\n\\npre {\\n\\twidth: 100%;\\n\\tmax-width: 700px;\\n\\tmargin: auto;\\n\\tbackground-color: var(--color-background-dark);\\n}\\n\\nbutton {\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tbackground-size: 16px;\\n\\tborder: 0;\\n\\tbackground-color: transparent;\\n\\topacity: .5;\\n\\tcolor: var(--color-main-text);\\n\\tbackground-position: center center;\\n\\tvertical-align: top;\\n\\t&:hover, &:focus, &:active {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\t&.is-active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","function deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear = obj.delete = obj.set = function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add = obj.clear = obj.delete = function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n var prop = obj[name];\n\n // Freeze prop if it is an object\n if (typeof prop == 'object' && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\nvar deepFreezeEs6 = deepFreeze;\nvar _default = deepFreeze;\ndeepFreezeEs6.default = _default;\n\n/** @implements CallbackResponse */\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{kind?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = ' `\n };\n\n const VuePlugin = {\n install(Vue) {\n Vue.component('highlightjs', Component);\n }\n };\n\n return { Component, VuePlugin };\n}\n\n/* plugin itself */\n\n/** @type {HLJSPlugin} */\nconst mergeHTMLPlugin = {\n \"after:highlightElement\": ({ el, result, text }) => {\n const originalStream = nodeStream(el);\n if (!originalStream.length) return;\n\n const resultNode = document.createElement('div');\n resultNode.innerHTML = result.value;\n result.value = mergeStreams(originalStream, nodeStream(resultNode), text);\n }\n};\n\n/* Stream merging support functions */\n\n/**\n * @typedef Event\n * @property {'start'|'stop'} event\n * @property {number} offset\n * @property {Node} node\n */\n\n/**\n * @param {Node} node\n */\nfunction tag(node) {\n return node.nodeName.toLowerCase();\n}\n\n/**\n * @param {Node} node\n */\nfunction nodeStream(node) {\n /** @type Event[] */\n const result = [];\n (function _nodeStream(node, offset) {\n for (let child = node.firstChild; child; child = child.nextSibling) {\n if (child.nodeType === 3) {\n offset += child.nodeValue.length;\n } else if (child.nodeType === 1) {\n result.push({\n event: 'start',\n offset: offset,\n node: child\n });\n offset = _nodeStream(child, offset);\n // Prevent void elements from having an end tag that would actually\n // double them in the output. There are more void elements in HTML\n // but we list only those realistically expected in code display.\n if (!tag(child).match(/br|hr|img|input/)) {\n result.push({\n event: 'stop',\n offset: offset,\n node: child\n });\n }\n }\n }\n return offset;\n })(node, 0);\n return result;\n}\n\n/**\n * @param {any} original - the original stream\n * @param {any} highlighted - stream of the highlighted source\n * @param {string} value - the original source itself\n */\nfunction mergeStreams(original, highlighted, value) {\n let processed = 0;\n let result = '';\n const nodeStack = [];\n\n function selectStream() {\n if (!original.length || !highlighted.length) {\n return original.length ? original : highlighted;\n }\n if (original[0].offset !== highlighted[0].offset) {\n return (original[0].offset < highlighted[0].offset) ? original : highlighted;\n }\n\n /*\n To avoid starting the stream just before it should stop the order is\n ensured that original always starts first and closes last:\n\n if (event1 == 'start' && event2 == 'start')\n return original;\n if (event1 == 'start' && event2 == 'stop')\n return highlighted;\n if (event1 == 'stop' && event2 == 'start')\n return original;\n if (event1 == 'stop' && event2 == 'stop')\n return highlighted;\n\n ... which is collapsed to:\n */\n return highlighted[0].event === 'start' ? original : highlighted;\n }\n\n /**\n * @param {Node} node\n */\n function open(node) {\n /** @param {Attr} attr */\n function attributeString(attr) {\n return ' ' + attr.nodeName + '=\"' + escapeHTML(attr.value) + '\"';\n }\n // @ts-ignore\n result += '<' + tag(node) + [].map.call(node.attributes, attributeString).join('') + '>';\n }\n\n /**\n * @param {Node} node\n */\n function close(node) {\n result += '' + tag(node) + '>';\n }\n\n /**\n * @param {Event} event\n */\n function render(event) {\n (event.event === 'start' ? open : close)(event.node);\n }\n\n while (original.length || highlighted.length) {\n let stream = selectStream();\n result += escapeHTML(value.substring(processed, stream[0].offset));\n processed = stream[0].offset;\n if (stream === original) {\n /*\n On any opening or closing tag of the original markup we first close\n the entire highlighted node stack, then render the original tag along\n with all the following original tags at the same offset and then\n reopen all the tags on the highlighted stack.\n */\n nodeStack.reverse().forEach(close);\n do {\n render(stream.splice(0, 1)[0]);\n stream = selectStream();\n } while (stream === original && stream.length && stream[0].offset === processed);\n nodeStack.reverse().forEach(open);\n } else {\n if (stream[0].event === 'start') {\n nodeStack.push(stream[0].node);\n } else {\n nodeStack.pop();\n }\n render(stream.splice(0, 1)[0]);\n }\n }\n return result + escapeHTML(value.substr(processed));\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record blocks on a page\n *\n * @type {Function & {called?: boolean}}\n */\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n if (initHighlighting.called) return;\n initHighlighting.called = true;\n\n deprecated(\"10.6.0\", \"initHighlighting() is deprecated. Use highlightAll() instead.\");\n\n const blocks = document.querySelectorAll('pre code');\n blocks.forEach(highlightElement);\n };\n\n // Higlights all when DOMContentLoaded fires\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() is deprecated. Use highlightAll() instead.\");\n wantsHighlight = true;\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll('pre code');\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n intended usage: When one language truly requires another\n\n Unlike `getLanguage`, this will throw when the requested language\n is not available.\n\n @param {string} name - name of the language to fetch/require\n @returns {Language | never}\n */\n function requireLanguage(name) {\n deprecated(\"10.4.0\", \"requireLanguage will be removed entirely in v11.\");\n deprecated(\"10.4.0\", \"Please see https://github.com/highlightjs/highlight.js/pull/2844\");\n\n const lang = getLanguage(name);\n if (lang) { return lang; }\n\n const err = new Error('The \\'{}\\' language is required, but not loaded.'.replace('{}', name));\n throw err;\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n Note: fixMarkup is deprecated and will be removed entirely in v11\n\n @param {string} arg\n @returns {string}\n */\n function deprecateFixMarkup(arg) {\n deprecated(\"10.2.0\", \"fixMarkup will be removed entirely in v11.0\");\n deprecated(\"10.2.0\", \"Please see https://github.com/highlightjs/highlight.js/issues/2534\");\n\n return fixMarkup(arg);\n }\n\n /**\n *\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n fixMarkup: deprecateFixMarkup,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n requireLanguage,\n autoDetection,\n inherit: inherit$1,\n addPlugin,\n // plugins for frameworks\n vuePlugin: BuildVuePlugin(hljs).VuePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreezeEs6(MODES[key]);\n }\n }\n\n // merge all the modes/regexs into our main object\n Object.assign(hljs, MODES);\n\n // built-in plugins, likely to be moved out of core in the future\n hljs.addPlugin(brPlugin); // slated to be removed in v11\n hljs.addPlugin(mergeHTMLPlugin);\n hljs.addPlugin(tabReplacePlugin);\n return hljs;\n};\n\n// export an \"instance\" of the highlighter\nvar highlight = HLJS({});\n\nmodule.exports = highlight;\n","var map = {\n\t\"./1c\": [\n\t\t73870,\n\t\t\"highlight/1c\"\n\t],\n\t\"./1c.js\": [\n\t\t73870,\n\t\t\"highlight/1c\"\n\t],\n\t\"./abnf\": [\n\t\t1122,\n\t\t\"highlight/abnf\"\n\t],\n\t\"./abnf.js\": [\n\t\t1122,\n\t\t\"highlight/abnf\"\n\t],\n\t\"./accesslog\": [\n\t\t63074,\n\t\t\"highlight/accesslog\"\n\t],\n\t\"./accesslog.js\": [\n\t\t63074,\n\t\t\"highlight/accesslog\"\n\t],\n\t\"./actionscript\": [\n\t\t39696,\n\t\t\"highlight/actionscript\"\n\t],\n\t\"./actionscript.js\": [\n\t\t39696,\n\t\t\"highlight/actionscript\"\n\t],\n\t\"./ada\": [\n\t\t19389,\n\t\t\"highlight/ada\"\n\t],\n\t\"./ada.js\": [\n\t\t19389,\n\t\t\"highlight/ada\"\n\t],\n\t\"./angelscript\": [\n\t\t46147,\n\t\t\"highlight/angelscript\"\n\t],\n\t\"./angelscript.js\": [\n\t\t46147,\n\t\t\"highlight/angelscript\"\n\t],\n\t\"./apache\": [\n\t\t96936,\n\t\t\"highlight/apache\"\n\t],\n\t\"./apache.js\": [\n\t\t96936,\n\t\t\"highlight/apache\"\n\t],\n\t\"./applescript\": [\n\t\t5460,\n\t\t\"highlight/applescript\"\n\t],\n\t\"./applescript.js\": [\n\t\t5460,\n\t\t\"highlight/applescript\"\n\t],\n\t\"./arcade\": [\n\t\t43178,\n\t\t\"highlight/arcade\"\n\t],\n\t\"./arcade.js\": [\n\t\t43178,\n\t\t\"highlight/arcade\"\n\t],\n\t\"./arduino\": [\n\t\t1232,\n\t\t\"highlight/arduino\"\n\t],\n\t\"./arduino.js\": [\n\t\t1232,\n\t\t\"highlight/arduino\"\n\t],\n\t\"./armasm\": [\n\t\t71196,\n\t\t\"highlight/armasm\"\n\t],\n\t\"./armasm.js\": [\n\t\t71196,\n\t\t\"highlight/armasm\"\n\t],\n\t\"./asciidoc\": [\n\t\t90630,\n\t\t\"highlight/asciidoc\"\n\t],\n\t\"./asciidoc.js\": [\n\t\t90630,\n\t\t\"highlight/asciidoc\"\n\t],\n\t\"./aspectj\": [\n\t\t25044,\n\t\t\"highlight/aspectj\"\n\t],\n\t\"./aspectj.js\": [\n\t\t25044,\n\t\t\"highlight/aspectj\"\n\t],\n\t\"./autohotkey\": [\n\t\t67130,\n\t\t\"highlight/autohotkey\"\n\t],\n\t\"./autohotkey.js\": [\n\t\t67130,\n\t\t\"highlight/autohotkey\"\n\t],\n\t\"./autoit\": [\n\t\t75039,\n\t\t\"highlight/autoit\"\n\t],\n\t\"./autoit.js\": [\n\t\t75039,\n\t\t\"highlight/autoit\"\n\t],\n\t\"./avrasm\": [\n\t\t18324,\n\t\t\"highlight/avrasm\"\n\t],\n\t\"./avrasm.js\": [\n\t\t18324,\n\t\t\"highlight/avrasm\"\n\t],\n\t\"./awk\": [\n\t\t40070,\n\t\t\"highlight/awk\"\n\t],\n\t\"./awk.js\": [\n\t\t40070,\n\t\t\"highlight/awk\"\n\t],\n\t\"./axapta\": [\n\t\t80149,\n\t\t\"highlight/axapta\"\n\t],\n\t\"./axapta.js\": [\n\t\t80149,\n\t\t\"highlight/axapta\"\n\t],\n\t\"./bash\": [\n\t\t61519,\n\t\t\"highlight/bash\"\n\t],\n\t\"./bash.js\": [\n\t\t61519,\n\t\t\"highlight/bash\"\n\t],\n\t\"./basic\": [\n\t\t56827,\n\t\t\"highlight/basic\"\n\t],\n\t\"./basic.js\": [\n\t\t56827,\n\t\t\"highlight/basic\"\n\t],\n\t\"./bnf\": [\n\t\t78349,\n\t\t\"highlight/bnf\"\n\t],\n\t\"./bnf.js\": [\n\t\t78349,\n\t\t\"highlight/bnf\"\n\t],\n\t\"./brainfuck\": [\n\t\t44536,\n\t\t\"highlight/brainfuck\"\n\t],\n\t\"./brainfuck.js\": [\n\t\t44536,\n\t\t\"highlight/brainfuck\"\n\t],\n\t\"./c\": [\n\t\t25745,\n\t\t\"highlight/c\"\n\t],\n\t\"./c-like\": [\n\t\t58212,\n\t\t\"highlight/c-like\"\n\t],\n\t\"./c-like.js\": [\n\t\t58212,\n\t\t\"highlight/c-like\"\n\t],\n\t\"./c.js\": [\n\t\t25745,\n\t\t\"highlight/c\"\n\t],\n\t\"./cal\": [\n\t\t45041,\n\t\t\"highlight/cal\"\n\t],\n\t\"./cal.js\": [\n\t\t45041,\n\t\t\"highlight/cal\"\n\t],\n\t\"./capnproto\": [\n\t\t51446,\n\t\t\"highlight/capnproto\"\n\t],\n\t\"./capnproto.js\": [\n\t\t51446,\n\t\t\"highlight/capnproto\"\n\t],\n\t\"./ceylon\": [\n\t\t1795,\n\t\t\"highlight/ceylon\"\n\t],\n\t\"./ceylon.js\": [\n\t\t1795,\n\t\t\"highlight/ceylon\"\n\t],\n\t\"./clean\": [\n\t\t82280,\n\t\t\"highlight/clean\"\n\t],\n\t\"./clean.js\": [\n\t\t82280,\n\t\t\"highlight/clean\"\n\t],\n\t\"./clojure\": [\n\t\t36134,\n\t\t\"highlight/clojure\"\n\t],\n\t\"./clojure-repl\": [\n\t\t36746,\n\t\t\"highlight/clojure-repl\"\n\t],\n\t\"./clojure-repl.js\": [\n\t\t36746,\n\t\t\"highlight/clojure-repl\"\n\t],\n\t\"./clojure.js\": [\n\t\t36134,\n\t\t\"highlight/clojure\"\n\t],\n\t\"./cmake\": [\n\t\t71422,\n\t\t\"highlight/cmake\"\n\t],\n\t\"./cmake.js\": [\n\t\t71422,\n\t\t\"highlight/cmake\"\n\t],\n\t\"./coffeescript\": [\n\t\t6691,\n\t\t\"highlight/coffeescript\"\n\t],\n\t\"./coffeescript.js\": [\n\t\t6691,\n\t\t\"highlight/coffeescript\"\n\t],\n\t\"./coq\": [\n\t\t73621,\n\t\t\"highlight/coq\"\n\t],\n\t\"./coq.js\": [\n\t\t73621,\n\t\t\"highlight/coq\"\n\t],\n\t\"./cos\": [\n\t\t69586,\n\t\t\"highlight/cos\"\n\t],\n\t\"./cos.js\": [\n\t\t69586,\n\t\t\"highlight/cos\"\n\t],\n\t\"./cpp\": [\n\t\t74006,\n\t\t\"highlight/cpp\"\n\t],\n\t\"./cpp.js\": [\n\t\t74006,\n\t\t\"highlight/cpp\"\n\t],\n\t\"./crmsh\": [\n\t\t37641,\n\t\t\"highlight/crmsh\"\n\t],\n\t\"./crmsh.js\": [\n\t\t37641,\n\t\t\"highlight/crmsh\"\n\t],\n\t\"./crystal\": [\n\t\t91139,\n\t\t\"highlight/crystal\"\n\t],\n\t\"./crystal.js\": [\n\t\t91139,\n\t\t\"highlight/crystal\"\n\t],\n\t\"./csharp\": [\n\t\t681,\n\t\t\"highlight/csharp\"\n\t],\n\t\"./csharp.js\": [\n\t\t681,\n\t\t\"highlight/csharp\"\n\t],\n\t\"./csp\": [\n\t\t60530,\n\t\t\"highlight/csp\"\n\t],\n\t\"./csp.js\": [\n\t\t60530,\n\t\t\"highlight/csp\"\n\t],\n\t\"./css\": [\n\t\t68914,\n\t\t\"highlight/css\"\n\t],\n\t\"./css.js\": [\n\t\t68914,\n\t\t\"highlight/css\"\n\t],\n\t\"./d\": [\n\t\t89968,\n\t\t\"highlight/d\"\n\t],\n\t\"./d.js\": [\n\t\t89968,\n\t\t\"highlight/d\"\n\t],\n\t\"./dart\": [\n\t\t65778,\n\t\t\"highlight/dart\"\n\t],\n\t\"./dart.js\": [\n\t\t65778,\n\t\t\"highlight/dart\"\n\t],\n\t\"./delphi\": [\n\t\t48008,\n\t\t\"highlight/delphi\"\n\t],\n\t\"./delphi.js\": [\n\t\t48008,\n\t\t\"highlight/delphi\"\n\t],\n\t\"./diff\": [\n\t\t91833,\n\t\t\"highlight/diff\"\n\t],\n\t\"./diff.js\": [\n\t\t91833,\n\t\t\"highlight/diff\"\n\t],\n\t\"./django\": [\n\t\t45253,\n\t\t\"highlight/django\"\n\t],\n\t\"./django.js\": [\n\t\t45253,\n\t\t\"highlight/django\"\n\t],\n\t\"./dns\": [\n\t\t65594,\n\t\t\"highlight/dns\"\n\t],\n\t\"./dns.js\": [\n\t\t65594,\n\t\t\"highlight/dns\"\n\t],\n\t\"./dockerfile\": [\n\t\t27055,\n\t\t\"highlight/dockerfile\"\n\t],\n\t\"./dockerfile.js\": [\n\t\t27055,\n\t\t\"highlight/dockerfile\"\n\t],\n\t\"./dos\": [\n\t\t85215,\n\t\t\"highlight/dos\"\n\t],\n\t\"./dos.js\": [\n\t\t85215,\n\t\t\"highlight/dos\"\n\t],\n\t\"./dsconfig\": [\n\t\t71524,\n\t\t\"highlight/dsconfig\"\n\t],\n\t\"./dsconfig.js\": [\n\t\t71524,\n\t\t\"highlight/dsconfig\"\n\t],\n\t\"./dts\": [\n\t\t29702,\n\t\t\"highlight/dts\"\n\t],\n\t\"./dts.js\": [\n\t\t29702,\n\t\t\"highlight/dts\"\n\t],\n\t\"./dust\": [\n\t\t27115,\n\t\t\"highlight/dust\"\n\t],\n\t\"./dust.js\": [\n\t\t27115,\n\t\t\"highlight/dust\"\n\t],\n\t\"./ebnf\": [\n\t\t26254,\n\t\t\"highlight/ebnf\"\n\t],\n\t\"./ebnf.js\": [\n\t\t26254,\n\t\t\"highlight/ebnf\"\n\t],\n\t\"./elixir\": [\n\t\t27204,\n\t\t\"highlight/elixir\"\n\t],\n\t\"./elixir.js\": [\n\t\t27204,\n\t\t\"highlight/elixir\"\n\t],\n\t\"./elm\": [\n\t\t58259,\n\t\t\"highlight/elm\"\n\t],\n\t\"./elm.js\": [\n\t\t58259,\n\t\t\"highlight/elm\"\n\t],\n\t\"./erb\": [\n\t\t328,\n\t\t\"highlight/erb\"\n\t],\n\t\"./erb.js\": [\n\t\t328,\n\t\t\"highlight/erb\"\n\t],\n\t\"./erlang\": [\n\t\t87489,\n\t\t\"highlight/erlang\"\n\t],\n\t\"./erlang-repl\": [\n\t\t27670,\n\t\t\"highlight/erlang-repl\"\n\t],\n\t\"./erlang-repl.js\": [\n\t\t27670,\n\t\t\"highlight/erlang-repl\"\n\t],\n\t\"./erlang.js\": [\n\t\t87489,\n\t\t\"highlight/erlang\"\n\t],\n\t\"./excel\": [\n\t\t94369,\n\t\t\"highlight/excel\"\n\t],\n\t\"./excel.js\": [\n\t\t94369,\n\t\t\"highlight/excel\"\n\t],\n\t\"./fix\": [\n\t\t51377,\n\t\t\"highlight/fix\"\n\t],\n\t\"./fix.js\": [\n\t\t51377,\n\t\t\"highlight/fix\"\n\t],\n\t\"./flix\": [\n\t\t72041,\n\t\t\"highlight/flix\"\n\t],\n\t\"./flix.js\": [\n\t\t72041,\n\t\t\"highlight/flix\"\n\t],\n\t\"./fortran\": [\n\t\t28362,\n\t\t\"highlight/fortran\"\n\t],\n\t\"./fortran.js\": [\n\t\t28362,\n\t\t\"highlight/fortran\"\n\t],\n\t\"./fsharp\": [\n\t\t34639,\n\t\t\"highlight/fsharp\"\n\t],\n\t\"./fsharp.js\": [\n\t\t34639,\n\t\t\"highlight/fsharp\"\n\t],\n\t\"./gams\": [\n\t\t9392,\n\t\t\"highlight/gams\"\n\t],\n\t\"./gams.js\": [\n\t\t9392,\n\t\t\"highlight/gams\"\n\t],\n\t\"./gauss\": [\n\t\t44859,\n\t\t\"highlight/gauss\"\n\t],\n\t\"./gauss.js\": [\n\t\t44859,\n\t\t\"highlight/gauss\"\n\t],\n\t\"./gcode\": [\n\t\t38036,\n\t\t\"highlight/gcode\"\n\t],\n\t\"./gcode.js\": [\n\t\t38036,\n\t\t\"highlight/gcode\"\n\t],\n\t\"./gherkin\": [\n\t\t65962,\n\t\t\"highlight/gherkin\"\n\t],\n\t\"./gherkin.js\": [\n\t\t65962,\n\t\t\"highlight/gherkin\"\n\t],\n\t\"./glsl\": [\n\t\t85243,\n\t\t\"highlight/glsl\"\n\t],\n\t\"./glsl.js\": [\n\t\t85243,\n\t\t\"highlight/glsl\"\n\t],\n\t\"./gml\": [\n\t\t94807,\n\t\t\"highlight/gml\"\n\t],\n\t\"./gml.js\": [\n\t\t94807,\n\t\t\"highlight/gml\"\n\t],\n\t\"./go\": [\n\t\t33048,\n\t\t\"highlight/go\"\n\t],\n\t\"./go.js\": [\n\t\t33048,\n\t\t\"highlight/go\"\n\t],\n\t\"./golo\": [\n\t\t87140,\n\t\t\"highlight/golo\"\n\t],\n\t\"./golo.js\": [\n\t\t87140,\n\t\t\"highlight/golo\"\n\t],\n\t\"./gradle\": [\n\t\t88267,\n\t\t\"highlight/gradle\"\n\t],\n\t\"./gradle.js\": [\n\t\t88267,\n\t\t\"highlight/gradle\"\n\t],\n\t\"./groovy\": [\n\t\t12175,\n\t\t\"highlight/groovy\"\n\t],\n\t\"./groovy.js\": [\n\t\t12175,\n\t\t\"highlight/groovy\"\n\t],\n\t\"./haml\": [\n\t\t25268,\n\t\t\"highlight/haml\"\n\t],\n\t\"./haml.js\": [\n\t\t25268,\n\t\t\"highlight/haml\"\n\t],\n\t\"./handlebars\": [\n\t\t83512,\n\t\t\"highlight/handlebars\"\n\t],\n\t\"./handlebars.js\": [\n\t\t83512,\n\t\t\"highlight/handlebars\"\n\t],\n\t\"./haskell\": [\n\t\t56703,\n\t\t\"highlight/haskell\"\n\t],\n\t\"./haskell.js\": [\n\t\t56703,\n\t\t\"highlight/haskell\"\n\t],\n\t\"./haxe\": [\n\t\t429,\n\t\t\"highlight/haxe\"\n\t],\n\t\"./haxe.js\": [\n\t\t429,\n\t\t\"highlight/haxe\"\n\t],\n\t\"./hsp\": [\n\t\t90793,\n\t\t\"highlight/hsp\"\n\t],\n\t\"./hsp.js\": [\n\t\t90793,\n\t\t\"highlight/hsp\"\n\t],\n\t\"./htmlbars\": [\n\t\t93202,\n\t\t\"highlight/htmlbars\"\n\t],\n\t\"./htmlbars.js\": [\n\t\t93202,\n\t\t\"highlight/htmlbars\"\n\t],\n\t\"./http\": [\n\t\t30786,\n\t\t\"highlight/http\"\n\t],\n\t\"./http.js\": [\n\t\t30786,\n\t\t\"highlight/http\"\n\t],\n\t\"./hy\": [\n\t\t35359,\n\t\t\"highlight/hy\"\n\t],\n\t\"./hy.js\": [\n\t\t35359,\n\t\t\"highlight/hy\"\n\t],\n\t\"./inform7\": [\n\t\t68968,\n\t\t\"highlight/inform7\"\n\t],\n\t\"./inform7.js\": [\n\t\t68968,\n\t\t\"highlight/inform7\"\n\t],\n\t\"./ini\": [\n\t\t29560,\n\t\t\"highlight/ini\"\n\t],\n\t\"./ini.js\": [\n\t\t29560,\n\t\t\"highlight/ini\"\n\t],\n\t\"./irpf90\": [\n\t\t10811,\n\t\t\"highlight/irpf90\"\n\t],\n\t\"./irpf90.js\": [\n\t\t10811,\n\t\t\"highlight/irpf90\"\n\t],\n\t\"./isbl\": [\n\t\t15044,\n\t\t\"highlight/isbl\"\n\t],\n\t\"./isbl.js\": [\n\t\t15044,\n\t\t\"highlight/isbl\"\n\t],\n\t\"./java\": [\n\t\t37721,\n\t\t\"highlight/java\"\n\t],\n\t\"./java.js\": [\n\t\t37721,\n\t\t\"highlight/java\"\n\t],\n\t\"./javascript\": [\n\t\t96344,\n\t\t\"highlight/javascript\"\n\t],\n\t\"./javascript.js\": [\n\t\t96344,\n\t\t\"highlight/javascript\"\n\t],\n\t\"./jboss-cli\": [\n\t\t40412,\n\t\t\"highlight/jboss-cli\"\n\t],\n\t\"./jboss-cli.js\": [\n\t\t40412,\n\t\t\"highlight/jboss-cli\"\n\t],\n\t\"./json\": [\n\t\t82026,\n\t\t\"highlight/json\"\n\t],\n\t\"./json.js\": [\n\t\t82026,\n\t\t\"highlight/json\"\n\t],\n\t\"./julia\": [\n\t\t47337,\n\t\t\"highlight/julia\"\n\t],\n\t\"./julia-repl\": [\n\t\t79989,\n\t\t\"highlight/julia-repl\"\n\t],\n\t\"./julia-repl.js\": [\n\t\t79989,\n\t\t\"highlight/julia-repl\"\n\t],\n\t\"./julia.js\": [\n\t\t47337,\n\t\t\"highlight/julia\"\n\t],\n\t\"./kotlin\": [\n\t\t48099,\n\t\t\"highlight/kotlin\"\n\t],\n\t\"./kotlin.js\": [\n\t\t48099,\n\t\t\"highlight/kotlin\"\n\t],\n\t\"./lasso\": [\n\t\t54082,\n\t\t\"highlight/lasso\"\n\t],\n\t\"./lasso.js\": [\n\t\t54082,\n\t\t\"highlight/lasso\"\n\t],\n\t\"./latex\": [\n\t\t850,\n\t\t\"highlight/latex\"\n\t],\n\t\"./latex.js\": [\n\t\t850,\n\t\t\"highlight/latex\"\n\t],\n\t\"./ldif\": [\n\t\t33310,\n\t\t\"highlight/ldif\"\n\t],\n\t\"./ldif.js\": [\n\t\t33310,\n\t\t\"highlight/ldif\"\n\t],\n\t\"./leaf\": [\n\t\t2774,\n\t\t\"highlight/leaf\"\n\t],\n\t\"./leaf.js\": [\n\t\t2774,\n\t\t\"highlight/leaf\"\n\t],\n\t\"./less\": [\n\t\t23874,\n\t\t\"highlight/less\"\n\t],\n\t\"./less.js\": [\n\t\t23874,\n\t\t\"highlight/less\"\n\t],\n\t\"./lisp\": [\n\t\t17169,\n\t\t\"highlight/lisp\"\n\t],\n\t\"./lisp.js\": [\n\t\t17169,\n\t\t\"highlight/lisp\"\n\t],\n\t\"./livecodeserver\": [\n\t\t63909,\n\t\t\"highlight/livecodeserver\"\n\t],\n\t\"./livecodeserver.js\": [\n\t\t63909,\n\t\t\"highlight/livecodeserver\"\n\t],\n\t\"./livescript\": [\n\t\t39563,\n\t\t\"highlight/livescript\"\n\t],\n\t\"./livescript.js\": [\n\t\t39563,\n\t\t\"highlight/livescript\"\n\t],\n\t\"./llvm\": [\n\t\t40119,\n\t\t\"highlight/llvm\"\n\t],\n\t\"./llvm.js\": [\n\t\t40119,\n\t\t\"highlight/llvm\"\n\t],\n\t\"./lsl\": [\n\t\t12130,\n\t\t\"highlight/lsl\"\n\t],\n\t\"./lsl.js\": [\n\t\t12130,\n\t\t\"highlight/lsl\"\n\t],\n\t\"./lua\": [\n\t\t31067,\n\t\t\"highlight/lua\"\n\t],\n\t\"./lua.js\": [\n\t\t31067,\n\t\t\"highlight/lua\"\n\t],\n\t\"./makefile\": [\n\t\t30465,\n\t\t\"highlight/makefile\"\n\t],\n\t\"./makefile.js\": [\n\t\t30465,\n\t\t\"highlight/makefile\"\n\t],\n\t\"./markdown\": [\n\t\t93839,\n\t\t\"highlight/markdown\"\n\t],\n\t\"./markdown.js\": [\n\t\t93839,\n\t\t\"highlight/markdown\"\n\t],\n\t\"./mathematica\": [\n\t\t61083,\n\t\t\"highlight/mathematica\"\n\t],\n\t\"./mathematica.js\": [\n\t\t61083,\n\t\t\"highlight/mathematica\"\n\t],\n\t\"./matlab\": [\n\t\t41304,\n\t\t\"highlight/matlab\"\n\t],\n\t\"./matlab.js\": [\n\t\t41304,\n\t\t\"highlight/matlab\"\n\t],\n\t\"./maxima\": [\n\t\t46747,\n\t\t\"highlight/maxima\"\n\t],\n\t\"./maxima.js\": [\n\t\t46747,\n\t\t\"highlight/maxima\"\n\t],\n\t\"./mel\": [\n\t\t70483,\n\t\t\"highlight/mel\"\n\t],\n\t\"./mel.js\": [\n\t\t70483,\n\t\t\"highlight/mel\"\n\t],\n\t\"./mercury\": [\n\t\t53038,\n\t\t\"highlight/mercury\"\n\t],\n\t\"./mercury.js\": [\n\t\t53038,\n\t\t\"highlight/mercury\"\n\t],\n\t\"./mipsasm\": [\n\t\t45802,\n\t\t\"highlight/mipsasm\"\n\t],\n\t\"./mipsasm.js\": [\n\t\t45802,\n\t\t\"highlight/mipsasm\"\n\t],\n\t\"./mizar\": [\n\t\t90918,\n\t\t\"highlight/mizar\"\n\t],\n\t\"./mizar.js\": [\n\t\t90918,\n\t\t\"highlight/mizar\"\n\t],\n\t\"./mojolicious\": [\n\t\t92210,\n\t\t\"highlight/mojolicious\"\n\t],\n\t\"./mojolicious.js\": [\n\t\t92210,\n\t\t\"highlight/mojolicious\"\n\t],\n\t\"./monkey\": [\n\t\t97350,\n\t\t\"highlight/monkey\"\n\t],\n\t\"./monkey.js\": [\n\t\t97350,\n\t\t\"highlight/monkey\"\n\t],\n\t\"./moonscript\": [\n\t\t27239,\n\t\t\"highlight/moonscript\"\n\t],\n\t\"./moonscript.js\": [\n\t\t27239,\n\t\t\"highlight/moonscript\"\n\t],\n\t\"./n1ql\": [\n\t\t77669,\n\t\t\"highlight/n1ql\"\n\t],\n\t\"./n1ql.js\": [\n\t\t77669,\n\t\t\"highlight/n1ql\"\n\t],\n\t\"./nginx\": [\n\t\t42387,\n\t\t\"highlight/nginx\"\n\t],\n\t\"./nginx.js\": [\n\t\t42387,\n\t\t\"highlight/nginx\"\n\t],\n\t\"./nim\": [\n\t\t35587,\n\t\t\"highlight/nim\"\n\t],\n\t\"./nim.js\": [\n\t\t35587,\n\t\t\"highlight/nim\"\n\t],\n\t\"./nix\": [\n\t\t88170,\n\t\t\"highlight/nix\"\n\t],\n\t\"./nix.js\": [\n\t\t88170,\n\t\t\"highlight/nix\"\n\t],\n\t\"./node-repl\": [\n\t\t93668,\n\t\t\"highlight/node-repl\"\n\t],\n\t\"./node-repl.js\": [\n\t\t93668,\n\t\t\"highlight/node-repl\"\n\t],\n\t\"./nsis\": [\n\t\t29269,\n\t\t\"highlight/nsis\"\n\t],\n\t\"./nsis.js\": [\n\t\t29269,\n\t\t\"highlight/nsis\"\n\t],\n\t\"./objectivec\": [\n\t\t61896,\n\t\t\"highlight/objectivec\"\n\t],\n\t\"./objectivec.js\": [\n\t\t61896,\n\t\t\"highlight/objectivec\"\n\t],\n\t\"./ocaml\": [\n\t\t78550,\n\t\t\"highlight/ocaml\"\n\t],\n\t\"./ocaml.js\": [\n\t\t78550,\n\t\t\"highlight/ocaml\"\n\t],\n\t\"./openscad\": [\n\t\t41078,\n\t\t\"highlight/openscad\"\n\t],\n\t\"./openscad.js\": [\n\t\t41078,\n\t\t\"highlight/openscad\"\n\t],\n\t\"./oxygene\": [\n\t\t89015,\n\t\t\"highlight/oxygene\"\n\t],\n\t\"./oxygene.js\": [\n\t\t89015,\n\t\t\"highlight/oxygene\"\n\t],\n\t\"./parser3\": [\n\t\t6247,\n\t\t\"highlight/parser3\"\n\t],\n\t\"./parser3.js\": [\n\t\t6247,\n\t\t\"highlight/parser3\"\n\t],\n\t\"./perl\": [\n\t\t78529,\n\t\t\"highlight/perl\"\n\t],\n\t\"./perl.js\": [\n\t\t78529,\n\t\t\"highlight/perl\"\n\t],\n\t\"./pf\": [\n\t\t15994,\n\t\t\"highlight/pf\"\n\t],\n\t\"./pf.js\": [\n\t\t15994,\n\t\t\"highlight/pf\"\n\t],\n\t\"./pgsql\": [\n\t\t86509,\n\t\t\"highlight/pgsql\"\n\t],\n\t\"./pgsql.js\": [\n\t\t86509,\n\t\t\"highlight/pgsql\"\n\t],\n\t\"./php\": [\n\t\t73306,\n\t\t\"highlight/php\"\n\t],\n\t\"./php-template\": [\n\t\t75377,\n\t\t\"highlight/php-template\"\n\t],\n\t\"./php-template.js\": [\n\t\t75377,\n\t\t\"highlight/php-template\"\n\t],\n\t\"./php.js\": [\n\t\t73306,\n\t\t\"highlight/php\"\n\t],\n\t\"./plaintext\": [\n\t\t76572,\n\t\t\"highlight/plaintext\"\n\t],\n\t\"./plaintext.js\": [\n\t\t76572,\n\t\t\"highlight/plaintext\"\n\t],\n\t\"./pony\": [\n\t\t28422,\n\t\t\"highlight/pony\"\n\t],\n\t\"./pony.js\": [\n\t\t28422,\n\t\t\"highlight/pony\"\n\t],\n\t\"./powershell\": [\n\t\t66336,\n\t\t\"highlight/powershell\"\n\t],\n\t\"./powershell.js\": [\n\t\t66336,\n\t\t\"highlight/powershell\"\n\t],\n\t\"./processing\": [\n\t\t44148,\n\t\t\"highlight/processing\"\n\t],\n\t\"./processing.js\": [\n\t\t44148,\n\t\t\"highlight/processing\"\n\t],\n\t\"./profile\": [\n\t\t9129,\n\t\t\"highlight/profile\"\n\t],\n\t\"./profile.js\": [\n\t\t9129,\n\t\t\"highlight/profile\"\n\t],\n\t\"./prolog\": [\n\t\t58074,\n\t\t\"highlight/prolog\"\n\t],\n\t\"./prolog.js\": [\n\t\t58074,\n\t\t\"highlight/prolog\"\n\t],\n\t\"./properties\": [\n\t\t81245,\n\t\t\"highlight/properties\"\n\t],\n\t\"./properties.js\": [\n\t\t81245,\n\t\t\"highlight/properties\"\n\t],\n\t\"./protobuf\": [\n\t\t3306,\n\t\t\"highlight/protobuf\"\n\t],\n\t\"./protobuf.js\": [\n\t\t3306,\n\t\t\"highlight/protobuf\"\n\t],\n\t\"./puppet\": [\n\t\t73736,\n\t\t\"highlight/puppet\"\n\t],\n\t\"./puppet.js\": [\n\t\t73736,\n\t\t\"highlight/puppet\"\n\t],\n\t\"./purebasic\": [\n\t\t34055,\n\t\t\"highlight/purebasic\"\n\t],\n\t\"./purebasic.js\": [\n\t\t34055,\n\t\t\"highlight/purebasic\"\n\t],\n\t\"./python\": [\n\t\t30308,\n\t\t\"highlight/python\"\n\t],\n\t\"./python-repl\": [\n\t\t93725,\n\t\t\"highlight/python-repl\"\n\t],\n\t\"./python-repl.js\": [\n\t\t93725,\n\t\t\"highlight/python-repl\"\n\t],\n\t\"./python.js\": [\n\t\t30308,\n\t\t\"highlight/python\"\n\t],\n\t\"./q\": [\n\t\t76891,\n\t\t\"highlight/q\"\n\t],\n\t\"./q.js\": [\n\t\t76891,\n\t\t\"highlight/q\"\n\t],\n\t\"./qml\": [\n\t\t63259,\n\t\t\"highlight/qml\"\n\t],\n\t\"./qml.js\": [\n\t\t63259,\n\t\t\"highlight/qml\"\n\t],\n\t\"./r\": [\n\t\t30806,\n\t\t\"highlight/r\"\n\t],\n\t\"./r.js\": [\n\t\t30806,\n\t\t\"highlight/r\"\n\t],\n\t\"./reasonml\": [\n\t\t82050,\n\t\t\"highlight/reasonml\"\n\t],\n\t\"./reasonml.js\": [\n\t\t82050,\n\t\t\"highlight/reasonml\"\n\t],\n\t\"./rib\": [\n\t\t44613,\n\t\t\"highlight/rib\"\n\t],\n\t\"./rib.js\": [\n\t\t44613,\n\t\t\"highlight/rib\"\n\t],\n\t\"./roboconf\": [\n\t\t33176,\n\t\t\"highlight/roboconf\"\n\t],\n\t\"./roboconf.js\": [\n\t\t33176,\n\t\t\"highlight/roboconf\"\n\t],\n\t\"./routeros\": [\n\t\t25096,\n\t\t\"highlight/routeros\"\n\t],\n\t\"./routeros.js\": [\n\t\t25096,\n\t\t\"highlight/routeros\"\n\t],\n\t\"./rsl\": [\n\t\t61025,\n\t\t\"highlight/rsl\"\n\t],\n\t\"./rsl.js\": [\n\t\t61025,\n\t\t\"highlight/rsl\"\n\t],\n\t\"./ruby\": [\n\t\t58473,\n\t\t\"highlight/ruby\"\n\t],\n\t\"./ruby.js\": [\n\t\t58473,\n\t\t\"highlight/ruby\"\n\t],\n\t\"./ruleslanguage\": [\n\t\t65506,\n\t\t\"highlight/ruleslanguage\"\n\t],\n\t\"./ruleslanguage.js\": [\n\t\t65506,\n\t\t\"highlight/ruleslanguage\"\n\t],\n\t\"./rust\": [\n\t\t11374,\n\t\t\"highlight/rust\"\n\t],\n\t\"./rust.js\": [\n\t\t11374,\n\t\t\"highlight/rust\"\n\t],\n\t\"./sas\": [\n\t\t35457,\n\t\t\"highlight/sas\"\n\t],\n\t\"./sas.js\": [\n\t\t35457,\n\t\t\"highlight/sas\"\n\t],\n\t\"./scala\": [\n\t\t5818,\n\t\t\"highlight/scala\"\n\t],\n\t\"./scala.js\": [\n\t\t5818,\n\t\t\"highlight/scala\"\n\t],\n\t\"./scheme\": [\n\t\t10336,\n\t\t\"highlight/scheme\"\n\t],\n\t\"./scheme.js\": [\n\t\t10336,\n\t\t\"highlight/scheme\"\n\t],\n\t\"./scilab\": [\n\t\t47691,\n\t\t\"highlight/scilab\"\n\t],\n\t\"./scilab.js\": [\n\t\t47691,\n\t\t\"highlight/scilab\"\n\t],\n\t\"./scss\": [\n\t\t36632,\n\t\t\"highlight/scss\"\n\t],\n\t\"./scss.js\": [\n\t\t36632,\n\t\t\"highlight/scss\"\n\t],\n\t\"./shell\": [\n\t\t19514,\n\t\t\"highlight/shell\"\n\t],\n\t\"./shell.js\": [\n\t\t19514,\n\t\t\"highlight/shell\"\n\t],\n\t\"./smali\": [\n\t\t60522,\n\t\t\"highlight/smali\"\n\t],\n\t\"./smali.js\": [\n\t\t60522,\n\t\t\"highlight/smali\"\n\t],\n\t\"./smalltalk\": [\n\t\t75030,\n\t\t\"highlight/smalltalk\"\n\t],\n\t\"./smalltalk.js\": [\n\t\t75030,\n\t\t\"highlight/smalltalk\"\n\t],\n\t\"./sml\": [\n\t\t79664,\n\t\t\"highlight/sml\"\n\t],\n\t\"./sml.js\": [\n\t\t79664,\n\t\t\"highlight/sml\"\n\t],\n\t\"./sqf\": [\n\t\t85168,\n\t\t\"highlight/sqf\"\n\t],\n\t\"./sqf.js\": [\n\t\t85168,\n\t\t\"highlight/sqf\"\n\t],\n\t\"./sql\": [\n\t\t97181,\n\t\t\"highlight/sql\"\n\t],\n\t\"./sql.js\": [\n\t\t97181,\n\t\t\"highlight/sql\"\n\t],\n\t\"./sql_more\": [\n\t\t83224,\n\t\t\"highlight/sql_more\"\n\t],\n\t\"./sql_more.js\": [\n\t\t83224,\n\t\t\"highlight/sql_more\"\n\t],\n\t\"./stan\": [\n\t\t53413,\n\t\t\"highlight/stan\"\n\t],\n\t\"./stan.js\": [\n\t\t53413,\n\t\t\"highlight/stan\"\n\t],\n\t\"./stata\": [\n\t\t92417,\n\t\t\"highlight/stata\"\n\t],\n\t\"./stata.js\": [\n\t\t92417,\n\t\t\"highlight/stata\"\n\t],\n\t\"./step21\": [\n\t\t52706,\n\t\t\"highlight/step21\"\n\t],\n\t\"./step21.js\": [\n\t\t52706,\n\t\t\"highlight/step21\"\n\t],\n\t\"./stylus\": [\n\t\t82054,\n\t\t\"highlight/stylus\"\n\t],\n\t\"./stylus.js\": [\n\t\t82054,\n\t\t\"highlight/stylus\"\n\t],\n\t\"./subunit\": [\n\t\t36886,\n\t\t\"highlight/subunit\"\n\t],\n\t\"./subunit.js\": [\n\t\t36886,\n\t\t\"highlight/subunit\"\n\t],\n\t\"./swift\": [\n\t\t26306,\n\t\t\"highlight/swift\"\n\t],\n\t\"./swift.js\": [\n\t\t26306,\n\t\t\"highlight/swift\"\n\t],\n\t\"./taggerscript\": [\n\t\t54858,\n\t\t\"highlight/taggerscript\"\n\t],\n\t\"./taggerscript.js\": [\n\t\t54858,\n\t\t\"highlight/taggerscript\"\n\t],\n\t\"./tap\": [\n\t\t49113,\n\t\t\"highlight/tap\"\n\t],\n\t\"./tap.js\": [\n\t\t49113,\n\t\t\"highlight/tap\"\n\t],\n\t\"./tcl\": [\n\t\t74562,\n\t\t\"highlight/tcl\"\n\t],\n\t\"./tcl.js\": [\n\t\t74562,\n\t\t\"highlight/tcl\"\n\t],\n\t\"./thrift\": [\n\t\t55063,\n\t\t\"highlight/thrift\"\n\t],\n\t\"./thrift.js\": [\n\t\t55063,\n\t\t\"highlight/thrift\"\n\t],\n\t\"./tp\": [\n\t\t27092,\n\t\t\"highlight/tp\"\n\t],\n\t\"./tp.js\": [\n\t\t27092,\n\t\t\"highlight/tp\"\n\t],\n\t\"./twig\": [\n\t\t35488,\n\t\t\"highlight/twig\"\n\t],\n\t\"./twig.js\": [\n\t\t35488,\n\t\t\"highlight/twig\"\n\t],\n\t\"./typescript\": [\n\t\t91533,\n\t\t\"highlight/typescript\"\n\t],\n\t\"./typescript.js\": [\n\t\t91533,\n\t\t\"highlight/typescript\"\n\t],\n\t\"./vala\": [\n\t\t65431,\n\t\t\"highlight/vala\"\n\t],\n\t\"./vala.js\": [\n\t\t65431,\n\t\t\"highlight/vala\"\n\t],\n\t\"./vbnet\": [\n\t\t86479,\n\t\t\"highlight/vbnet\"\n\t],\n\t\"./vbnet.js\": [\n\t\t86479,\n\t\t\"highlight/vbnet\"\n\t],\n\t\"./vbscript\": [\n\t\t80824,\n\t\t\"highlight/vbscript\"\n\t],\n\t\"./vbscript-html\": [\n\t\t3316,\n\t\t\"highlight/vbscript-html\"\n\t],\n\t\"./vbscript-html.js\": [\n\t\t3316,\n\t\t\"highlight/vbscript-html\"\n\t],\n\t\"./vbscript.js\": [\n\t\t80824,\n\t\t\"highlight/vbscript\"\n\t],\n\t\"./verilog\": [\n\t\t49115,\n\t\t\"highlight/verilog\"\n\t],\n\t\"./verilog.js\": [\n\t\t49115,\n\t\t\"highlight/verilog\"\n\t],\n\t\"./vhdl\": [\n\t\t53260,\n\t\t\"highlight/vhdl\"\n\t],\n\t\"./vhdl.js\": [\n\t\t53260,\n\t\t\"highlight/vhdl\"\n\t],\n\t\"./vim\": [\n\t\t5298,\n\t\t\"highlight/vim\"\n\t],\n\t\"./vim.js\": [\n\t\t5298,\n\t\t\"highlight/vim\"\n\t],\n\t\"./x86asm\": [\n\t\t43377,\n\t\t\"highlight/x86asm\"\n\t],\n\t\"./x86asm.js\": [\n\t\t43377,\n\t\t\"highlight/x86asm\"\n\t],\n\t\"./xl\": [\n\t\t731,\n\t\t\"highlight/xl\"\n\t],\n\t\"./xl.js\": [\n\t\t731,\n\t\t\"highlight/xl\"\n\t],\n\t\"./xml\": [\n\t\t42157,\n\t\t\"highlight/xml\"\n\t],\n\t\"./xml.js\": [\n\t\t42157,\n\t\t\"highlight/xml\"\n\t],\n\t\"./xquery\": [\n\t\t46629,\n\t\t\"highlight/xquery\"\n\t],\n\t\"./xquery.js\": [\n\t\t46629,\n\t\t\"highlight/xquery\"\n\t],\n\t\"./yaml\": [\n\t\t54587,\n\t\t\"highlight/yaml\"\n\t],\n\t\"./yaml.js\": [\n\t\t54587,\n\t\t\"highlight/yaml\"\n\t],\n\t\"./zephir\": [\n\t\t58737,\n\t\t\"highlight/zephir\"\n\t],\n\t\"./zephir.js\": [\n\t\t58737,\n\t\t\"highlight/zephir\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 23506;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CollisionResolveDialog.vue?vue&type=template&id=4a5d4c0f&scoped=true&\"\nimport script from \"./CollisionResolveDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./CollisionResolveDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollisionResolveDialog.vue?vue&type=style&index=0&id=4a5d4c0f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a5d4c0f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"collision-resolve-dialog\",attrs:{\"id\":\"resolve-conflicts\"}},[_c('button',{on:{\"click\":function($event){return _vm.$emit('resolve-use-this-version')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Use current version'))+\"\\n\\t\")]),_vm._v(\" \"),_c('button',{on:{\"click\":function($event){return _vm.$emit('resolve-use-server-version')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Use the saved version'))+\"\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-editor\",attrs:{\"id\":\"editor-container\",\"data-text-el\":\"editor-container\"}},[(_vm.displayed)?_c('div',{staticClass:\"document-status\"},[(_vm.idle)?_c('p',{staticClass:\"msg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'Document idle for {timeout} minutes, click to continue editing', { timeout: _vm.IDLE_TIMEOUT }))+\" \"),_c('a',{staticClass:\"button primary\",on:{\"click\":_vm.reconnect}},[_vm._v(_vm._s(_vm.t('text', 'Reconnect')))])]):(_vm.hasSyncCollission)?_c('p',{staticClass:\"msg icon-error\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'The document has been changed outside of the editor. The changes cannot be applied.'))+\"\\n\\t\\t\")]):(_vm.hasConnectionIssue)?_c('p',{staticClass:\"msg\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'File could not be loaded. Please check your internet connection.'))+\" \"),_c('a',{staticClass:\"button primary\",on:{\"click\":_vm.reconnect}},[_vm._v(_vm._s(_vm.t('text', 'Reconnect')))])]):_vm._e(),_vm._v(\" \"),(_vm.lock)?_c('p',{staticClass:\"msg msg-locked\"},[_c('Lock'),_vm._v(\" \"+_vm._s(_vm.t('text', 'This file is opened read-only as it is currently locked by {user}.', { user: _vm.lock.displayName }))+\"\\n\\t\\t\")],1):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.displayed)?_c('div',{staticClass:\"text-editor__wrapper\",class:{\n\t\t\t'has-conflicts': _vm.hasSyncCollission,\n\t\t\t'icon-loading': !_vm.contentLoaded && !_vm.hasConnectionIssue,\n\t\t\t'is-rich-workspace': _vm.isRichWorkspace,\n\t\t\t'is-rich-editor': _vm.isRichEditor,\n\t\t\t'show-color-annotations': _vm.showAuthorAnnotations\n\t\t},attrs:{\"id\":\"editor-wrapper\"}},[(_vm.$editor)?_c('EditorMidiaHandler',{staticClass:\"text-editor__main\",attrs:{\"id\":\"editor\"}},[(_vm.renderMenus)?_c('MenuBar',{ref:\"menubar\",attrs:{\"autohide\":_vm.autohide,\"loaded\":_vm.menubarLoaded},on:{\"update:loaded\":function($event){_vm.menubarLoaded=$event}}},[_c('div',{staticClass:\"text-editor__session-list\"},[(_vm.isMobile)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.lastSavedStatusTooltip),expression:\"lastSavedStatusTooltip\"}],class:_vm.saveStatusClass}):_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.lastSavedStatusTooltip),expression:\"lastSavedStatusTooltip\"}],staticClass:\"save-status\",class:_vm.lastSavedStatusClass,attrs:{\"aria-label\":_vm.t('text', 'Document save status')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.lastSavedStatus)+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('SessionList',{attrs:{\"sessions\":_vm.filteredSessions}},[_c('p',{staticClass:\"last-saved\",attrs:{\"slot\":\"lastSaved\"},slot:\"lastSaved\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Last saved'))+\": \"+_vm._s(_vm.lastSavedString)+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPublic && !_vm.currentSession.userId)?_c('GuestNameDialog',{attrs:{\"session\":_vm.currentSession}}):_vm._e()],1)],1),_vm._v(\" \"),_vm._t(\"header\")],2):_vm._e(),_vm._v(\" \"),(!_vm.menubarLoaded)?_c('div',{staticClass:\"menubar-placeholder\"}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"contentWrapper\",staticClass:\"content-wrapper text-editor__content-wrapper\",attrs:{\"data-text-el\":\"editor-content-wrapper\"}},[(_vm.renderMenus)?_c('MenuBubble',{attrs:{\"content-wrapper\":_vm.contentWrapper,\"file-path\":_vm.relativePath}}):_vm._e(),_vm._v(\" \"),_c('EditorContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.contentLoaded),expression:\"contentLoaded\"}],staticClass:\"editor__content text-editor__content\",attrs:{\"tabindex\":\"0\",\"role\":\"document\",\"editor\":_vm.$editor}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.hasSyncCollission)?_c('Reader',{attrs:{\"content\":_vm.syncError.data.outsideChange,\"is-rich-editor\":_vm.isRichEditor}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasSyncCollission && !_vm.readOnly)?_c('CollisionResolveDialog',{on:{\"resolve-use-this-version\":_vm.resolveUseThisVersion,\"resolve-use-server-version\":_vm.resolveUseServerVersion}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport axios from '@nextcloud/axios'\nimport { endpointUrl } from '../helpers/index.js'\nimport { SyncService, ERROR_TYPE } from './SyncService.js'\nimport { sendableSteps } from 'prosemirror-collab'\n\n/**\n * Minimum inverval to refetch the document changes\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL = 300\n\n/**\n * Maximum interval between refetches of document state if multiple users have joined\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_MAX = 5000\n\n/**\n * Interval to check for changes when there is only one user joined\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_SINGLE_EDITOR = 5000\n\n/**\n * Interval to fetch for changes when a browser window is considered invisible by the\n * page visibility API https://developer.mozilla.org/de/docs/Web/API/Page_Visibility_API\n *\n * @type {number} time in ms\n */\nconst FETCH_INTERVAL_INVISIBLE = 60000\n\nconst MIN_PUSH_RETRY = 500\nconst MAX_PUSH_RETRY = 10000\n\n/* Timeout after that a PUSH_FAILURE error is emitted */\nconst WARNING_PUSH_RETRY = 5000\n\n/* Maximum number of retries for fetching before emitting a connection error */\nconst MAX_RETRY_FETCH_COUNT = 5\n\n/**\n * Timeout for sessions to be marked as disconnected\n * Make sure that this is higher than any FETCH_INTERVAL_ values\n */\nconst COLLABORATOR_DISCONNECT_TIME = FETCH_INTERVAL_INVISIBLE * 1.5\n\nclass PollingBackend {\n\n\tconstructor(authority) {\n\t\t/** @type {SyncService} */\n\t\tthis._authority = authority\n\t\tthis.fetchInterval = FETCH_INTERVAL\n\t\tthis.retryTime = MIN_PUSH_RETRY\n\t\tthis.lock = false\n\t\tthis.fetchRetryCounter = 0\n\t}\n\n\tconnect() {\n\t\tthis.initialLoadingFinished = false\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), 50)\n\t\tdocument.addEventListener('visibilitychange', this.visibilitychange.bind(this))\n\t}\n\n\t_isPublic() {\n\t\treturn !!this._authority.options.shareToken\n\t}\n\n\tforceSave() {\n\t\tthis._forcedSave = true\n\t\tthis.fetchSteps()\n\t}\n\n\tsave() {\n\t\tthis._manualSave = true\n\t\tthis.fetchSteps()\n\t}\n\n\tfetchSteps() {\n\t\tthis._fetchSteps()\n\t}\n\n\t/**\n\t * This method is only called though the timer\n\t */\n\t_fetchSteps() {\n\t\tif (this.lock || !this.fetcher) {\n\t\t\treturn\n\t\t}\n\t\tthis.lock = true\n\t\tlet autosaveContent\n\t\tif (this._forcedSave || this._manualSave\n\t\t\t|| (!sendableSteps(this._authority.state)\n\t\t\t&& (this._authority._getVersion() !== this._authority.document.lastSavedVersion))\n\t\t) {\n\t\t\tautosaveContent = this._authority._getContent()\n\t\t}\n\t\taxios.post(endpointUrl('session/sync', this._isPublic()), {\n\t\t\tdocumentId: this._authority.document.id,\n\t\t\tsessionId: this._authority.session.id,\n\t\t\tsessionToken: this._authority.session.token,\n\t\t\tversion: this._authority._getVersion(),\n\t\t\tautosaveContent,\n\t\t\tforce: !!this._forcedSave,\n\t\t\tmanualSave: !!this._manualSave,\n\t\t\ttoken: this._authority.options.shareToken,\n\t\t\tfilePath: this._authority.options.filePath,\n\t\t}).then(this._handleResponse.bind(this), this._handleError.bind(this))\n\t\tthis._manualSave = false\n\t\tthis._forcedSave = false\n\t}\n\n\t_handleResponse(response) {\n\t\tthis.fetchRetryCounter = 0\n\n\t\tif (this._authority.document.lastSavedVersion < response.data.document.lastSavedVersion) {\n\t\t\tconsole.debug('Saved document', response.data.document)\n\t\t\tthis._authority.emit('save', { document: response.data.document, sessions: response.data.sessions })\n\t\t}\n\n\t\tthis._authority.emit('change', { document: response.data.document, sessions: response.data.sessions })\n\t\tthis._authority.document = response.data.document\n\t\tthis._authority.sessions = response.data.sessions\n\n\t\tif (response.data.steps.length === 0) {\n\t\t\tif (!this.initialLoadingFinished) {\n\t\t\t\tthis.initialLoadingFinished = true\n\t\t\t}\n\t\t\tif (this._authority.checkIdle()) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.lock = false\n\t\t\tif (response.data.sessions.filter((session) => session.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME).length < 2) {\n\t\t\t\tthis.maximumRefetchTimer()\n\t\t\t} else {\n\t\t\t\tthis.increaseRefetchTimer()\n\t\t\t}\n\t\t\tthis._authority.emit('stateChange', { dirty: false })\n\t\t\tthis._authority.emit('stateChange', { initialLoading: true })\n\t\t\treturn\n\t\t}\n\n\t\tthis._authority._receiveSteps(response.data)\n\t\tthis.lock = false\n\t\tthis._forcedSave = false\n\t\tif (this.initialLoadingFinished) {\n\t\t\tthis.resetRefetchTimer()\n\t\t}\n\t}\n\n\t_handleError(e) {\n\t\tthis.lock = false\n\t\tif (!e.response || e.code === 'ECONNABORTED') {\n\t\t\tif (this.fetchRetryCounter++ >= MAX_RETRY_FETCH_COUNT) {\n\t\t\t\tconsole.error('[PollingBackend:fetchSteps] Network error when fetching steps, emitting CONNECTION_FAILED')\n\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\n\t\t\t} else {\n\t\t\t\tconsole.error(`[PollingBackend:fetchSteps] Network error when fetching steps, retry ${this.fetchRetryCounter}`)\n\t\t\t}\n\t\t} else if (e.response.status === 409 && e.response.data.document.currentVersion === this._authority.document.currentVersion) {\n\t\t\t// Only emit conflict event if we have synced until the latest version\n\t\t\tconsole.error('Conflict during file save, please resolve')\n\t\t\tthis._authority.emit('error', {\n\t\t\t\ttype: ERROR_TYPE.SAVE_COLLISSION,\n\t\t\t\tdata: {\n\t\t\t\t\toutsideChange: e.response.data.outsideChange,\n\t\t\t\t},\n\t\t\t})\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 403) {\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.SOURCE_NOT_FOUND, data: {} })\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 404) {\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.SOURCE_NOT_FOUND, data: {} })\n\t\t\tthis.disconnect()\n\t\t} else if (e.response.status === 503) {\n\t\t\tthis.increaseRefetchTimer()\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\t\t\tconsole.error('Failed to fetch steps due to unavailable service', e)\n\t\t} else {\n\t\t\tthis.disconnect()\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: { retry: false } })\n\t\t\tconsole.error('Failed to fetch steps due to other reason', e)\n\t\t}\n\n\t}\n\n\tsendSteps(_sendable) {\n\t\tthis._authority.emit('stateChange', { dirty: true })\n\t\tif (this.lock) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._authority.sendSteps()\n\t\t\t}, 100)\n\t\t\treturn\n\t\t}\n\t\tthis.lock = true\n\t\tconst sendable = (typeof _sendable === 'function') ? _sendable() : _sendable\n\t\tconst steps = sendable.steps\n\t\taxios.post(endpointUrl('session/push', !!this._authority.options.shareToken), {\n\t\t\tdocumentId: this._authority.document.id,\n\t\t\tsessionId: this._authority.session.id,\n\t\t\tsessionToken: this._authority.session.token,\n\t\t\tsteps: steps.map(s => s.toJSON ? s.toJSON() : s) || [],\n\t\t\tversion: sendable.version,\n\t\t\ttoken: this._authority.options.shareToken,\n\t\t\tfilePath: this._authority.options.filePath,\n\t\t}).then((response) => {\n\t\t\tthis.carefulRetryReset()\n\t\t\tthis.lock = false\n\t\t\tthis.fetchSteps()\n\t\t}).catch(({ response, code }) => {\n\t\t\tconsole.error('failed to apply steps due to collission, retrying')\n\t\t\tthis.lock = false\n\t\t\tif (!response || code === 'ECONNABORTED') {\n\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: {} })\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst { status, data } = response\n\t\t\tif (status === 403) {\n\t\t\t\tif (!data.document) {\n\t\t\t\t\t// either the session is invalid or the document is read only.\n\t\t\t\t\tconsole.error('failed to write to document - not allowed')\n\t\t\t\t}\n\t\t\t\t// Only emit conflict event if we have synced until the latest version\n\t\t\t\tif (data.document?.currentVersion === this._authority.document.currentVersion) {\n\t\t\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.PUSH_FAILURE, data: {} })\n\t\t\t\t\tOC.Notification.showTemporary('Changes could not be sent yet')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.fetchSteps()\n\t\t\tthis.carefulRetry()\n\t\t})\n\t}\n\n\tdisconnect() {\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = 0\n\t\tdocument.removeEventListener('visibilitychange', this.visibilitychange.bind(this))\n\t}\n\n\tresetRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = FETCH_INTERVAL\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\n\t}\n\n\tincreaseRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = Math.min(this.fetchInterval * 2, FETCH_INTERVAL_MAX)\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t}\n\n\tmaximumRefetchTimer() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.fetchInterval = FETCH_INTERVAL_SINGLE_EDITOR\n\t\tclearInterval(this.fetcher)\n\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t}\n\n\tvisibilitychange() {\n\t\tif (this.fetcher === 0) {\n\t\t\treturn\n\t\t}\n\t\tif (document.visibilityState === 'hidden') {\n\t\t\tthis.fetchInterval = FETCH_INTERVAL_INVISIBLE\n\t\t\tclearInterval(this.fetcher)\n\t\t\tthis.fetcher = setInterval(this._fetchSteps.bind(this), this.fetchInterval)\n\t\t} else {\n\t\t\tthis.resetRefetchTimer()\n\t\t}\n\t}\n\n\tcarefulRetry() {\n\t\tconst newRetry = this.retryTime ? Math.min(this.retryTime * 2, MAX_PUSH_RETRY) : MIN_PUSH_RETRY\n\t\tif (newRetry > WARNING_PUSH_RETRY && this.retryTime < WARNING_PUSH_RETRY) {\n\t\t\tOC.Notification.showTemporary('Changes could not be sent yet')\n\t\t\tthis._authority.emit('error', { type: ERROR_TYPE.PUSH_FAILURE, data: {} })\n\t\t}\n\t\tthis.retryTime = newRetry\n\t}\n\n\tcarefulRetryReset() {\n\t\tthis.retryTime = MIN_PUSH_RETRY\n\t}\n\n}\n\nexport default PollingBackend\n","/* eslint-disable jsdoc/valid-types */\n/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport axios from '@nextcloud/axios'\n\nimport PollingBackend from './PollingBackend.js'\nimport { endpointUrl } from './../helpers/index.js'\nimport { getVersion, sendableSteps } from 'prosemirror-collab'\nimport mitt from 'mitt'\n\nconst defaultOptions = {\n\tshareToken: null,\n\tforceRecreate: false,\n\tserialize: (document) => document,\n}\n\n/**\n * Timeout after which the editor will consider a document without changes being synced as idle\n * The session will be terminated and the document will stay open in read-only mode with a button to reconnect if needed\n *\n * @type {number}\n */\nconst IDLE_TIMEOUT = 30\n\nconst ERROR_TYPE = {\n\t/**\n\t * Failed to save collaborative document due to external change\n\t * collission needs to be resolved manually\n\t */\n\tSAVE_COLLISSION: 0,\n\t/**\n\t * Failed to push changes for MAX_REBASE_RETRY times\n\t */\n\tPUSH_FAILURE: 1,\n\n\tLOAD_ERROR: 2,\n\n\tCONNECTION_FAILED: 3,\n\n\tSOURCE_NOT_FOUND: 4,\n}\n\nclass SyncService {\n\n\tconstructor(options) {\n\t\t/** @type {import('mitt').Emitter} _bus */\n\t\tthis._bus = mitt()\n\n\t\tthis.backend = new PollingBackend(this)\n\n\t\tthis.options = Object.assign({}, defaultOptions, options)\n\n\t\tthis.document = null\n\t\tthis.session = null\n\t\tthis.sessions = []\n\n\t\tthis.steps = []\n\t\tthis.stepClientIDs = []\n\n\t\tthis.lastStepPush = Date.now()\n\n\t\tthis.lock = null\n\n\t\treturn this\n\t}\n\n\tasync open({ fileId, filePath, initialSession }) {\n\t\tconst connectionData = initialSession\n\t\t\t|| await this._openDocument({ fileId, filePath })\n\t\tthis.document = connectionData.document\n\t\tthis.document.readOnly = connectionData.readOnly\n\t\tthis.session = connectionData.session\n\t\tthis.lock = connectionData.lock\n\t\tthis.emit('opened', {\n\t\t\tdocument: this.document,\n\t\t\tsession: this.session,\n\t\t})\n\t\tconst content = connectionData.content\n\t\t\t|| await this._fetchDocument()\n\t\tthis.emit('loaded', {\n\t\t\tdocument: this.document,\n\t\t\tsession: this.session,\n\t\t\tdocumentSource: '' + content,\n\t\t})\n\t}\n\n\tstartSync() {\n\t\tthis.backend.connect()\n\t}\n\n\t_openDocument({ fileId, filePath }) {\n\t\treturn axios.put(endpointUrl('session/create', !!this.options.shareToken), {\n\t\t\tfileId,\n\t\t\tfilePath,\n\t\t\ttoken: this.options.shareToken,\n\t\t\tguestName: this.options.guestName,\n\t\t\tforceRecreate: this.options.forceRecreate,\n\t\t})\n\t\t\t.then(response => response.data, error => {\n\t\t\t\tif (!error.response || error.code === 'ECONNABORTED') {\n\t\t\t\t\tthis.emit('error', { type: ERROR_TYPE.CONNECTION_FAILED, data: {} })\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit('error', { type: ERROR_TYPE.LOAD_ERROR, data: error.response.status })\n\t\t\t\t}\n\t\t\t\tthrow error\n\t\t\t})\n\t}\n\n\t_fetchDocument() {\n\t\treturn axios.post(\n\t\t\tendpointUrl('session/fetch', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t}, {\n\t\t\t\t// Axios normally tries to parse string responses as json.\n\t\t\t\t// Just return the plain content here.\n\t\t\t\ttransformResponse: [(data) => data],\n\t\t\t}\n\t\t).then(response => response.data)\n\t}\n\n\tupdateSession(guestName) {\n\t\tif (!this.isPublic()) {\n\t\t\treturn\n\t\t}\n\t\treturn axios.post(\n\t\t\tendpointUrl('session', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t\tguestName,\n\t\t\t}\n\t\t).then(({ data }) => {\n\t\t\tthis.session = data\n\t\t\treturn data\n\t\t}).catch((error) => {\n\t\t\tconsole.error('Failed to update the session', error)\n\t\t\treturn Promise.reject(error)\n\t\t})\n\t}\n\n\tsendSteps(_sendable) {\n\t\tconst sendable = _sendable || sendableSteps(this.state)\n\t\tif (!sendable) {\n\t\t\treturn\n\t\t}\n\t\treturn this.backend.sendSteps(sendable)\n\t}\n\n\tstepsSince(version) {\n\t\treturn {\n\t\t\tsteps: this.steps.slice(version),\n\t\t\tclientIDs: this.stepClientIDs.slice(version),\n\t\t}\n\t}\n\n\t_receiveSteps({ steps, document }) {\n\t\tconst newSteps = []\n\t\tfor (let i = 0; i < steps.length; i++) {\n\t\t\tconst singleSteps = steps[i].data\n\t\t\tif (!Array.isArray(singleSteps)) {\n\t\t\t\tconsole.error('Invalid step data, skipping step', steps[i])\n\t\t\t\t// TODO: recover\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsingleSteps.forEach(step => {\n\t\t\t\tthis.steps.push(step)\n\t\t\t\tnewSteps.push({\n\t\t\t\t\tstep,\n\t\t\t\t\tclientID: steps[i].sessionId,\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\tthis.lastStepPush = Date.now()\n\t\tthis.emit('sync', { steps: newSteps, document })\n\t\tconsole.debug('receivedSteps', 'newVersion', this._getVersion())\n\t}\n\n\tcheckIdle() {\n\t\tconst lastPushMinutesAgo = (Date.now() - this.lastStepPush) / 1000 / 60\n\t\tif (lastPushMinutesAgo > IDLE_TIMEOUT) {\n\t\t\tconsole.debug(`[SyncService] Document is idle for ${this.IDLE_TIMEOUT} minutes, suspending connection`)\n\t\t\tthis.emit('idle')\n\t\t}\n\t}\n\n\t_getVersion() {\n\t\tif (this.state) {\n\t\t\treturn getVersion(this.state)\n\t\t}\n\t\treturn 0\n\t}\n\n\t_getDocument() {\n\t\tif (this.state) {\n\t\t\treturn this.state.doc\n\t\t}\n\t}\n\n\t_getContent() {\n\t\treturn this.options.serialize(this._getDocument())\n\t}\n\n\tsave() {\n\t\tif (this.backend.save) {\n\t\t\tthis.backend.save()\n\t\t}\n\t}\n\n\tforceSave() {\n\t\tif (this.backend.forceSave) {\n\t\t\tthis.backend.forceSave()\n\t\t}\n\t}\n\n\tclose() {\n\t\tlet closed = false\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.on('save', () => {\n\t\t\t\tthis._close().then(() => {\n\t\t\t\t\tclosed = true\n\t\t\t\t\tresolve()\n\t\t\t\t}).catch(() => resolve())\n\t\t\t})\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!closed) {\n\t\t\t\t\tthis._close().then(() => {\n\t\t\t\t\t\tresolve()\n\t\t\t\t\t}).catch(() => resolve())\n\t\t\t\t}\n\t\t\t}, 2000)\n\t\t\tthis.save()\n\t\t})\n\t}\n\n\t_close() {\n\t\tif (this.document === null || this.session === null) {\n\t\t\treturn Promise.resolve()\n\t\t}\n\t\tthis.backend.disconnect()\n\t\treturn axios.post(\n\t\t\tendpointUrl('session/close', !!this.options.shareToken), {\n\t\t\t\tdocumentId: this.document.id,\n\t\t\t\tsessionId: this.session.id,\n\t\t\t\tsessionToken: this.session.token,\n\t\t\t\ttoken: this.options.shareToken,\n\t\t\t})\n\t}\n\n\tuploadImage(image) {\n\t\tconst formData = new FormData()\n\t\tformData.append('image', image)\n\t\tformData.append('documentId', this.document.id)\n\t\tformData.append('sessionId', this.session.id)\n\t\tformData.append('sessionToken', this.session.token)\n\t\tformData.append('shareToken', this.options.shareToken || '')\n\t\tconst url = endpointUrl('image/upload')\n\t\treturn axios.post(url, formData, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'multipart/form-data',\n\t\t\t},\n\t\t})\n\t}\n\n\tinsertImageLink(imageLink) {\n\t\tconst params = {\n\t\t\tdocumentId: this.document.id,\n\t\t\tsessionId: this.session.id,\n\t\t\tsessionToken: this.session.token,\n\t\t\tshareToken: this.options.shareToken || '',\n\t\t\tlink: imageLink,\n\t\t}\n\t\tconst url = endpointUrl('image/link')\n\t\treturn axios.post(url, params)\n\t}\n\n\tinsertImageFile(imagePath) {\n\t\tconst params = {\n\t\t\tdocumentId: this.document.id,\n\t\t\tsessionId: this.session.id,\n\t\t\tsessionToken: this.session.token,\n\t\t\timagePath,\n\t\t}\n\t\tconst url = endpointUrl('image/filepath')\n\t\treturn axios.post(url, params)\n\t}\n\n\ton(event, callback) {\n\t\tthis._bus.on(event, callback)\n\t\treturn this\n\t}\n\n\toff(event, callback) {\n\t\tthis._bus.off(event, callback)\n\t\treturn this\n\t}\n\n\temit(event, data) {\n\t\tthis._bus.emit(event, data)\n\t}\n\n\tisPublic() {\n\t\treturn !!this.options.shareToken\n\t}\n\n}\n\nexport default SyncService\nexport { SyncService, ERROR_TYPE, IDLE_TIMEOUT }\n","/*\n * @copyright Copyright (c) 2022 Max \n *\n * @author Max \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateUrl, generateRemoteUrl } from '@nextcloud/router'\nimport pathNormalize from 'path-normalize'\n\nexport default class ImageResolver {\n\n\t#session\n\t#user\n\t#shareToken\n\t#currentDirectory\n\t#attachmentDirectory\n\n\tconstructor({ session, user, shareToken, currentDirectory, fileId }) {\n\t\tthis.#session = session\n\t\tthis.#user = user\n\t\tthis.#shareToken = shareToken\n\t\tthis.#currentDirectory = currentDirectory\n\t\tfileId ||= session?.documentId\n\t\tthis.#attachmentDirectory = `.attachments.${fileId}`\n\t}\n\n\t/*\n\t * Resolve a given src.\n\t * @param { string } the original src in the node.\n\t * @returns { Array } - resolved urls to try.\n\t *\n\t * Currently returns either one or two urls.\n\t */\n\tresolve(src) {\n\t\tif (this.#session && src.startsWith('text://')) {\n\t\t\tconst imageFileName = getQueryVariable(src, 'imageFileName')\n\t\t\treturn [this.#getAttachmentUrl(imageFileName)]\n\t\t}\n\n\t\tif (this.#session && src.startsWith(`.attachments.${this.#session?.documentId}/`)) {\n\t\t\tconst imageFileName = decodeURIComponent(src.replace(`.attachments.${this.#session?.documentId}/`, '').split('?')[0])\n\t\t\treturn [this.#getAttachmentUrl(imageFileName)]\n\t\t}\n\n\t\tif (isDirectUrl(src)) {\n\t\t\treturn [src]\n\t\t}\n\n\t\tif (hasPreview(src)) { // && this.#mime !== 'image/gif') {\n\t\t\treturn [this.#previewUrl(src)]\n\t\t}\n\n\t\t// if it starts with '.attachments.1234/'\n\t\tif (src.match(/^\\.attachments\\.\\d+\\//)) {\n\t\t\tconst imageFileName = this.#relativePath(src)\n\t\t\t\t.replace(/\\.attachments\\.\\d+\\//, '')\n\t\t\tconst attachmentUrl = this.#getAttachmentUrl(imageFileName)\n\t\t\t// try the webdav url and attachment API if the fails\n\t\t\treturn [this.#davUrl(src), attachmentUrl]\n\t\t}\n\n\t\treturn [this.#davUrl(src)]\n\t}\n\n\t#getAttachmentUrl(imageFileName) {\n\t\tif (!this.#session) {\n\t\t\treturn this.#davUrl(\n\t\t\t\t`${this.#attachmentDirectory}/${imageFileName}`\n\t\t\t)\n\t\t}\n\n\t\tif (this.#user || !this.#shareToken) {\n\t\t\treturn generateUrl('/apps/text/image?documentId={documentId}&sessionId={sessionId}&sessionToken={sessionToken}&imageFileName={imageFileName}', {\n\t\t\t\t...this.#textApiParams(),\n\t\t\t\timageFileName,\n\t\t\t})\n\t\t}\n\n\t\treturn generateUrl('/apps/text/image?documentId={documentId}&sessionId={sessionId}&sessionToken={sessionToken}&imageFileName={imageFileName}&shareToken={shareToken}', {\n\t\t\t...this.#textApiParams(),\n\t\t\timageFileName,\n\t\t\tshareToken: this.#shareToken,\n\t\t})\n\t}\n\n\t#textApiParams() {\n\t\tif (this.#session) {\n\t\t\treturn {\n\t\t\t\tdocumentId: this.#session.documentId,\n\t\t\t\tsessionId: this.#session.id,\n\t\t\t\tsessionToken: this.#session.token,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n\n\t#previewUrl(src) {\n\t\tconst imageFileId = getQueryVariable(src, 'fileId')\n\t\tconst path = this.#filePath(src)\n\t\tconst fileQuery = `file=${encodeURIComponent(path)}`\n\t\tconst query = fileQuery + '&x=1024&y=1024&a=true'\n\n\t\tif (this.#user && imageFileId) {\n\t\t\treturn generateUrl(`/core/preview?fileId=${imageFileId}&${query}`)\n\t\t}\n\n\t\tif (this.#user) {\n\t\t\treturn generateUrl(`/core/preview.png?${query}`)\n\t\t}\n\n\t\tif (this.#shareToken) {\n\t\t\treturn generateUrl(`/apps/files_sharing/publicpreview/${this.#shareToken}?${query}`)\n\t\t}\n\n\t\tconsole.error('No way to authenticate image retrival - need to be logged in or provide a token')\n\t\treturn src\n\t}\n\n\t#davUrl(src) {\n\t\tif (this.#user) {\n\t\t\tconst uid = this.#user.uid\n\t\t\tconst encoded = encodeURI(this.#filePath(src))\n\t\t\treturn generateRemoteUrl(`dav/files/${uid}${encoded}`)\n\t\t}\n\n\t\tconst path = this.#filePath(src).split('/')\n\t\tconst basename = path.pop()\n\t\tconst dirname = path.join('/')\n\n\t\treturn generateUrl('/s/{token}/download?path={dirname}&files={basename}', {\n\t\t\ttoken: this.#shareToken,\n\t\t\tbasename,\n\t\t\tdirname,\n\t\t})\n\t}\n\n\t/**\n\t * Return the relativePath to a file specified in the url\n\t *\n\t * @param {string} src - url to extract path from\n\t */\n\t#relativePath(src) {\n\t\tif (src.startsWith('text://')) {\n\t\t\treturn [\n\t\t\t\tthis.#attachmentDirectory,\n\t\t\t\tgetQueryVariable(src, 'imageFileName'),\n\t\t\t].join('/')\n\t\t}\n\n\t\treturn decodeURI(src.split('?')[0])\n\t}\n\n\t#filePath(src) {\n\t\tconst f = [\n\t\t\tthis.#currentDirectory,\n\t\t\tthis.#relativePath(src),\n\t\t].join('/')\n\n\t\treturn pathNormalize(f)\n\t}\n\n}\n\n/**\n * Check if a url can be loaded directly - i.e. is one of\n * - remote url\n * - data url\n * - preview url\n *\n * @param {string} src - the url to check\n */\nfunction isDirectUrl(src) {\n\treturn src.startsWith('http://')\n\t\t|| src.startsWith('https://')\n\t\t|| src.startsWith('data:')\n\t\t|| src.match(/^(\\/index.php)?\\/core\\/preview/)\n\t\t|| src.match(/^(\\/index.php)?\\/apps\\/files_sharing\\/publicpreview\\//)\n}\n\n/**\n * Check if the given url has a preview\n *\n * @param {string} src - the url to check\n */\nfunction hasPreview(src) {\n\treturn getQueryVariable(src, 'hasPreview') === 'true'\n}\n\n/**\n * Extract the value of a query variable from the given url\n *\n * @param {string} src - the url to extract query variable from\n * @param {string} variable - name of the variable to read out\n */\nfunction getQueryVariable(src, variable) {\n\tconst query = src.split('?')[1]\n\n\tif (typeof query === 'undefined') {\n\t\treturn\n\t}\n\n\tconst vars = query.split(/[]/)\n\n\tif (typeof vars === 'undefined') {\n\t\treturn\n\t}\n\n\tfor (let i = 0; i < vars.length; i++) {\n\t\tconst pair = vars[i].split('=')\n\t\tif (decodeURIComponent(pair[0]) === variable) {\n\t\t\treturn decodeURIComponent(pair[1])\n\t\t}\n\t}\n}\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst extensionHighlight = {\n\tpy: 'python',\n\tgyp: 'python',\n\twsgi: 'python',\n\thtm: 'html',\n\txhtml: 'html',\n\terl: 'erlang',\n\tjsp: 'java',\n\tpl: 'perl',\n\trss: 'xml',\n\tatom: 'xml',\n\txsl: 'xml',\n\tplist: 'xml',\n\trb: 'ruby',\n\tbuilder: 'ruby',\n\tgemspec: 'ruby',\n\tpodspec: 'ruby',\n\tthor: 'ruby',\n\tdiff: 'patch',\n\ths: 'haskell',\n\ticl: 'haskell',\n\tphp3: 'php',\n\tphp4: 'php',\n\tphp5: 'php',\n\tphp6: 'php',\n\tsh: 'bash',\n\tzsh: 'bash',\n\tst: 'smalltalk',\n\tas: 'actionscript',\n\tapacheconf: 'apache',\n\tosacript: 'applescript',\n\tb: 'brainfuck',\n\tbf: 'brainfuck',\n\tclj: 'clojure',\n\t'cmake.in': 'cmake',\n\tcoffee: 'coffeescript',\n\tcson: 'coffescript',\n\ticed: 'coffescript',\n\tc: 'cpp',\n\th: 'cpp',\n\t'c++': 'cpp',\n\t'h++': 'cpp',\n\thh: 'cpp',\n\tjinja: 'django',\n\tbat: 'dos',\n\tcmd: 'dos',\n\tfs: 'fsharp',\n\thbs: 'handlebars',\n\t'html.hbs': 'handlebars',\n\t'html.handlebars': 'handlebars',\n\tsublime_metrics: 'json',\n\tsublime_session: 'json',\n\t'sublime-keymap': 'json',\n\t'sublime-mousemap': 'json',\n\t'sublime-project': 'json',\n\t'sublime-settings': 'json',\n\t'sublime-workspace': 'json',\n\tjs: 'javascript',\n\tmk: 'makefile',\n\tmak: 'makefile',\n\tmd: 'markdown',\n\tmkdown: 'markdown',\n\tmkd: 'markdown',\n\tnginxconf: 'nginx',\n\tm: 'objectivec',\n\tmm: 'objectivec',\n\tml: 'ocaml',\n\trs: 'rust',\n\tsci: 'scilab',\n\ttxt: 'plaintext',\n\tvb: 'vbnet',\n\tvbs: 'vbscript',\n}\n\nexport default extensionHighlight\nexport {\n\textensionHighlight,\n}\n","/*\n * @copyright Copyright (c) 2021, überdosis GbR\n *\n * @license MIT\n *\n */\n\nimport { Extension } from '@tiptap/core'\nimport { PluginKey, Plugin } from 'prosemirror-state'\n\n/**\n * @param {object} args Arguments as deconstructable object\n * @param {Array | object} args.types possible types\n * @param {object} args.node node to check\n */\nfunction nodeEqualsType({ types, node }) {\n\treturn (Array.isArray(types) && types.includes(node.type)) || node.type === types\n}\n\n/**\n * Extension based on:\n * - https://github.com/ueberdosis/tiptap/tree/main/demos/src/Experiments/TrailingNode\n * - https://github.com/ueberdosis/tiptap/blob/v1/packages/tiptap-extensions/src/extensions/TrailingNode.js\n * - https://github.com/remirror/remirror/blob/e0f1bec4a1e8073ce8f5500d62193e52321155b9/packages/prosemirror-trailing-node/src/trailing-node-plugin.ts\n */\n\nconst TrailingNode = Extension.create({\n\tname: 'trailingNode',\n\n\taddOptions() {\n\t\treturn {\n\t\t\tnode: 'paragraph',\n\t\t\tnotAfter: ['paragraph'],\n\t\t}\n\t},\n\n\taddProseMirrorPlugins() {\n\t\tconst plugin = new PluginKey(this.name)\n\t\tconst disabledNodes = Object.entries(this.editor.schema.nodes)\n\t\t\t.map(([, value]) => value)\n\t\t\t.filter(node => this.options.notAfter.includes(node.name))\n\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tkey: plugin,\n\t\t\t\tappendTransaction: (_, __, state) => {\n\t\t\t\t\tconst { doc, tr, schema } = state\n\t\t\t\t\tconst shouldInsertNodeAtEnd = plugin.getState(state)\n\t\t\t\t\tconst endPosition = doc.content.size\n\t\t\t\t\tconst type = schema.nodes[this.options.node]\n\n\t\t\t\t\tif (!shouldInsertNodeAtEnd) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\treturn tr.insert(endPosition, type.create())\n\t\t\t\t},\n\t\t\t\tstate: {\n\t\t\t\t\tinit: (_, state) => {\n\t\t\t\t\t\tconst lastNode = state.tr.doc.lastChild\n\t\t\t\t\t\treturn !nodeEqualsType({ node: lastNode, types: disabledNodes })\n\t\t\t\t\t},\n\t\t\t\t\tapply: (tr, value) => {\n\t\t\t\t\t\tif (!tr.docChanged) {\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst lastNode = tr.doc.lastChild\n\t\t\t\t\t\treturn !nodeEqualsType({ node: lastNode, types: disabledNodes })\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t},\n})\n\nexport default TrailingNode\n","\n\n\n\t\n\t\t \n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t{{ t('text', 'Delete this table') }}\n\t\t\t \n\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableView.vue?vue&type=template&id=8c5f0358&scoped=true&\"\nimport script from \"./TableView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableView.vue?vue&type=style&index=0&id=8c5f0358&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8c5f0358\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{staticClass:\"table-wrapper\",attrs:{\"data-text-el\":\"table-view\"}},[_c('NodeViewContent',{staticClass:\"content\",attrs:{\"as\":\"table\"}}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{staticClass:\"table-settings\",attrs:{\"force-menu\":\"\",\"data-text-table-actions\":\"settings\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableSettings')]},proxy:true}],null,false,1699550424)},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"delete\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteNode},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this table'))+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"clearfix\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add row before') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add row after') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Delete this row') }}\n\t\t\t\t \n\t\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableCellView.vue?vue&type=template&id=bef9ed02&scoped=true&\"\nimport script from \"./TableCellView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableCellView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableCellView.vue?vue&type=style&index=0&id=bef9ed02&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bef9ed02\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{attrs:{\"data-text-el\":\"table-cell\",\"as\":\"td\"}},[_c('div',{staticClass:\"container\"},[_c('NodeViewContent',{staticClass:\"content\"}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{attrs:{\"data-text-table-actions\":\"row\"}},[_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-row-before\",\"close-after-click\":\"\"},on:{\"click\":_vm.addRowBefore},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddRowBefore')]},proxy:true}],null,false,1805502767)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add row before'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-row-after\",\"close-after-click\":\"\"},on:{\"click\":_vm.addRowAfter},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddRowAfter')]},proxy:true}],null,false,3179199218)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add row after'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"remove-row\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteRow},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this row'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add column before') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Add column after') }}\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Delete this column') }}\n\t\t\t\t \n\t\t\t \n\t\t\n\t \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TableHeaderView.vue?vue&type=template&id=aefbe706&scoped=true&\"\nimport script from \"./TableHeaderView.vue?vue&type=script&lang=js&\"\nexport * from \"./TableHeaderView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableHeaderView.vue?vue&type=style&index=0&id=aefbe706&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"aefbe706\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NodeViewWrapper',{attrs:{\"data-text-el\":\"table-header\",\"as\":\"th\"}},[_c('div',[_c('NodeViewContent',{staticClass:\"content\"}),_vm._v(\" \"),(_vm.editor.isEditable)?_c('Actions',{attrs:{\"data-text-table-actions\":\"header\"}},[_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-column-before\",\"close-after-click\":\"\"},on:{\"click\":_vm.addColumnBefore},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddColumnBefore')]},proxy:true}],null,false,3782681875)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add column before'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"add-column-after\",\"close-after-click\":\"\"},on:{\"click\":_vm.addColumnAfter},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('TableAddColumnAfter')]},proxy:true}],null,false,1608287598)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Add column after'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"data-text-table-action\":\"remove-column\",\"close-after-click\":\"\"},on:{\"click\":_vm.deleteColumn},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete')]},proxy:true}],null,false,3429380666)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Delete this column'))+\"\\n\\t\\t\\t\")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Table from './Table/Table.js'\nimport TableCaption from './Table/TableCaption.js'\nimport TableCell from './Table/TableCell.js'\nimport TableHeader from './Table/TableHeader.js'\nimport TableHeadRow from './Table/TableHeadRow.js'\nimport TableRow from './Table/TableRow.js'\nimport { VueNodeViewRenderer } from '@tiptap/vue-2'\nimport TableView from './Table/TableView.vue'\nimport TableCellView from './Table/TableCellView.vue'\nimport TableHeaderView from './Table/TableHeaderView.vue'\n\n/**\n * Add the node view to the node.\n * The node views include buttons to enable editing the table.\n *\n * @param {object} node - the node to add the view to.\n * @param {object} view - the node view to add to the node.\n */\nfunction extendNodeWithView(node, view) {\n\treturn node.extend({\n\t\taddNodeView() {\n\t\t\treturn VueNodeViewRenderer(view)\n\t\t},\n\t})\n}\n\nexport default Table.extend({\n\n\taddNodeView() {\n\t\treturn VueNodeViewRenderer(TableView)\n\t},\n\n\taddExtensions() {\n\t\treturn [\n\t\t\tTableCaption,\n\t\t\textendNodeWithView(TableCell, TableCellView),\n\t\t\textendNodeWithView(TableHeader, TableHeaderView),\n\t\t\tTableHeadRow,\n\t\t\tTableRow,\n\t\t]\n\t},\n})\n","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ emojiObject.native }}\n\t\t\t\t\n\t\t\t\t:{{ emojiObject.short_name }}\n\t\t\t\n\t\t\n\t\t\n\t\t\t{{ t('text', 'No emoji found') }}\n\t\t\n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmojiList.vue?vue&type=template&id=debb463c&scoped=true&\"\nimport script from \"./EmojiList.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmojiList.vue?vue&type=style&index=0&id=debb463c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"debb463c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emoji-list\"},[(_vm.hasResults)?_vm._l((_vm.items),function(emojiObject,index){return _c('div',{key:index,staticClass:\"emoji-list__item\",class:{ 'is-selected': index === _vm.selectedIndex },on:{\"click\":function($event){return _vm.selectItem(index)}}},[_c('span',{staticClass:\"emoji-list__item__emoji\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(emojiObject.native)+\"\\n\\t\\t\\t\")]),_vm._v(\"\\n\\t\\t\\t:\"+_vm._s(emojiObject.short_name)+\"\\n\\t\\t\")])}):_c('div',{staticClass:\"emoji-list__item is-empty\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'No emoji found'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n*/\n\n/* eslint-disable import/no-named-as-default */\nimport History from '@tiptap/extension-history'\nimport Placeholder from '@tiptap/extension-placeholder'\n/* eslint-enable import/no-named-as-default */\n\nimport TrailingNode from './nodes/TrailingNode.js'\nimport EditableTable from './nodes/EditableTable.js'\nimport { Editor } from '@tiptap/core'\nimport { Emoji, Markdown, PlainText, RichText } from './extensions/index.js'\nimport { translate as t } from '@nextcloud/l10n'\nimport { listLanguages, registerLanguage } from 'lowlight/lib/core'\nimport { emojiSearch } from '@nextcloud/vue/dist/Functions/emoji'\nimport { VueRenderer } from '@tiptap/vue-2'\nimport EmojiList from './components/EmojiList.vue'\nimport tippy from 'tippy.js'\n\nimport 'proxy-polyfill'\n\nconst loadSyntaxHighlight = async (language) => {\n\tconst list = listLanguages()\n\tconsole.info(list)\n\tif (!listLanguages().includes(language)) {\n\t\ttry {\n\t\t\tconst syntax = await import(/* webpackChunkName: \"highlight/[request]\" */'highlight.js/lib/languages/' + language)\n\t\t\tregisterLanguage(language, syntax.default)\n\t\t} catch (e) {\n\t\t\t// No matching highlighing found, fallback to none\n\t\t\tconsole.debug(e)\n\t\t}\n\t}\n}\n\nconst createEditor = ({ content, onCreate, onUpdate, extensions, enableRichEditing }) => {\n\tlet richEditingExtensions = []\n\tif (enableRichEditing) {\n\t\trichEditingExtensions = [\n\t\t\tMarkdown,\n\t\t\tRichText.configure({\n\t\t\t\textensions: [EditableTable],\n\t\t\t}),\n\t\t\tEmoji.configure({\n\t\t\t\tsuggestion: {\n\t\t\t\t\titems: ({ query }) => {\n\t\t\t\t\t\treturn emojiSearch(query)\n\t\t\t\t\t},\n\t\t\t\t\trender: () => {\n\t\t\t\t\t\tlet component\n\t\t\t\t\t\tlet popup\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tonStart: props => {\n\t\t\t\t\t\t\t\tcomponent = new VueRenderer(EmojiList, {\n\t\t\t\t\t\t\t\t\tparent: this,\n\t\t\t\t\t\t\t\t\tpropsData: props,\n\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\tpopup = tippy('body', {\n\t\t\t\t\t\t\t\t\tgetReferenceClientRect: props.clientRect,\n\t\t\t\t\t\t\t\t\tappendTo: () => document.body,\n\t\t\t\t\t\t\t\t\tcontent: component.element,\n\t\t\t\t\t\t\t\t\tshowOnCreate: true,\n\t\t\t\t\t\t\t\t\tinteractive: true,\n\t\t\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonUpdate(props) {\n\t\t\t\t\t\t\t\tcomponent.updateProps(props)\n\t\t\t\t\t\t\t\tpopup[0].setProps({\n\t\t\t\t\t\t\t\t\tgetReferenceClientRect: props.clientRect,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonKeyDown(props) {\n\t\t\t\t\t\t\t\tif (props.event.key === 'Escape') {\n\t\t\t\t\t\t\t\t\tpopup[0].hide()\n\t\t\t\t\t\t\t\t\treturn true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn component.ref?.onKeyDown(props)\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonExit() {\n\t\t\t\t\t\t\t\tpopup[0].destroy()\n\t\t\t\t\t\t\t\tcomponent.destroy()\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\tPlaceholder.configure({\n\t\t\t\temptyNodeClass: 'is-empty',\n\t\t\t\tplaceholder: t('text', 'Add notes, lists or links …'),\n\t\t\t\tshowOnlyWhenEditable: true,\n\t\t\t}),\n\t\t\tTrailingNode,\n\t\t]\n\t} else {\n\t\trichEditingExtensions = [PlainText]\n\t}\n\textensions = extensions || []\n\treturn new Editor({\n\t\tcontent,\n\t\tonCreate,\n\t\tonUpdate,\n\t\textensions: [\n\t\t\tHistory,\n\t\t\t...richEditingExtensions,\n\t\t].concat(extensions),\n\t})\n}\n\nconst SerializeException = function(message) {\n\tthis.message = message\n}\n\nconst serializePlainText = (tiptap) => {\n\tconst doc = tiptap.getJSON()\n\n\tif (doc.content.length !== 1 || typeof doc.content[0].content === 'undefined' || doc.content[0].content.length !== 1) {\n\t\tif (doc.content[0].type === 'codeBlock' && typeof doc.content[0].content === 'undefined') {\n\t\t\treturn ''\n\t\t}\n\t\tthrow new SerializeException('Failed to serialize document to plain text')\n\t}\n\tconst codeBlock = doc.content[0].content[0]\n\tif (codeBlock.type !== 'text') {\n\t\tthrow new SerializeException('Failed to serialize document to plain text')\n\t}\n\treturn codeBlock.text\n}\n\nexport default createEditor\nexport { createEditor, serializePlainText, loadSyntaxHighlight }\n","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: this._isMobile(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update mobile mode\n\t\t\tthis.isMobile = this._isMobile()\n\t\t},\n\t\t_isMobile() {\n\t\t\t// check if content width is under 768px\n\t\t\treturn document.documentElement.clientWidth < 768\n\t\t},\n\t},\n}\n","\n\t\n\t\t{{ t('text', 'Formatting help') }}
\n\t\t{{ t('text', 'Speed up your writing with simple shortcuts.') }}
\n\t\t\n\t\t\t{{ t('text', 'Just type the Markdown syntax or use keyboard shortcuts from below.') }}\n\t\t
\n\t\t\n\t\t\t{{ t('text', 'Just type the Markdown syntax from below.') }}\n\t\t
\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Style') }} \n\t\t\t\t\t{{ t('text', 'Syntax') }} \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Keyboard shortcuts') }}\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Bold') }} \n\t\t\t\t\t**{{ t('text', 'Bold text') }}** \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tB\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Italic') }} \n\t\t\t\t\t*{{ t('text', 'Italicized text') }}* \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tI\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Strikethrough') }} \n\t\t\t\t\t~~{{ t('text', 'Mistaken text') }}~~ \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tX\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Underline') }} \n\t\t\t\t\t__{{ t('text', 'Underlined text') }}__ \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\tU\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Heading 1') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t# {{ t('text', 'Heading level 1') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t1\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t…\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t…\n\t\t\t\t\t \n\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\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Heading 6') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t###### {{ t('text', 'Heading level 6') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t6\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Unordered list') }} \n\t\t\t\t\t\n\t\t\t\t\t\t* {{ t('text', 'An item') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t8\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Ordered list') }} \n\t\t\t\t\t\n\t\t\t\t\t\t1. {{ t('text', 'First item') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t{{ t('text', 'Shift') }}\n\t\t\t\t\t\t+\n\t\t\t\t\t\t7\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Checklist') }} \n\t\t\t\t\t\n\t\t\t\t\t\t* [] {{ t('text', 'To-Do item') }}\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t{{ t('text', 'Blockquote') }} \n\t\t\t\t\t\n\t\t\t\t\t\t> {{ t('text', 'Quoted text') }}\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t{{ t('text', 'Ctrl') }}\n\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\t\n\t\t\t\t\t{{ t('text', 'Code block') }} \n\t\t\t\t\t\n\t\t\t\t\t\t``` {{ t('text', 'Some code') }}\n\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\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HelpModal.vue?vue&type=template&id=84b85632&scoped=true&\"\nimport script from \"./HelpModal.vue?vue&type=script&lang=js&\"\nexport * from \"./HelpModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HelpModal.vue?vue&type=style&index=0&id=84b85632&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84b85632\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"size\":\"normal\",\"title\":_vm.t('text', 'Formatting help')},on:{\"close\":function($event){return _vm.$emit('close')}}},[_c('h2',[_vm._v(_vm._s(_vm.t('text', 'Formatting help')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.t('text', 'Speed up your writing with simple shortcuts.')))]),_vm._v(\" \"),(!_vm.isMobile)?_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Just type the Markdown syntax or use keyboard shortcuts from below.'))+\"\\n\\t\")]):_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Just type the Markdown syntax from below.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.t('text', 'Style')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.t('text', 'Syntax')))]),_vm._v(\" \"),(!_vm.isMobile)?_c('th',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Keyboard shortcuts'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()])]),_vm._v(\" \"),_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Bold')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"**\"+_vm._s(_vm.t('text', 'Bold text'))+\"**\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"B\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Italic')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"*\"+_vm._s(_vm.t('text', 'Italicized text'))+\"*\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"I\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Strikethrough')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"~~\"+_vm._s(_vm.t('text', 'Mistaken text'))+\"~~\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"X\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Underline')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"__\"+_vm._s(_vm.t('text', 'Underlined text'))+\"__\")])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"U\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"ellipsis_top\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Heading 1'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"ellipsis_top\"},[_c('code',[_vm._v(\"# \"+_vm._s(_vm.t('text', 'Heading level 1')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"ellipsis_top\"},[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"1\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"noborder ellipsis\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"noborder ellipsis\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"ellipsis noborder\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t…\\n\\t\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Heading 6'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_c('code',[_vm._v(\"###### \"+_vm._s(_vm.t('text', 'Heading level 6')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',{staticClass:\"noborder ellipsis_bottom\"},[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"6\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Unordered list')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"* \"+_vm._s(_vm.t('text', 'An item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"8\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Ordered list')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"1. \"+_vm._s(_vm.t('text', 'First item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Shift')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\"7\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Checklist')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"* [] \"+_vm._s(_vm.t('text', 'To-Do item')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td'):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Blockquote')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"> \"+_vm._s(_vm.t('text', 'Quoted text')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td',[_c('kbd',[_vm._v(_vm._s(_vm.t('text', 'Ctrl')))]),_vm._v(\"\\n\\t\\t\\t\\t\\t+\\n\\t\\t\\t\\t\\t\"),_c('kbd',[_vm._v(\">\")])]):_vm._e()]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('text', 'Code block')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"``` \"+_vm._s(_vm.t('text', 'Some code')))])]),_vm._v(\" \"),(!_vm.isMobile)?_c('td'):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst translations = {\n\tctrl: t('text', 'Ctrl'),\n\talt: t('text', 'Alt'),\n\tshift: t('text', 'Shift'),\n}\n\nconst getEntryClasses = (actionEntry, isActive) => {\n\treturn {\n\t\t'is-active': isActive,\n\t\t[`action-menu-${actionEntry.key}`]: true,\n\t}\n}\n\nconst keysString = (keyChar, modifiers = []) => {\n\treturn Object.entries(translations)\n\t\t.filter(([k, v]) => modifiers.includes(k))\n\t\t.map(([k, v]) => v)\n\t\t.concat(keyChar.toUpperCase())\n\t\t.join('+')\n}\n\nconst getKeys = (isMobile, { keyChar, keyModifiers }) => {\n\treturn (!isMobile && keyChar)\n\t\t? `(${keysString(keyChar, keyModifiers)})`\n\t\t: ''\n}\n\nconst isDisabled = (actionEntry, $editor) => {\n\treturn actionEntry.action && !actionEntry.action($editor.can())\n}\n\nconst getIsActive = ({ isActive }, $editor) => {\n\tif (!isActive) {\n\t\treturn false\n\t}\n\n\tconst args = Array.isArray(isActive)\n\t\t? isActive\n\t\t: [isActive]\n\n\treturn $editor.isActive(...args)\n}\n\nconst getActionState = (actionEntry, $editor) => {\n\tconst active = getIsActive(actionEntry, $editor)\n\n\treturn {\n\t\tariaLabel: actionEntry.label,\n\t\tdisabled: isDisabled(actionEntry, $editor),\n\t\tclass: getEntryClasses(actionEntry, active),\n\t\tactive,\n\t}\n}\n\nexport {\n\tisDisabled,\n\tgetIsActive,\n\tgetKeys,\n\tgetEntryClasses,\n\tgetActionState,\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./ActionEntry.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./ActionEntry.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/* eslint-disable jsdoc/valid-types */\n\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\nimport debounce from 'debounce'\n\nimport { useEditorMixin, useIsMobileMixin } from '../EditorWrapper.provider.js'\nimport { getActionState, getKeys } from './utils.js'\n\nimport './ActionEntry.scss'\n\n/**\n * @type {import(\"vue\").ComponentOptions} BaseActionEntry\n */\nconst BaseActionEntry = {\n\tdirectives: {\n\t\tTooltip,\n\t},\n\tmixins: [useEditorMixin, useIsMobileMixin],\n\tprops: {\n\t\tactionEntry: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstate: getActionState(this.actionEntry, this.$editor),\n\t\t}\n\t},\n\tcomputed: {\n\t\ticon() {\n\t\t\treturn this.actionEntry.icon\n\t\t},\n\t\ttooltip() {\n\t\t\treturn [this.actionEntry.label, getKeys(this.$isMobile, this.actionEntry)].join(' ')\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$_updateState = debounce(this.updateState.bind(this), 50)\n\t\tthis.$editor.on('update', this.$_updateState)\n\t\tthis.$editor.on('selectionUpdate', this.$_updateState)\n\t},\n\tbeforeDestroy() {\n\t\tthis.$editor.off('update', this.$_updateState)\n\t\tthis.$editor.off('selectionUpdate', this.$_updateState)\n\t},\n\tmethods: {\n\t\tupdateState() {\n\t\t\tthis.state = getActionState(this.actionEntry, this.$editor)\n\t\t},\n\t},\n}\n\nexport { BaseActionEntry }\n","\n\n\t\n\t\t\n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerAction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerAction.vue?vue&type=template&id=21a414b0&\"\nimport script from \"./EmojiPickerAction.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerAction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('EmojiPicker',{staticClass:\"entry-action entry-action__emoji\",attrs:{\"data-text-action-entry\":_vm.actionEntry.key},on:{\"selectData\":_vm.addEmoji}},[_c('Button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.actionEntry.label),expression:\"actionEntry.label\"}],staticClass:\"entry-action__button\",attrs:{\"role\":\"menu\",\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"aria-haspopup\":true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{tag:\"component\"})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Actions',{staticClass:\"entry-action entry-action__image-upload\",attrs:{\"data-text-action-entry\":_vm.actionEntry.key,\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"role\":\"menu\",\"aria-haspopup\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{tag:\"component\",attrs:{\"title\":_vm.actionEntry.label,\"aria-label\":_vm.actionEntry.label,\"aria-haspopup\":\"\"}})]},proxy:true}])},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"close-after-click\":\"\",\"disabled\":_vm.isUploadingImages,\"data-text-action-entry\":((_vm.actionEntry.key) + \"-upload\")},on:{\"click\":_vm.$callChooseLocalImage},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Upload from computer'))+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.$isPublic)?_c('ActionButton',{attrs:{\"close-after-click\":\"\",\"disabled\":_vm.isUploadingImages,\"data-text-action-entry\":((_vm.actionEntry.key) + \"-insert\")},on:{\"click\":_vm.$callImagePrompt},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder')]},proxy:true}],null,false,2750733237)},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('text', 'Insert from Files'))+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const STATE_UPLOADING = Symbol('state:uploading-state')\nexport const ACTION_IMAGE_PROMPT = Symbol('editor:action:image-prompt')\nexport const ACTION_CHOOSE_LOCAL_IMAGE = Symbol('editor:action:upload-image')\n\nexport const useUploadingStateMixin = {\n\tinject: {\n\t\t$uploadingState: {\n\t\t\tfrom: STATE_UPLOADING,\n\t\t\tdefault: {\n\t\t\t\tisUploadingImages: false,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport const useActionImagePromptMixin = {\n\tinject: {\n\t\t$callImagePrompt: { from: ACTION_IMAGE_PROMPT, default: () => {} },\n\t},\n}\n\nexport const useActionChooseLocalImageMixin = {\n\tinject: {\n\t\t$callChooseLocalImage: { from: ACTION_CHOOSE_LOCAL_IMAGE, default: () => {} },\n\t},\n}\n","\n\n\t\n\t\t\n\t\t\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t{{ t('text', 'Upload from computer') }}\n\t\t \n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t{{ t('text', 'Insert from Files') }}\n\t\t \n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionImageUpload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionImageUpload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionImageUpload.vue?vue&type=template&id=6f262d5e&\"\nimport script from \"./ActionImageUpload.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionImageUpload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport {\n\tUndo,\n\tRedo,\n\tFormatBold,\n\tFormatItalic,\n\tFormatUnderline,\n\tFormatStrikethrough,\n\tFormatHeader1,\n\tFormatHeader2,\n\tFormatHeader3,\n\tFormatHeader4,\n\tFormatHeader5,\n\tFormatHeader6,\n\tFormatListNumbered,\n\tFormatListBulleted,\n\tFormatListCheckbox,\n\tFormatQuote,\n\tInfo,\n\tPositive,\n\tWarn,\n\tDanger,\n\tCodeTags,\n\tTable,\n\tEmoticon,\n\tHelp,\n\tImages,\n} from '../icons.js'\nimport EmojiPickerAction from './EmojiPickerAction.vue'\nimport ActionImageUpload from './ActionImageUpload.vue'\n\nexport default [\n\t{\n\t\tkey: 'undo',\n\t\tlabel: t('text', 'Undo'),\n\t\tkeyChar: 'z',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: Undo,\n\t\taction: (command) => command.undo(),\n\t\tpriority: 5,\n\t},\n\t{\n\t\tkey: 'redo',\n\t\tlabel: t('text', 'Redo'),\n\t\tkeyChar: 'y',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: Redo,\n\t\taction: (command) => command.redo(),\n\t\tpriority: 11,\n\t},\n\t{\n\t\tkey: 'bold',\n\t\tlabel: t('text', 'Bold'),\n\t\tkeyChar: 'b',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatBold,\n\t\tisActive: 'strong',\n\t\taction: (command) => {\n\t\t\treturn command.toggleBold()\n\t\t},\n\t\tpriority: 6,\n\t},\n\t{\n\t\tkey: 'italic',\n\t\tlabel: t('text', 'Italic'),\n\t\tkeyChar: 'i',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatItalic,\n\t\tisActive: 'em',\n\t\taction: (command) => {\n\t\t\treturn command.toggleItalic()\n\t\t},\n\t\tpriority: 7,\n\t},\n\t{\n\t\tkey: 'underline',\n\t\tlabel: t('text', 'Underline'),\n\t\tkeyChar: 'u',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatUnderline,\n\t\tisActive: 'underline',\n\t\taction: (command) => {\n\t\t\treturn command.toggleUnderline()\n\t\t},\n\t\tpriority: 14,\n\t},\n\t{\n\t\tkey: 'strikethrough',\n\t\tlabel: t('text', 'Strikethrough'),\n\t\tkeyChar: 'd',\n\t\tkeyModifiers: ['ctrl'],\n\t\ticon: FormatStrikethrough,\n\t\tisActive: 'strike',\n\t\taction: (command) => {\n\t\t\treturn command.toggleStrike()\n\t\t},\n\t\tpriority: 15,\n\t},\n\t{\n\t\tkey: 'headings',\n\t\tlabel: t('text', 'Headings'),\n\t\tkeyChar: '1…6',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tvisible: false,\n\t\ticon: FormatHeader1,\n\t\tisActive: 'heading',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tkey: 'headings-h1',\n\t\t\t\tlabel: t('text', 'Heading 1'),\n\t\t\t\ticon: FormatHeader1,\n\t\t\t\tisActive: ['heading', { level: 1 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 1 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h2',\n\t\t\t\tlabel: t('text', 'Heading 2'),\n\t\t\t\ticon: FormatHeader2,\n\t\t\t\tisActive: ['heading', { level: 2 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 2 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h3',\n\t\t\t\tlabel: t('text', 'Heading 3'),\n\t\t\t\ticon: FormatHeader3,\n\t\t\t\tisActive: ['heading', { level: 3 }],\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 3 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h4',\n\t\t\t\tlabel: t('text', 'Heading 4'),\n\t\t\t\tisActive: ['heading', { level: 4 }],\n\t\t\t\ticon: FormatHeader4,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 4 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h5',\n\t\t\t\tlabel: t('text', 'Heading 5'),\n\t\t\t\tisActive: ['heading', { level: 5 }],\n\t\t\t\ticon: FormatHeader5,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 5 })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'headings-h6',\n\t\t\t\tlabel: t('text', 'Heading 6'),\n\t\t\t\tisActive: ['heading', { level: 6 }],\n\t\t\t\ticon: FormatHeader6,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleHeading({ level: 6 })\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tpriority: 1,\n\t},\n\t{\n\t\tkey: 'unordered-list',\n\t\tlabel: t('text', 'Unordered list'),\n\t\tkeyChar: '8',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tisActive: 'bulletList',\n\t\ticon: FormatListBulleted,\n\t\taction: (command) => {\n\t\t\treturn command.toggleBulletList()\n\t\t},\n\t\tpriority: 8,\n\t},\n\t{\n\t\tkey: 'ordered-list',\n\t\tlabel: t('text', 'Ordered list'),\n\t\tkeyChar: '9',\n\t\tkeyModifiers: ['ctrl', 'shift'],\n\t\tisActive: 'orderedList',\n\t\ticon: FormatListNumbered,\n\t\taction: (command) => {\n\t\t\treturn command.toggleOrderedList()\n\t\t},\n\t\tpriority: 9,\n\t},\n\t{\n\t\tkey: 'task-list',\n\t\tlabel: t('text', 'To-Do list'),\n\t\tisActive: 'taskList',\n\t\ticon: FormatListCheckbox,\n\t\taction: (command) => command.toggleTaskList(),\n\t\tpriority: 10,\n\t},\n\t{\n\t\tkey: 'blockquote',\n\t\tlabel: t('text', 'Blockquote'),\n\t\tkeyChar: '>',\n\t\tkeyModifiers: ['ctrl'],\n\t\tisActive: 'blockquote',\n\t\ticon: FormatQuote,\n\t\taction: (command) => {\n\t\t\treturn command.toggleBlockquote()\n\t\t},\n\t\tpriority: 12,\n\t},\n\t{\n\t\tkey: 'callouts',\n\t\tlabel: t('text', 'Callouts'),\n\t\tvisible: false,\n\t\ticon: Info,\n\t\tisActive: 'callout',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tkey: 'callout-info',\n\t\t\t\tlabel: t('text', 'Info'),\n\t\t\t\tisActive: ['callout', { type: 'info' }],\n\t\t\t\ticon: Info,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'info' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-success',\n\t\t\t\tlabel: t('text', 'Success'),\n\t\t\t\tisActive: ['callout', { type: 'success' }],\n\t\t\t\ticon: Positive,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'success' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-warn',\n\t\t\t\tlabel: t('text', 'Warning'),\n\t\t\t\tisActive: ['callout', { type: 'warn' }],\n\t\t\t\ticon: Warn,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'warn' })\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'callout-error',\n\t\t\t\tlabel: t('text', 'Danger'),\n\t\t\t\tisActive: ['callout', { type: 'error' }],\n\t\t\t\ticon: Danger,\n\t\t\t\taction: (command) => {\n\t\t\t\t\treturn command.toggleCallout({ type: 'error' })\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tpriority: 3,\n\t},\n\t{\n\t\tkey: 'code-block',\n\t\tlabel: t('text', 'Code block'),\n\t\tisActive: 'codeBlock',\n\t\ticon: CodeTags,\n\t\taction: (command) => {\n\t\t\treturn command.toggleCodeBlock()\n\t\t},\n\t\tpriority: 13,\n\t},\n\t{\n\t\tkey: 'table',\n\t\tlabel: t('text', 'Table'),\n\t\tisActive: 'table',\n\t\ticon: Table,\n\t\taction: (command) => {\n\t\t\treturn command.insertTable()\n\t\t},\n\t\tpriority: 16,\n\t},\n\t{\n\t\tkey: 'emoji-picker',\n\t\tlabel: t('text', 'Insert emoji'),\n\t\ticon: Emoticon,\n\t\tcomponent: EmojiPickerAction,\n\t\taction: (command, emojiObject = {}) => {\n\t\t\treturn command.emoji(emojiObject)\n\t\t},\n\t\tpriority: 4,\n\t},\n\t{\n\t\tkey: 'insert-image',\n\t\tlabel: t('text', 'Insert image'),\n\t\ticon: Images,\n\t\tcomponent: ActionImageUpload,\n\t\tpriority: 2,\n\t},\n\t{\n\t\tkey: 'formatting-help',\n\t\tlabel: t('text', 'Formatting help'),\n\t\ticon: Help,\n\t\tclick: (view) => view.$emit('call:help'),\n\t\tpriority: 17,\n\t},\n]\n","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionSingle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionSingle.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./ActionSingle.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionSingle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\t\n\t\t\n\t\t\t \n\t\t\n\t\t \n\t \n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionList.vue?vue&type=template&id=9c6130a4&\"\nimport script from \"./ActionList.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Actions',_vm._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"entry-list-action entry-action\",attrs:{\"role\":\"menu\",\"aria-label\":_vm.actionEntry.label,\"title\":_vm.actionEntry.label,\"data-text-action-entry\":_vm.actionEntry.key,\"data-text-action-active\":_vm.activeKey},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.icon,{key:_vm.iconKey,tag:\"component\"})]},proxy:true}])},'Actions',_vm.state,false),[_vm._v(\" \"),_vm._l((_vm.actionEntry.children),function(child){return _c('ActionSingle',{key:(\"child-\" + (child.key)),attrs:{\"is-item\":\"\",\"action-entry\":child},on:{\"trigged\":_vm.onTrigger}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\n\n\n\n\n","/*\n * @copyright Copyright (c) 2022 Vinicius Reis \n *\n * @author Vinicius Reis \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport ActionSingle from './ActionSingle.vue'\nimport ActionList from './ActionList.vue'\n\nexport default {\n\tname: 'ActionEntry',\n\tfunctional: true,\n\trender(h, ctx) {\n\t\tconst { actionEntry } = ctx.props\n\t\tconst { data, props, listeners } = ctx\n\t\tconst { key } = data\n\n\t\tconst params = {\n\t\t\tdata,\n\t\t\tkey,\n\t\t\tprops,\n\t\t\ton: listeners,\n\t\t}\n\n\t\tif (actionEntry.component) {\n\t\t\treturn h(actionEntry.component, params)\n\t\t}\n\n\t\treturn actionEntry.children\n\t\t\t? h(ActionList, params)\n\t\t\t: h(ActionSingle, params)\n\t},\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./MenuBar.vue?vue&type=template&id=744790a8&scoped=true&\"\nimport script from \"./MenuBar.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MenuBar.vue?vue&type=style&index=0&id=744790a8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"744790a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-menubar\",class:{\n\t\t'text-menubar--ready': _vm.isReady,\n\t\t'text-menubar--show': _vm.isVisible,\n\t\t'text-menubar--autohide': _vm.autohide,\n\t\t'text-menubar--is-workspace': _vm.$isRichWorkspace\n\t},attrs:{\"data-text-el\":\"menubar\",\"role\":\"menubar\",\"aria-label\":_vm.t('text', 'Formatting menubar')}},[(_vm.displayHelp)?_c('HelpModal',{on:{\"close\":_vm.hideHelp}}):_vm._e(),_vm._v(\" \"),(_vm.$isRichEditor)?_c('div',{ref:\"menubar\",staticClass:\"text-menubar__entries\",attrs:{\"role\":\"group\",\"aria-label\":_vm.t('text', 'Editor actions')}},_vm._l((_vm.visibleEntries),function(actionEntry){return _c('ActionEntry',_vm._b({key:(\"text-action--\" + (actionEntry.key)),on:{\"call:help\":_vm.showHelp}},'ActionEntry',{ actionEntry: actionEntry },false))}),1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"text-menubar__slot\"},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"editor editor-midia-handler\",class:{ draggedOver: _vm.draggedOver },attrs:{\"data-text-el\":\"editor-midia-handler\"},on:{\"image-paste\":_vm.onPaste,\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.setDraggedOver(true)},\"dragleave\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.setDraggedOver(false)},\"image-drop\":_vm.onEditorDrop}},[_c('input',{ref:\"imageFileInput\",staticClass:\"hidden-visually\",attrs:{\"data-text-el\":\"image-file-input\",\"type\":\"file\",\"accept\":\"image/*\",\"aria-hidden\":\"true\",\"multiple\":\"\"},on:{\"change\":_vm.onImageUploadFilePicked}}),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t \n\t\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorMediaHandler.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorMediaHandler.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorMediaHandler.vue?vue&type=template&id=7eb21802&\"\nimport script from \"./EditorMediaHandler.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorMediaHandler.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t{{ t('text', 'Document idle for {timeout} minutes, click to continue editing', { timeout: IDLE_TIMEOUT }) }} {{ t('text', 'Reconnect') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t{{ t('text', 'The document has been changed outside of the editor. The changes cannot be applied.') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t{{ t('text', 'File could not be loaded. Please check your internet connection.') }} {{ t('text', 'Reconnect') }}\n\t\t\t
\n\t\t\t\n\t\t\t\t {{ t('text', 'This file is opened read-only as it is currently locked by {user}.', { user: lock.displayName }) }}\n\t\t\t
\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ lastSavedStatus }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ t('text', 'Last saved') }}: {{ lastSavedString }}\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\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\n\t\t\t \n\t\t\t \n\t\t\n\n\t\t \n\t\n\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditorWrapper.vue?vue&type=template&id=2ce1ab75&scoped=true&\"\nimport script from \"./EditorWrapper.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorWrapper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorWrapper.vue?vue&type=style&index=0&id=2ce1ab75&scoped=true&lang=scss&\"\nimport style1 from \"./EditorWrapper.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ce1ab75\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isRichEditor)?_c('RichTextReader',{attrs:{\"content\":_vm.content}}):_c('PlainTextReader',{attrs:{\"content\":_vm.content}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseReader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaseReader.vue?vue&type=template&id=60e3e19c&\"\nimport script from \"./BaseReader.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseReader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$editor)?_c('EditorContent',{attrs:{\"id\":\"read-only-editor\",\"editor\":_vm.$editor}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlainTextReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlainTextReader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlainTextReader.vue?vue&type=template&id=68296ea2&\"\nimport script from \"./PlainTextReader.vue?vue&type=script&lang=js&\"\nexport * from \"./PlainTextReader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseReader',{attrs:{\"content\":_vm.content}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseReader',{attrs:{\"content\":_vm.content},on:{\"click-link\":function (e, a) { return _vm.$emit('click-link', e, a); }}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t $emit('click-link', e, a)\" />\n \n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RichTextReader.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./RichTextReader.vue?vue&type=template&id=a491aef0&\"\nimport script from \"./RichTextReader.vue?vue&type=script&lang=js&\"\nexport * from \"./RichTextReader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RichTextReader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=script&lang=js&\"","\n\n\n\t \n\t \n\n\n\n\n\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reader.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Reader.vue?vue&type=template&id=35c4246b&\"\nimport script from \"./Reader.vue?vue&type=script&lang=js&\"\nexport * from \"./Reader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Reader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.saving},attrs:{\"id\":\"direct-editor\"}},[_c('EditorWrapper',{ref:\"editor\",attrs:{\"initial-session\":_vm.initialSession,\"active\":true,\"mime\":_vm.initial.mimetype,\"is-direct-editing\":true},on:{\"ready\":_vm.loaded},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('button',{staticClass:\"icon-share\",on:{\"click\":_vm.share}}),_vm._v(\" \"),_c('button',{staticClass:\"icon-close\",on:{\"click\":_vm.close}})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t \n\t\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DirectEditing.vue?vue&type=template&id=5c2efba8&scoped=true&\"\nimport script from \"./DirectEditing.vue?vue&type=script&lang=js&\"\nexport * from \"./DirectEditing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DirectEditing.vue?vue&type=style&index=0&id=5c2efba8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c2efba8\",\n null\n \n)\n\nexport default component.exports"],"names":["EDITOR","Symbol","FILE","IMAGE_RESOLVER","IS_MOBILE","IS_PUBLIC","IS_RICH_EDITOR","IS_RICH_WORKSPACE","SYNC_SERVICE","useEditorMixin","inject","$editor","from","default","useSyncServiceMixin","$syncService","useIsPublicMixin","$isPublic","useIsRichWorkspaceMixin","$isRichWorkspace","useIsRichEditorMixin","$isRichEditor","useIsMobileMixin","$isMobile","useFileMixin","$file","fileId","relativePath","document","useImageResolver","$imageResolver","resolve","src","console","warn","makeIcon","original","functional","render","h","data","props","key","staticClass","size","Loading","MDI_Loading","Check","MDI_Check","CodeTags","MDI_CodeTags","Danger","MDI_Danger","Delete","MDI_Delete","Document","MDI_Document","DotsHorizontal","MDI_DotsHorizontal","Emoticon","MDI_Emoticon","Folder","MDI_Folder","FormatBold","MDI_FormatBold","FormatHeader1","MDI_FormatHeader1","FormatHeader2","MDI_FormatHeader2","FormatHeader3","MDI_FormatHeader3","FormatHeader4","MDI_FormatHeader4","FormatHeader5","MDI_FormatHeader5","FormatHeader6","MDI_FormatHeader6","FormatItalic","MDI_FormatItalic","FormatListBulleted","MDI_FormatListBulleted","FormatListCheckbox","MDI_FormatListCheckbox","FormatListNumbered","MDI_FormatListNumbered","FormatQuote","MDI_FormatQuote","FormatStrikethrough","MDI_FormatStrikethrough","FormatUnderline","MDI_FormatUnderline","Help","MDI_Help","Image","MDI_Image","Images","MDI_Images","Info","MDI_Info","Link","MDI_Link","Positive","MDI_Lock","MDI_Positive","Redo","MDI_Redo","Table","MDI_Table","TableAddColumnAfter","MDI_TableAddColumnAfter","TableAddColumnBefore","MDI_TableAddColumnBefore","TableAddRowAfter","MDI_TableAddRowAfter","TableAddRowBefore","MDI_TableAddRowBefore","TableSettings","MDI_TableSettings","TrashCan","MDI_TrashCan","Undo","MDI_Undo","Upload","MDI_Upload","Warn","MDI_Warn","TipTapHardBreak","toMarkdown","state","node","parent","index","i","childCount","child","type","text","startsWith","write","require","Mark","create","name","parseHTML","tag","renderHTML","class","open","close","mixable","escape","expelEnclosingWhitespace","onUpdate","tr","this","editor","doc","descendants","pos","marks","findIndex","mark","length","removeMark","nodeSize","docChanged","setMeta","view","dispatch","Markdown","Extension","extendMarkSchema","extension","context","options","storage","getExtensionField","extendNodeSchema","createMarkdownSerializer","nodes","defaultNodes","convertNames","defaultMarkdownSerializer","defaultMarks","serializer","MarkdownSerializer","extractToMarkdown","serialize","content","tightLists","nodesOrMarks","Object","entries","map","spec","filter","reduce","items","object","convert","replace","_m","letter","toUpperCase","fromEntries","value","LoadImageError","Error","components","ImageIcon","NodeViewWrapper","directives","ClickOutside","mixins","store","imageLoaded","loaded","failed","showIcons","imageUrl","errorMessage","computed","canDisplayImage","imageFileId","isSupportedImage","IMAGE_MIMES","internalLinkOrImage","get","set","alt","t","token","beforeMount","catch","methods","init","url","fallback","loadImage","img","reject","onImageLoadFailure","err","error","updateAlt","event","onLoaded","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","_h","$createElement","_c","_self","attrs","rawName","expression","on","$event","_v","ref","domProps","indexOf","_k","keyCode","apply","arguments","isEditable","deleteNode","_e","_s","TiptapImage","selectable","addOptions","addNodeView","VueNodeViewRenderer","ImageView","addProseMirrorPlugins","Plugin","handleDrop","slice","dataTransfer","files","coordinates","posAtCoords","left","clientX","top","clientY","customEvent","CustomEvent","bubbles","detail","position","target","dispatchEvent","handlePaste","clipboardData","TipTapHeading","addKeyboardShortcuts","levels","level","commands","toggleHeading","TiptapBulletList","rule","assign","preserveWhitespace","addInputRules","find","InputRule","handler","range","match","wrappingInputRule","getAttributes","insertText","TiptapTaskList","priority","renderList","bullet","TipTapTaskItem","nested","HTMLAttributes","draggable","addAttributes","adjust","checked","el","querySelector","getAttrs","listAttributes","checkboxAttributes","contenteditable","mergeAttributes","renderContent","includes","handleClick","schema","parentList","findParentNodeClosestToPos","taskItem","listItem","tagName","toLowerCase","setNodeMarkup","info","success","NodeViewContent","required","icon","Node","group","defining","types","typesAvailable","rendered","element","getAttribute","classList","contains","attributes","classy","ensureNewLine","closeBlock","Callout","addCommands","setCallout","wrapIn","toggleCallout","isNodeActive","unsetCallout","updateAttributes","lift","basedir","file","end","lastIndexOf","domHref","href","relPath","id","dir","base","rel","split","pop","shift","concat","join","absolutePath","OCA","Viewer","generateUrl","parseHref","dom","path","openLink","_attrs","htmlHref","closest","query","OC","parseQueryString","fragment","filename","title","theme","window","location","pathname","markdownit","clickHandler","onClick","PluginKey","link","m","button","ctrlKey","stopPropagation","debug","TipTapLink","inclusive","plugins","openOnClick","TipTapStrike","style","Bold","markInputRule","starInputRegex","addPasteRules","markPasteRule","starPasteRegex","TipTapUnderline","underscoreInputRegex","underscorePasteRegex","Italic","TipTapItalic","Paragraph","TipTapParagraph","extensions","addExtensions","defaultExtensions","Text","HardBreak","Heading","Strong","Strike","Blockquote","Code","CodeBlock","BulletList","HorizontalRule","OrderedList","ListItem","TaskList","TaskItem","Underline","inline","Dropcursor","KeepSyntax","push","additionalExtensionNames","e","EmojiPluginKey","suggestion","char","pluginKey","command","chain","focus","insertContentAt","native","run","emoji","emojiObject","insertContent","Suggestion","handleKeyDown","metaKey","shiftKey","Span","to","author","updateBlameMap","transform","clientIDs","result","mapping","span","maps","after","forEach","start","next","splice","Math","min","max","insertIntoBlameMap","TrackState","blameMap","clientID","getMeta","steps","item","color","floor","abs","sin","toString","_","instance","tracked","deco","DecorationSet","oldState","decos","tState","getState","applyTransform","Decoration","dec","decorations","timeout","onCreate","fn","delay","getSendableSteps","sendable","sendableSteps","editable","onSendable","version","step","toJSON","debounce","args","clearTimeout","setTimeout","random","update","getVersion","receiveTransaction","Step","collab","Tab","PlainTextDocument","CodeBlockLowlight","lowlight","documentReady","callback","attachEvent","readyState","addEventListener","_baseUrl","endpointUrl","endpoint","isPublic","mimetypesImages","openMimetypesMarkdown","openMimetypesPlainText","oc_appswebroots","richdocuments","onlyoffice","openMimetypes","buildRender","tokens","idx","env","slf","nesting","attrSet","attrJoin","renderToken","md","use","container","includesClass","cls","attrGet","MarkdownIt","html","breaks","enable","taskLists","labelAfter","core","ruler","startsWithTask","attrIndex","splitBefore","parentIndex","predicate","searchLevel","findChildOf","TokenConstructor","closeList","block","openList","splitListAt","Token","ruler2","markup","callouts","escaped","before","j","children","exec","contentNext","$store","TableCaption","TableCell","TableHeader","TableHeadRow","TableRow","insertTable","isInTable","rowsCount","colsCount","cellContent","headerCells","cells","cell","tableCell","createAndFill","headerCell","tableHeader","headRow","tableHeadRow","createChecked","rows","tableRow","table","createTable","offset","selection","anchor","replaceSelectionWith","scrollIntoView","setSelection","TextSelection","leaveTable","$head","empty","tableDepth","depth","$next","goToNextRow","$cell","cellStart","row","indexAfter","rowNode","findSameCellInNextRow","selectionCell","moveCellForward","goToNextCell","Enter","can","addRowAfter","renderInline","repeat","textContent","persistentStorage","getBuilder","persist","build","Vue","Vuex","Store","showAuthorAnnotations","getItem","currentSession","mutations","SET_SHOW_AUTHOR_ANNOTATIONS","setItem","SET_CURRENT_SESSION","actions","setShowAuthorAnnotations","commit","setCurrentSession","___CSS_LOADER_EXPORT___","module","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","deepFreeze","obj","Map","clear","delete","Set","add","freeze","getOwnPropertyNames","prop","isFrozen","deepFreezeEs6","_default","Response","constructor","mode","undefined","isMatchIgnored","ignoreMatch","escapeHTML","inherit","objects","emitsWrappingTags","kind","HTMLRenderer","parseTree","buffer","classPrefix","walk","addText","openNode","className","sublanguage","closeNode","TokenTree","rootNode","stack","root","closeAllNodes","JSON","stringify","builder","_walk","static","every","_collapse","TokenTreeEmitter","super","addKeyword","addSublanguage","emitter","toHTML","finalize","source","re","BACKREF_RE","IDENT_RE","UNDERSCORE_IDENT_RE","NUMBER_RE","C_NUMBER_RE","BINARY_NUMBER_RE","BACKSLASH_ESCAPE","begin","relevance","APOS_STRING_MODE","illegal","QUOTE_STRING_MODE","PHRASAL_WORDS_MODE","COMMENT","modeOptions","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","HASH_COMMENT_MODE","NUMBER_MODE","C_NUMBER_MODE","BINARY_NUMBER_MODE","CSS_NUMBER_MODE","REGEXP_MODE","TITLE_MODE","UNDERSCORE_TITLE_MODE","METHOD_GUARD","MODES","__proto__","MATCH_NOTHING_RE","RE_STARTERS_RE","SHEBANG","opts","beginShebang","binary","x","resp","END_SAME_AS_BEGIN","_beginMatch","skipIfhasPrecedingDot","response","input","beginKeywords","__beforeBegin","keywords","compileIllegal","_parent","Array","isArray","either","compileMatch","compileRelevance","COMMON_KEYWORDS","compileKeywords","rawKeywords","caseInsensitive","compiledKeywords","compileList","keys","keywordList","keyword","pair","scoreForKeyword","providedScore","Number","commonKeyword","compileLanguage","language","langRe","global","RegExp","case_insensitive","MultiRegex","matchIndexes","regexes","matchAt","addRule","countMatchGroups","compile","terminators","matcherRe","regexps","separator","numCaptures","regex","out","substring","String","lastIndex","s","matchData","ResumableMultiRegex","rules","multiRegexes","count","regexIndex","getMatcher","matcher","resumingScanAtSamePosition","considerAll","m2","compilerExtensions","classNameAliases","compileMode","cmode","isCompiled","ext","keywordPattern","$pattern","lexemes","keywordPatternRe","beginRe","endSameAsBegin","endsWithParent","endRe","terminatorEnd","illegalRe","c","variants","cachedVariants","variant","dependencyOnParent","starts","expandOrCloneMode","mm","term","buildModeRegex","BuildVuePlugin","hljs","Component","detectedLanguage","unknownLanguage","highlighted","autoDetect","getLanguage","code","highlightAuto","highlight","ignoreIllegals","autodetect","Boolean","createElement","innerHTML","VuePlugin","install","component","mergeHTMLPlugin","originalStream","nodeStream","resultNode","processed","nodeStack","selectStream","attributeString","attr","nodeName","call","stream","reverse","substr","mergeStreams","_nodeStream","firstChild","nextSibling","nodeType","nodeValue","seenDeprecations","message","log","deprecated","escape$1","inherit$1","NO_MATCH","languages","aliases","SAFE_MODE","fixMarkupRe","LANGUAGE_NOT_FOUND","PLAINTEXT_LANGUAGE","disableAutodetect","noHighlightRe","languageDetectRe","tabReplace","useBR","__emitter","shouldNotHighlight","languageName","test","codeOrlanguageName","optionsOrCode","continuation","fire","_highlight","codeToHighlight","keywordData","matchText","prototype","hasOwnProperty","processBuffer","subLanguage","modeBuffer","continuations","processSubLanguage","buf","keywordRelevance","cssClass","processKeywords","startNewMode","endOfMode","matchPlusRemainder","matched","lexeme","endsParent","doIgnore","resumeScanAtSamePosition","doBeginMatch","newMode","beforeCallbacks","cb","skip","excludeBegin","returnBegin","doEndMatch","endMode","origin","returnEnd","excludeEnd","lastMatch","processLexeme","textBeforeMatch","badRule","iterations","list","current","unshift","processContinuations","processedCount","illegalBy","msg","sofar","errorRaised","languageSubset","plaintext","justTextHighlightResult","results","autoDetection","sorted","sort","a","b","supersetOf","best","secondBest","second_best","brPlugin","TAB_REPLACE_RE","tabReplacePlugin","highlightElement","classes","parentNode","_class","blockLanguage","currentLang","resultLang","updateClassName","relavance","initHighlighting","called","querySelectorAll","wantsHighlight","highlightAll","registerAliases","aliasList","alias","lang","plugin","fixMarkup","arg","highlightBlock","configure","userOptions","initHighlightingOnLoad","registerLanguage","languageDefinition","error$1","rawDefinition","bind","unregisterLanguage","listLanguages","requireLanguage","addPlugin","upgradePluginAPI","vuePlugin","debugMode","safeMode","versionString","HLJS","exports","webpackAsyncContext","req","__webpack_require__","o","Promise","then","ids","webpackContext","webpackContextResolve","$emit","PollingBackend","authority","_authority","fetchInterval","retryTime","lock","fetchRetryCounter","initialLoadingFinished","fetcher","setInterval","_fetchSteps","visibilitychange","shareToken","_forcedSave","fetchSteps","_manualSave","autosaveContent","_getVersion","lastSavedVersion","_getContent","axios","_isPublic","documentId","sessionId","session","sessionToken","force","manualSave","filePath","_handleResponse","_handleError","emit","sessions","checkIdle","lastContact","Date","now","FETCH_INTERVAL_INVISIBLE","maximumRefetchTimer","increaseRefetchTimer","dirty","initialLoading","_receiveSteps","resetRefetchTimer","status","currentVersion","ERROR_TYPE","SAVE_COLLISSION","outsideChange","disconnect","SOURCE_NOT_FOUND","CONNECTION_FAILED","retry","_sendable","sendSteps","carefulRetryReset","PUSH_FAILURE","Notification","showTemporary","carefulRetry","clearInterval","removeEventListener","visibilityState","newRetry","defaultOptions","forceRecreate","LOAD_ERROR","SyncService","_bus","mitt","backend","stepClientIDs","lastStepPush","initialSession","_openDocument","connectionData","readOnly","_fetchDocument","documentSource","connect","guestName","transformResponse","newSteps","singleSteps","IDLE_TIMEOUT","_getDocument","save","forceSave","closed","_close","image","formData","FormData","append","headers","imageLink","params","imagePath","off","ImageResolver","user","currentDirectory","imageFileName","getQueryVariable","decodeURIComponent","isDirectUrl","hasPreview","attachmentUrl","encodeURIComponent","uid","encoded","encodeURI","generateRemoteUrl","basename","dirname","decodeURI","f","pathNormalize","variable","vars","extensionHighlight","py","gyp","wsgi","htm","xhtml","erl","jsp","pl","rss","atom","xsl","plist","rb","gemspec","podspec","thor","diff","hs","icl","php3","php4","php5","php6","sh","zsh","st","as","apacheconf","osacript","bf","clj","coffee","cson","iced","hh","jinja","bat","cmd","fs","hbs","sublime_metrics","sublime_session","js","mk","mak","mkdown","mkd","nginxconf","ml","rs","sci","txt","vb","vbs","nodeEqualsType","TrailingNode","notAfter","disabledNodes","appendTransaction","__","shouldInsertNodeAtEnd","endPosition","lastChild","ActionButton","Actions","scopedSlots","_u","proxy","getPos","deleteRow","setTextSelection","addRowBefore","deleteColumn","addColumnBefore","addColumnAfter","extendNodeWithView","extend","TableView","TableCellView","TableHeaderView","selectedIndex","hasResults","itemHeight","itemInsideScrollView","watch","onKeyDown","selectItem","addRecent","_l","short_name","loadSyntaxHighlight","syntax","createEditor","richEditingExtensions","enableRichEditing","RichText","EditableTable","Emoji","emojiSearch","popup","onStart","VueRenderer","EmojiList","propsData","tippy","getReferenceClientRect","clientRect","appendTo","body","showOnCreate","interactive","trigger","placement","updateProps","setProps","hide","onExit","destroy","Placeholder","emptyNodeClass","placeholder","showOnlyWhenEditable","PlainText","Editor","History","SerializeException","isMobile","_isMobile","_onResize","beforeDestroy","documentElement","clientWidth","Modal","Tooltip","formatted","bold","italic","strikethrough","heading1","heading6","unorderdList","orderedList","checkList","blockQuote","codeBlock","isFormatted","toggleFormatted","translations","ctrl","getEntryClasses","actionEntry","isActive","getKeys","keyChar","keyModifiers","modifiers","k","keysString","isDisabled","action","getIsActive","getActionState","active","ariaLabel","label","disabled","BaseActionEntry","tooltip","mounted","$_updateState","updateState","EmojiPicker","Button","extends","toggleChildMenu","addEmoji","STATE_UPLOADING","ACTION_IMAGE_PROMPT","ACTION_CHOOSE_LOCAL_IMAGE","useUploadingStateMixin","$uploadingState","isUploadingImages","useActionImagePromptMixin","$callImagePrompt","useActionChooseLocalImageMixin","$callChooseLocalImage","undo","redo","toggleBold","toggleItalic","toggleUnderline","toggleStrike","visible","toggleBulletList","toggleOrderedList","toggleTaskList","toggleBlockquote","toggleCodeBlock","EmojiPickerAction","ActionImageUpload","click","isItem","bindState","runAction","$listeners","slot","role","ActionSingle","currentChild","iconKey","activeKey","onTrigger","entry","_b","ActionEntry","ctx","listeners","ActionList","HelpModal","autohide","displayHelp","forceRecompute","isReady","isVisible","windowWidth","iconsLimit","menubar","visibleEntries","hiddenEntries","remainAction","subscribe","unsubscribe","getWindowWidth","redrawAfterTransition","redrawMenuBar","showHelp","hideHelp","_t","provide","draggedOver","setDraggedOver","val","onPaste","onEditorDrop","onImageUploadFilePicked","chooseLocalImage","uploadImageFiles","uploadPromises","showError","uploadImageFile","showImagePrompt","insertImagePath","insertAttachmentImage","preventDefault","EditorContent","EditorMidiaHandler","MenuBar","MenuBubble","Reader","CollisionResolveDialog","GuestNameDialog","SessionList","Lock","richWorkspace","autofocus","mime","isDirectEditing","filteredSessions","idle","contentLoaded","lastSavedString","syncError","hasConnectionIssue","menubarLoaded","saveStatusPolling","contentWrapper","isRichWorkspace","lastSavedStatus","lastSavedStatusClass","dirtyStateIndicator","lastSavedStatusTooltip","lastSaved","hasSyncCollission","hasUnpushedChanges","hasUnsavedChanges","hasDocumentParameters","isRichEditor","fileExtension","displayed","renderMenus","fileData","saveStatusClass","created","updateLastSavedStatus","initSession","tiptap","getJSON","listenEditorEvents","unlistenEditorEvents","listenSyncServiceEvents","unlistenSyncServiceEvents","resolveUseThisVersion","resolveUseServerVersion","reconnect","updateSessions","onOpened","localStorage","Collaboration","Keymap","UserColor","onChange","onSync","collaboration","onError","onStateChange","onIdle","onSave","onFocus","onBlur","displayName","userId","htmlContent","updateContent","BaseReader","renderHtml","unmounted","preventOpeningLinks","PlainTextReader","RichTextReader","messages","mtime","MessageName","Values","attributesString","EditorWrapper","initial","saving","callMobileMessage","share","mimetype"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/files-modal.js.map b/js/files-modal.js.map
index 3e73ff0c82d..95d82a4ecf8 100644
--- a/js/files-modal.js.map
+++ b/js/files-modal.js.map
@@ -1 +1 @@
-{"version":3,"file":"files-modal.js?v=489a07d29e1c026a38e5","mappings":"0JAAA,I,WCmCA,MCnCkL,EDmClL,CACAA,KAAAA,oBACAC,WAAAA,CACAC,M,MAAAA,GACAC,cAAAA,WAAA,2EAEAC,MAAAA,CACAC,OAAAA,CACAC,KAAAA,OACAC,QAAAA,MAEAC,aAAAA,CACAF,KAAAA,OACAC,QAAAA,MAEAE,OAAAA,CACAH,KAAAA,QACAC,SAAAA,GAEAG,WAAAA,CACAJ,KAAAA,OACAC,QAAAA,MAEAI,SAAAA,CACAL,KAAAA,OACAC,QAAAA,OAGAK,SAAAA,CACAC,SADA,WAEA,2EAGAC,QAAAA,CACAC,MADA,WAEA,uBEpDA,SAXgB,E,SAAA,GACd,GHRW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAU,OAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQN,EAAIH,UAAUU,GAAG,CAAC,MAAQP,EAAID,QAAQ,CAACK,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAUN,EAAIX,OAAO,gBAAgBW,EAAIR,aAAa,OAASQ,EAAIP,OAAO,cAAcO,EAAIN,WAAW,KAAOM,EAAIL,aAAa,GAAGK,EAAIQ,OAC1T,IGUpB,EACA,KACA,KACA,MAI8B","sources":["webpack:///text/src/components/PublicFilesEditor.vue?vue&type=template&id=6bd0a9b3&","webpack:///text/src/components/PublicFilesEditor.vue","webpack:///text/src/components/PublicFilesEditor.vue?vue&type=script&lang=js&","webpack://text/./src/components/PublicFilesEditor.vue?4410"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.active)?_c('Modal',{attrs:{\"title\":_vm.fileName},on:{\"close\":_vm.close}},[_c('EditorWrapper',{attrs:{\"file-id\":_vm.fileId,\"relative-path\":_vm.relativePath,\"active\":_vm.active,\"share-token\":_vm.shareToken,\"mime\":_vm.mimeType}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t \n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicFilesEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicFilesEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PublicFilesEditor.vue?vue&type=template&id=6bd0a9b3&\"\nimport script from \"./PublicFilesEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./PublicFilesEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["name","components","Modal","EditorWrapper","props","fileId","type","default","relativePath","active","shareToken","mimeType","computed","fileName","methods","close","_vm","this","_h","$createElement","_c","_self","attrs","on","_e"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files-modal.js?v=489a07d29e1c026a38e5","mappings":"0JAAA,I,WCmCA,MCnCkL,EDmClL,CACAA,KAAAA,oBACAC,WAAAA,CACAC,M,MAAAA,GACAC,cAAAA,WAAA,2EAEAC,MAAAA,CACAC,OAAAA,CACAC,KAAAA,OACAC,QAAAA,MAEAC,aAAAA,CACAF,KAAAA,OACAC,QAAAA,MAEAE,OAAAA,CACAH,KAAAA,QACAC,SAAAA,GAEAG,WAAAA,CACAJ,KAAAA,OACAC,QAAAA,MAEAI,SAAAA,CACAL,KAAAA,OACAC,QAAAA,OAGAK,SAAAA,CACAC,SADA,WAEA,wEACA,GAEAC,QAAAA,CACAC,MADA,WAEA,mBACA,IErDA,SAXgB,E,SAAA,GACd,GHRW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAU,OAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQN,EAAIH,UAAUU,GAAG,CAAC,MAAQP,EAAID,QAAQ,CAACK,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAUN,EAAIX,OAAO,gBAAgBW,EAAIR,aAAa,OAASQ,EAAIP,OAAO,cAAcO,EAAIN,WAAW,KAAOM,EAAIL,aAAa,GAAGK,EAAIQ,IAAI,GAC9T,IGUpB,EACA,KACA,KACA,MAI8B,O","sources":["webpack:///text/src/components/PublicFilesEditor.vue?vue&type=template&id=6bd0a9b3&","webpack:///text/src/components/PublicFilesEditor.vue","webpack:///text/src/components/PublicFilesEditor.vue?vue&type=script&lang=js&","webpack://text/./src/components/PublicFilesEditor.vue?4410"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.active)?_c('Modal',{attrs:{\"title\":_vm.fileName},on:{\"close\":_vm.close}},[_c('EditorWrapper',{attrs:{\"file-id\":_vm.fileId,\"relative-path\":_vm.relativePath,\"active\":_vm.active,\"share-token\":_vm.shareToken,\"mime\":_vm.mimeType}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\t\n\t\t \n\t \n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicFilesEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicFilesEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PublicFilesEditor.vue?vue&type=template&id=6bd0a9b3&\"\nimport script from \"./PublicFilesEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./PublicFilesEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["name","components","Modal","EditorWrapper","props","fileId","type","default","relativePath","active","shareToken","mimeType","computed","fileName","methods","close","_vm","this","_h","$createElement","_c","_self","attrs","on","_e"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/1c.js.map b/js/highlight/1c.js.map
index e5452b828fc..59d10e09ac6 100644
--- a/js/highlight/1c.js.map
+++ b/js/highlight/1c.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/1c.js?v=0f34b871f8c27e510e17","mappings":"0GAwgBAA,EAAOC,QAjgBP,SAAaC,GAGX,IAAIC,EAAsB,yCAYtBC,EAAUC,kNA6YVC,EAAU,gCAGVC,EAAUL,EAAKM,QAAQN,EAAKO,aAG5BC,EAAU,CACZC,UAAW,SACXC,MAAO,QAASC,IAAK,MACrBC,SAAU,CAAC,CAACF,MAAO,QAIjBG,EAAO,CACTH,MAAO,IAAKC,IAAK,IAAKG,cAAc,EAAMC,YAAY,EACtDH,SAAU,CACR,CACEH,UAAW,SACXC,MAAO,sCAMTM,EAAWhB,EAAKM,QAAQN,EAAKiB,qBAsDjC,MAAO,CACLC,KAAM,gBACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAUpB,EACVqB,QAASpB,EACTqB,SArWJC,ikUAsWIC,MA7JJC,ypZA8JIC,KA1FJC,+5HA2FIC,QAASzB,GAEXQ,SAAU,CA9DD,CACTH,UAAW,OAEXC,MAAO,MAAOC,IAAK,IACnBS,SAAU,CACRC,SAAUpB,EACV,eAAgBC,EAjaF4B,sUAmahBlB,SAAU,CACRI,IAWW,CACbP,UAAW,WACXsB,SAAU,CACR,CAACrB,MAAO,oBAAqBC,IAAK,MAAOS,SAAU,qBACnD,CAACV,MAAO,8BAA+BU,SAAU,gCAEnDR,SAAU,CACR,CACEF,MAAO,MAAOC,IAAK,MAAOqB,YAAa,EACvCpB,SAAU,CACR,CACEH,UAAW,SACXC,MAAOT,EAAqBU,IAAK,IAAKI,YAAY,EAAMkB,gBAAgB,EACxEb,SAAU,CACRC,SAAUpB,EACVqB,QAAS,OACTO,QAASzB,GAEXQ,SAAU,CACRP,EACAG,EACAK,IAGJG,IAGJhB,EAAKM,QAAQN,EAAKkC,WAAY,CAACxB,MAAOT,MAkBtCe,EAnDS,CACXP,UAAW,SACXC,MAAO,IAAKC,IAAK,MAAOI,YAAY,GAmDlCV,EACAG,EACAK","sources":["webpack:///text/node_modules/highlight.js/lib/languages/1c.js"],"sourcesContent":["/*\nLanguage: 1C:Enterprise\nAuthor: Stanislav Belov \nDescription: built-in language 1C:Enterprise (v7, v8)\nCategory: enterprise\n*/\n\nfunction _1c(hljs) {\n\n // общий паттерн для определения идентификаторов\n var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';\n\n // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword\n var v7_keywords =\n 'далее ';\n\n // v8 ключевые слова ==> keyword\n var v8_keywords =\n 'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' +\n 'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';\n\n // keyword : ключевые слова\n var KEYWORD = v7_keywords + v8_keywords;\n\n // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword\n var v7_meta_keywords =\n 'загрузитьизфайла ';\n\n // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword\n var v8_meta_keywords =\n 'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' +\n 'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' +\n 'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';\n\n // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях\n var METAKEYWORD = v7_meta_keywords + v8_meta_keywords;\n\n // v7 системные константы ==> built_in\n var v7_system_constants =\n 'разделительстраниц разделительстрок символтабуляции ';\n\n // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in\n var v7_global_context_methods =\n 'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' +\n 'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' +\n 'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' +\n 'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' +\n 'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' +\n 'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' +\n 'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' +\n 'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' +\n 'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' +\n 'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' +\n 'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';\n\n // v8 методы глобального контекста ==> built_in\n var v8_global_context_methods =\n 'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' +\n 'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' +\n 'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' +\n 'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' +\n 'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' +\n 'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' +\n 'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' +\n 'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' +\n 'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' +\n 'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' +\n 'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' +\n 'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' +\n 'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' +\n 'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' +\n 'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' +\n 'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' +\n 'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' +\n 'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' +\n 'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' +\n 'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' +\n 'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' +\n 'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' +\n 'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' +\n 'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' +\n 'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' +\n 'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' +\n 'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' +\n 'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' +\n 'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' +\n 'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' +\n 'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' +\n 'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' +\n 'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' +\n 'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' +\n 'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' +\n 'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' +\n 'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' +\n 'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' +\n 'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' +\n 'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' +\n 'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' +\n 'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' +\n 'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' +\n 'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' +\n 'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' +\n 'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' +\n 'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' +\n 'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' +\n 'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' +\n 'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' +\n 'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' +\n 'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' +\n 'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' +\n 'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' +\n 'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' +\n 'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' +\n 'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+\n 'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' +\n 'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' +\n 'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' +\n 'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' +\n 'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' +\n 'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' +\n 'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' +\n 'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' +\n 'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' +\n 'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' +\n 'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' +\n 'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' +\n 'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' +\n 'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' +\n 'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';\n\n // v8 свойства глобального контекста ==> built_in\n var v8_global_context_property =\n 'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' +\n 'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' +\n 'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' +\n 'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' +\n 'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' +\n 'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' +\n 'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' +\n 'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' +\n 'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' +\n 'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' +\n 'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';\n\n // built_in : встроенные или библиотечные объекты (константы, классы, функции)\n var BUILTIN =\n v7_system_constants +\n v7_global_context_methods + v8_global_context_methods +\n v8_global_context_property;\n\n // v8 системные наборы значений ==> class\n var v8_system_sets_of_values =\n 'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';\n\n // v8 системные перечисления - интерфейсные ==> class\n var v8_system_enums_interface =\n 'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' +\n 'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' +\n 'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' +\n 'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' +\n 'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' +\n 'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' +\n 'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' +\n 'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' +\n 'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' +\n 'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' +\n 'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' +\n 'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' +\n 'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' +\n 'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' +\n 'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' +\n 'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' +\n 'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' +\n 'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' +\n 'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' +\n 'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' +\n 'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' +\n 'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' +\n 'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' +\n 'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' +\n 'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' +\n 'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' +\n 'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' +\n 'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' +\n 'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' +\n 'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' +\n 'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' +\n 'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' +\n 'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' +\n 'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' +\n 'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' +\n 'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' +\n 'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' +\n 'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' +\n 'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' +\n 'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' +\n 'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' +\n 'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' +\n 'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' +\n 'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' +\n 'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' +\n 'форматкартинки ширинаподчиненныхэлементовформы ';\n\n // v8 системные перечисления - свойства прикладных объектов ==> class\n var v8_system_enums_objects_properties =\n 'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' +\n 'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' +\n 'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';\n\n // v8 системные перечисления - планы обмена ==> class\n var v8_system_enums_exchange_plans =\n 'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';\n\n // v8 системные перечисления - табличный документ ==> class\n var v8_system_enums_tabular_document =\n 'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' +\n 'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' +\n 'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' +\n 'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' +\n 'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' +\n 'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' +\n 'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';\n\n // v8 системные перечисления - планировщик ==> class\n var v8_system_enums_sheduler =\n 'отображениевремениэлементовпланировщика ';\n\n // v8 системные перечисления - форматированный документ ==> class\n var v8_system_enums_formatted_document =\n 'типфайлаформатированногодокумента ';\n\n // v8 системные перечисления - запрос ==> class\n var v8_system_enums_query =\n 'обходрезультатазапроса типзаписизапроса ';\n\n // v8 системные перечисления - построитель отчета ==> class\n var v8_system_enums_report_builder =\n 'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';\n\n // v8 системные перечисления - работа с файлами ==> class\n var v8_system_enums_files =\n 'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';\n\n // v8 системные перечисления - построитель запроса ==> class\n var v8_system_enums_query_builder =\n 'типизмеренияпостроителязапроса ';\n\n // v8 системные перечисления - анализ данных ==> class\n var v8_system_enums_data_analysis =\n 'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' +\n 'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' +\n 'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' +\n 'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' +\n 'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' +\n 'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';\n\n // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class\n var v8_system_enums_xml_json_xs_dom_xdto_ws =\n 'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' +\n 'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' +\n 'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' +\n 'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' +\n 'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' +\n 'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' +\n 'форматдатыjson экранированиесимволовjson ';\n\n // v8 системные перечисления - система компоновки данных ==> class\n var v8_system_enums_data_composition_system =\n 'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' +\n 'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' +\n 'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' +\n 'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' +\n 'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' +\n 'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' +\n 'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' +\n 'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' +\n 'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' +\n 'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+\n 'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' +\n 'использованиеусловногооформлениякомпоновкиданных ';\n\n // v8 системные перечисления - почта ==> class\n var v8_system_enums_email =\n 'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' +\n 'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' +\n 'статусразборапочтовогосообщения ';\n\n // v8 системные перечисления - журнал регистрации ==> class\n var v8_system_enums_logbook =\n 'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';\n\n // v8 системные перечисления - криптография ==> class\n var v8_system_enums_cryptography =\n 'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' +\n 'типхранилищасертификатовкриптографии ';\n\n // v8 системные перечисления - ZIP ==> class\n var v8_system_enums_zip =\n 'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' +\n 'режимсохраненияпутейzip уровеньсжатияzip ';\n\n // v8 системные перечисления -\n // Блокировка данных, Фоновые задания, Автоматизированное тестирование,\n // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class\n var v8_system_enums_other =\n 'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' +\n 'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';\n\n // v8 системные перечисления - схема запроса ==> class\n var v8_system_enums_request_schema =\n 'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' +\n 'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';\n\n // v8 системные перечисления - свойства объектов метаданных ==> class\n var v8_system_enums_properties_of_metadata_objects =\n 'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' +\n 'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' +\n 'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' +\n 'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' +\n 'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' +\n 'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' +\n 'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' +\n 'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' +\n 'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' +\n 'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+\n 'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' +\n 'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' +\n 'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' +\n 'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' +\n 'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' +\n 'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' +\n 'типномерадокумента типномеразадачи типформы удалениедвижений ';\n\n // v8 системные перечисления - разные ==> class\n var v8_system_enums_differents =\n 'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' +\n 'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' +\n 'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' +\n 'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' +\n 'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' +\n 'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' +\n 'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' +\n 'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' +\n 'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';\n\n // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)\n var CLASS =\n v8_system_sets_of_values +\n v8_system_enums_interface +\n v8_system_enums_objects_properties +\n v8_system_enums_exchange_plans +\n v8_system_enums_tabular_document +\n v8_system_enums_sheduler +\n v8_system_enums_formatted_document +\n v8_system_enums_query +\n v8_system_enums_report_builder +\n v8_system_enums_files +\n v8_system_enums_query_builder +\n v8_system_enums_data_analysis +\n v8_system_enums_xml_json_xs_dom_xdto_ws +\n v8_system_enums_data_composition_system +\n v8_system_enums_email +\n v8_system_enums_logbook +\n v8_system_enums_cryptography +\n v8_system_enums_zip +\n v8_system_enums_other +\n v8_system_enums_request_schema +\n v8_system_enums_properties_of_metadata_objects +\n v8_system_enums_differents;\n\n // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type\n var v8_shared_object =\n 'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' +\n 'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' +\n 'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' +\n 'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' +\n 'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' +\n 'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' +\n 'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' +\n 'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' +\n 'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' +\n 'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' +\n 'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' +\n 'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' +\n 'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' +\n 'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' +\n 'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' +\n 'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' +\n 'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' +\n 'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' +\n 'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' +\n 'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' +\n 'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' +\n 'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' +\n 'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' +\n 'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' +\n 'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' +\n 'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' +\n 'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' +\n 'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' +\n 'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' +\n 'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' +\n 'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' +\n 'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' +\n 'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' +\n 'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' +\n 'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';\n\n // v8 универсальные коллекции значений ==> type\n var v8_universal_collection =\n 'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' +\n 'фиксированноесоответствие фиксированныймассив ';\n\n // type : встроенные типы\n var TYPE =\n v8_shared_object +\n v8_universal_collection;\n\n // literal : примитивные типы\n var LITERAL = 'null истина ложь неопределено';\n\n // number : числа\n var NUMBERS = hljs.inherit(hljs.NUMBER_MODE);\n\n // string : строки\n var STRINGS = {\n className: 'string',\n begin: '\"|\\\\|', end: '\"|$',\n contains: [{begin: '\"\"'}]\n };\n\n // number : даты\n var DATE = {\n begin: \"'\", end: \"'\", excludeBegin: true, excludeEnd: true,\n contains: [\n {\n className: 'number',\n begin: '\\\\d{4}([\\\\.\\\\\\\\/:-]?\\\\d{2}){0,5}'\n }\n ]\n };\n\n // comment : комментарии\n var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);\n\n // meta : инструкции препроцессора, директивы компиляции\n var META = {\n className: 'meta',\n\n begin: '#|&', end: '$',\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n 'meta-keyword': KEYWORD + METAKEYWORD\n },\n contains: [\n COMMENTS\n ]\n };\n\n // symbol : метка goto\n var SYMBOL = {\n className: 'symbol',\n begin: '~', end: ';|:', excludeEnd: true\n };\n\n // function : объявление процедур и функций\n var FUNCTION = {\n className: 'function',\n variants: [\n {begin: 'процедура|функция', end: '\\\\)', keywords: 'процедура функция'},\n {begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'}\n ],\n contains: [\n {\n begin: '\\\\(', end: '\\\\)', endsParent : true,\n contains: [\n {\n className: 'params',\n begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true,\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n keyword: 'знач',\n literal: LITERAL\n },\n contains: [\n NUMBERS,\n STRINGS,\n DATE\n ]\n },\n COMMENTS\n ]\n },\n hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE})\n ]\n };\n\n return {\n name: '1C:Enterprise',\n case_insensitive: true,\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n keyword: KEYWORD,\n built_in: BUILTIN,\n class: CLASS,\n type: TYPE,\n literal: LITERAL\n },\n contains: [\n META,\n FUNCTION,\n COMMENTS,\n SYMBOL,\n NUMBERS,\n STRINGS,\n DATE\n ]\n };\n}\n\nmodule.exports = _1c;\n"],"names":["module","exports","hljs","UNDERSCORE_IDENT_RE","KEYWORD","v7_keywords","LITERAL","NUMBERS","inherit","NUMBER_MODE","STRINGS","className","begin","end","contains","DATE","excludeBegin","excludeEnd","COMMENTS","C_LINE_COMMENT_MODE","name","case_insensitive","keywords","$pattern","keyword","built_in","v7_system_constants","class","v8_system_sets_of_values","type","v8_shared_object","literal","v7_meta_keywords","variants","endsParent","endsWithParent","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/1c.js?v=0f34b871f8c27e510e17","mappings":"0GAwgBAA,EAAOC,QAjgBP,SAAaC,GAGX,IAAIC,EAAsB,yCAYtBC,EAAUC,kNA6YVC,EAAU,gCAGVC,EAAUL,EAAKM,QAAQN,EAAKO,aAG5BC,EAAU,CACZC,UAAW,SACXC,MAAO,QAASC,IAAK,MACrBC,SAAU,CAAC,CAACF,MAAO,QAIjBG,EAAO,CACTH,MAAO,IAAKC,IAAK,IAAKG,cAAc,EAAMC,YAAY,EACtDH,SAAU,CACR,CACEH,UAAW,SACXC,MAAO,sCAMTM,EAAWhB,EAAKM,QAAQN,EAAKiB,qBAsDjC,MAAO,CACLC,KAAM,gBACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAUpB,EACVqB,QAASpB,EACTqB,SArWJC,ikUAsWIC,MA7JJC,ypZA8JIC,KA1FJC,+5HA2FIC,QAASzB,GAEXQ,SAAU,CA9DD,CACTH,UAAW,OAEXC,MAAO,MAAOC,IAAK,IACnBS,SAAU,CACRC,SAAUpB,EACV,eAAgBC,EAjaF4B,sUAmahBlB,SAAU,CACRI,IAWW,CACbP,UAAW,WACXsB,SAAU,CACR,CAACrB,MAAO,oBAAqBC,IAAK,MAAOS,SAAU,qBACnD,CAACV,MAAO,8BAA+BU,SAAU,gCAEnDR,SAAU,CACR,CACEF,MAAO,MAAOC,IAAK,MAAOqB,YAAa,EACvCpB,SAAU,CACR,CACEH,UAAW,SACXC,MAAOT,EAAqBU,IAAK,IAAKI,YAAY,EAAMkB,gBAAgB,EACxEb,SAAU,CACRC,SAAUpB,EACVqB,QAAS,OACTO,QAASzB,GAEXQ,SAAU,CACRP,EACAG,EACAK,IAGJG,IAGJhB,EAAKM,QAAQN,EAAKkC,WAAY,CAACxB,MAAOT,MAkBtCe,EAnDS,CACXP,UAAW,SACXC,MAAO,IAAKC,IAAK,MAAOI,YAAY,GAmDlCV,EACAG,EACAK,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/1c.js"],"sourcesContent":["/*\nLanguage: 1C:Enterprise\nAuthor: Stanislav Belov \nDescription: built-in language 1C:Enterprise (v7, v8)\nCategory: enterprise\n*/\n\nfunction _1c(hljs) {\n\n // общий паттерн для определения идентификаторов\n var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+';\n\n // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword\n var v7_keywords =\n 'далее ';\n\n // v8 ключевые слова ==> keyword\n var v8_keywords =\n 'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' +\n 'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ';\n\n // keyword : ключевые слова\n var KEYWORD = v7_keywords + v8_keywords;\n\n // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword\n var v7_meta_keywords =\n 'загрузитьизфайла ';\n\n // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword\n var v8_meta_keywords =\n 'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' +\n 'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' +\n 'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ';\n\n // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях\n var METAKEYWORD = v7_meta_keywords + v8_meta_keywords;\n\n // v7 системные константы ==> built_in\n var v7_system_constants =\n 'разделительстраниц разделительстрок символтабуляции ';\n\n // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in\n var v7_global_context_methods =\n 'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' +\n 'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' +\n 'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' +\n 'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' +\n 'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' +\n 'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' +\n 'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' +\n 'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' +\n 'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' +\n 'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' +\n 'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ';\n\n // v8 методы глобального контекста ==> built_in\n var v8_global_context_methods =\n 'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' +\n 'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' +\n 'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' +\n 'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' +\n 'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' +\n 'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' +\n 'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' +\n 'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' +\n 'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' +\n 'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' +\n 'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' +\n 'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' +\n 'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' +\n 'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' +\n 'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' +\n 'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' +\n 'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' +\n 'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' +\n 'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' +\n 'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' +\n 'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' +\n 'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' +\n 'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' +\n 'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' +\n 'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' +\n 'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' +\n 'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' +\n 'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' +\n 'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' +\n 'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' +\n 'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' +\n 'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' +\n 'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' +\n 'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' +\n 'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' +\n 'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' +\n 'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' +\n 'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' +\n 'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' +\n 'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' +\n 'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' +\n 'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' +\n 'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' +\n 'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' +\n 'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' +\n 'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' +\n 'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' +\n 'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' +\n 'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' +\n 'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' +\n 'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' +\n 'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' +\n 'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' +\n 'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' +\n 'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' +\n 'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' +\n 'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+\n 'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' +\n 'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' +\n 'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' +\n 'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' +\n 'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' +\n 'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' +\n 'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' +\n 'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' +\n 'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' +\n 'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' +\n 'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' +\n 'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' +\n 'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' +\n 'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' +\n 'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ';\n\n // v8 свойства глобального контекста ==> built_in\n var v8_global_context_property =\n 'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' +\n 'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' +\n 'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' +\n 'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' +\n 'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' +\n 'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' +\n 'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' +\n 'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' +\n 'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' +\n 'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' +\n 'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ';\n\n // built_in : встроенные или библиотечные объекты (константы, классы, функции)\n var BUILTIN =\n v7_system_constants +\n v7_global_context_methods + v8_global_context_methods +\n v8_global_context_property;\n\n // v8 системные наборы значений ==> class\n var v8_system_sets_of_values =\n 'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ';\n\n // v8 системные перечисления - интерфейсные ==> class\n var v8_system_enums_interface =\n 'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' +\n 'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' +\n 'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' +\n 'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' +\n 'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' +\n 'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' +\n 'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' +\n 'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' +\n 'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' +\n 'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' +\n 'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' +\n 'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' +\n 'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' +\n 'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' +\n 'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' +\n 'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' +\n 'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' +\n 'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' +\n 'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' +\n 'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' +\n 'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' +\n 'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' +\n 'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' +\n 'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' +\n 'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' +\n 'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' +\n 'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' +\n 'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' +\n 'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' +\n 'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' +\n 'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' +\n 'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' +\n 'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' +\n 'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' +\n 'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' +\n 'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' +\n 'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' +\n 'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' +\n 'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' +\n 'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' +\n 'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' +\n 'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' +\n 'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' +\n 'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' +\n 'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' +\n 'форматкартинки ширинаподчиненныхэлементовформы ';\n\n // v8 системные перечисления - свойства прикладных объектов ==> class\n var v8_system_enums_objects_properties =\n 'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' +\n 'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' +\n 'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ';\n\n // v8 системные перечисления - планы обмена ==> class\n var v8_system_enums_exchange_plans =\n 'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ';\n\n // v8 системные перечисления - табличный документ ==> class\n var v8_system_enums_tabular_document =\n 'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' +\n 'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' +\n 'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' +\n 'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' +\n 'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' +\n 'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' +\n 'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ';\n\n // v8 системные перечисления - планировщик ==> class\n var v8_system_enums_sheduler =\n 'отображениевремениэлементовпланировщика ';\n\n // v8 системные перечисления - форматированный документ ==> class\n var v8_system_enums_formatted_document =\n 'типфайлаформатированногодокумента ';\n\n // v8 системные перечисления - запрос ==> class\n var v8_system_enums_query =\n 'обходрезультатазапроса типзаписизапроса ';\n\n // v8 системные перечисления - построитель отчета ==> class\n var v8_system_enums_report_builder =\n 'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ';\n\n // v8 системные перечисления - работа с файлами ==> class\n var v8_system_enums_files =\n 'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ';\n\n // v8 системные перечисления - построитель запроса ==> class\n var v8_system_enums_query_builder =\n 'типизмеренияпостроителязапроса ';\n\n // v8 системные перечисления - анализ данных ==> class\n var v8_system_enums_data_analysis =\n 'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' +\n 'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' +\n 'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' +\n 'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' +\n 'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' +\n 'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ';\n\n // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class\n var v8_system_enums_xml_json_xs_dom_xdto_ws =\n 'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' +\n 'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' +\n 'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' +\n 'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' +\n 'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' +\n 'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' +\n 'форматдатыjson экранированиесимволовjson ';\n\n // v8 системные перечисления - система компоновки данных ==> class\n var v8_system_enums_data_composition_system =\n 'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' +\n 'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' +\n 'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' +\n 'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' +\n 'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' +\n 'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' +\n 'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' +\n 'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' +\n 'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' +\n 'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+\n 'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' +\n 'использованиеусловногооформлениякомпоновкиданных ';\n\n // v8 системные перечисления - почта ==> class\n var v8_system_enums_email =\n 'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' +\n 'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' +\n 'статусразборапочтовогосообщения ';\n\n // v8 системные перечисления - журнал регистрации ==> class\n var v8_system_enums_logbook =\n 'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ';\n\n // v8 системные перечисления - криптография ==> class\n var v8_system_enums_cryptography =\n 'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' +\n 'типхранилищасертификатовкриптографии ';\n\n // v8 системные перечисления - ZIP ==> class\n var v8_system_enums_zip =\n 'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' +\n 'режимсохраненияпутейzip уровеньсжатияzip ';\n\n // v8 системные перечисления -\n // Блокировка данных, Фоновые задания, Автоматизированное тестирование,\n // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class\n var v8_system_enums_other =\n 'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' +\n 'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ';\n\n // v8 системные перечисления - схема запроса ==> class\n var v8_system_enums_request_schema =\n 'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' +\n 'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ';\n\n // v8 системные перечисления - свойства объектов метаданных ==> class\n var v8_system_enums_properties_of_metadata_objects =\n 'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' +\n 'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' +\n 'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' +\n 'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' +\n 'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' +\n 'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' +\n 'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' +\n 'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' +\n 'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' +\n 'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+\n 'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' +\n 'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' +\n 'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' +\n 'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' +\n 'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' +\n 'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' +\n 'типномерадокумента типномеразадачи типформы удалениедвижений ';\n\n // v8 системные перечисления - разные ==> class\n var v8_system_enums_differents =\n 'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' +\n 'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' +\n 'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' +\n 'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' +\n 'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' +\n 'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' +\n 'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' +\n 'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' +\n 'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты';\n\n // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование)\n var CLASS =\n v8_system_sets_of_values +\n v8_system_enums_interface +\n v8_system_enums_objects_properties +\n v8_system_enums_exchange_plans +\n v8_system_enums_tabular_document +\n v8_system_enums_sheduler +\n v8_system_enums_formatted_document +\n v8_system_enums_query +\n v8_system_enums_report_builder +\n v8_system_enums_files +\n v8_system_enums_query_builder +\n v8_system_enums_data_analysis +\n v8_system_enums_xml_json_xs_dom_xdto_ws +\n v8_system_enums_data_composition_system +\n v8_system_enums_email +\n v8_system_enums_logbook +\n v8_system_enums_cryptography +\n v8_system_enums_zip +\n v8_system_enums_other +\n v8_system_enums_request_schema +\n v8_system_enums_properties_of_metadata_objects +\n v8_system_enums_differents;\n\n // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type\n var v8_shared_object =\n 'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' +\n 'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' +\n 'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' +\n 'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' +\n 'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' +\n 'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' +\n 'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' +\n 'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' +\n 'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' +\n 'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' +\n 'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' +\n 'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' +\n 'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' +\n 'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' +\n 'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' +\n 'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' +\n 'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' +\n 'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' +\n 'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' +\n 'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' +\n 'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' +\n 'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' +\n 'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' +\n 'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' +\n 'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' +\n 'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' +\n 'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' +\n 'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' +\n 'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' +\n 'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' +\n 'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' +\n 'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' +\n 'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' +\n 'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' +\n 'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ';\n\n // v8 универсальные коллекции значений ==> type\n var v8_universal_collection =\n 'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' +\n 'фиксированноесоответствие фиксированныймассив ';\n\n // type : встроенные типы\n var TYPE =\n v8_shared_object +\n v8_universal_collection;\n\n // literal : примитивные типы\n var LITERAL = 'null истина ложь неопределено';\n\n // number : числа\n var NUMBERS = hljs.inherit(hljs.NUMBER_MODE);\n\n // string : строки\n var STRINGS = {\n className: 'string',\n begin: '\"|\\\\|', end: '\"|$',\n contains: [{begin: '\"\"'}]\n };\n\n // number : даты\n var DATE = {\n begin: \"'\", end: \"'\", excludeBegin: true, excludeEnd: true,\n contains: [\n {\n className: 'number',\n begin: '\\\\d{4}([\\\\.\\\\\\\\/:-]?\\\\d{2}){0,5}'\n }\n ]\n };\n\n // comment : комментарии\n var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE);\n\n // meta : инструкции препроцессора, директивы компиляции\n var META = {\n className: 'meta',\n\n begin: '#|&', end: '$',\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n 'meta-keyword': KEYWORD + METAKEYWORD\n },\n contains: [\n COMMENTS\n ]\n };\n\n // symbol : метка goto\n var SYMBOL = {\n className: 'symbol',\n begin: '~', end: ';|:', excludeEnd: true\n };\n\n // function : объявление процедур и функций\n var FUNCTION = {\n className: 'function',\n variants: [\n {begin: 'процедура|функция', end: '\\\\)', keywords: 'процедура функция'},\n {begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'}\n ],\n contains: [\n {\n begin: '\\\\(', end: '\\\\)', endsParent : true,\n contains: [\n {\n className: 'params',\n begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true,\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n keyword: 'знач',\n literal: LITERAL\n },\n contains: [\n NUMBERS,\n STRINGS,\n DATE\n ]\n },\n COMMENTS\n ]\n },\n hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE})\n ]\n };\n\n return {\n name: '1C:Enterprise',\n case_insensitive: true,\n keywords: {\n $pattern: UNDERSCORE_IDENT_RE,\n keyword: KEYWORD,\n built_in: BUILTIN,\n class: CLASS,\n type: TYPE,\n literal: LITERAL\n },\n contains: [\n META,\n FUNCTION,\n COMMENTS,\n SYMBOL,\n NUMBERS,\n STRINGS,\n DATE\n ]\n };\n}\n\nmodule.exports = _1c;\n"],"names":["module","exports","hljs","UNDERSCORE_IDENT_RE","KEYWORD","v7_keywords","LITERAL","NUMBERS","inherit","NUMBER_MODE","STRINGS","className","begin","end","contains","DATE","excludeBegin","excludeEnd","COMMENTS","C_LINE_COMMENT_MODE","name","case_insensitive","keywords","$pattern","keyword","built_in","v7_system_constants","class","v8_system_sets_of_values","type","v8_shared_object","literal","v7_meta_keywords","variants","endsParent","endsWithParent","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/abnf.js.map b/js/highlight/abnf.js.map
index cb109943663..9b67f46eca4 100644
--- a/js/highlight/abnf.js.map
+++ b/js/highlight/abnf.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/abnf.js?v=8418b3ca5aa2e0eeb3c4","mappings":"2GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IAiFjDC,EAAOC,QArEP,SAAcC,GACZ,MAAMC,EAAU,CACdC,gBAAiB,yBACjBC,gBAAiB,oBAsBbC,EAAcJ,EAAKK,QAAQ,IAAK,KAsBhCC,EAAsB,CAC1BC,UAAW,YACXC,MAAOjB,EAAOU,EAAQC,gBAAiB,aAGzC,MAAO,CACLO,KAAM,6BACNC,QAAST,EAAQE,gBACjBQ,SAjDe,CACf,QACA,MACA,OACA,KACA,OACA,MACA,QACA,SACA,SACA,OACA,KACA,OACA,QACA,KACA,QACA,OAkCAC,SAAU,CACRN,EACAF,EA/BuB,CACzBG,UAAW,SACXC,MAAO,sCAGmB,CAC1BD,UAAW,SACXC,MAAO,sCAGuB,CAC9BD,UAAW,SACXC,MAAO,+CAG4B,CACnCD,UAAW,SACXC,MAAO,SAmBLR,EAAKa,kBACLb,EAAKc","sources":["webpack:///text/node_modules/highlight.js/lib/languages/abnf.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Augmented Backus-Naur Form\nAuthor: Alex McKibben \nWebsite: https://tools.ietf.org/html/rfc5234\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction abnf(hljs) {\n const regexes = {\n ruleDeclaration: /^[a-zA-Z][a-zA-Z0-9-]*/,\n unexpectedChars: /[!@#$^&',?+~`|:]/\n };\n\n const keywords = [\n \"ALPHA\",\n \"BIT\",\n \"CHAR\",\n \"CR\",\n \"CRLF\",\n \"CTL\",\n \"DIGIT\",\n \"DQUOTE\",\n \"HEXDIG\",\n \"HTAB\",\n \"LF\",\n \"LWSP\",\n \"OCTET\",\n \"SP\",\n \"VCHAR\",\n \"WSP\"\n ];\n\n const commentMode = hljs.COMMENT(/;/, /$/);\n\n const terminalBinaryMode = {\n className: \"symbol\",\n begin: /%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/\n };\n\n const terminalDecimalMode = {\n className: \"symbol\",\n begin: /%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/\n };\n\n const terminalHexadecimalMode = {\n className: \"symbol\",\n begin: /%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/\n };\n\n const caseSensitivityIndicatorMode = {\n className: \"symbol\",\n begin: /%[si]/\n };\n\n const ruleDeclarationMode = {\n className: \"attribute\",\n begin: concat(regexes.ruleDeclaration, /(?=\\s*=)/)\n };\n\n return {\n name: 'Augmented Backus-Naur Form',\n illegal: regexes.unexpectedChars,\n keywords: keywords,\n contains: [\n ruleDeclarationMode,\n commentMode,\n terminalBinaryMode,\n terminalDecimalMode,\n terminalHexadecimalMode,\n caseSensitivityIndicatorMode,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = abnf;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","regexes","ruleDeclaration","unexpectedChars","commentMode","COMMENT","ruleDeclarationMode","className","begin","name","illegal","keywords","contains","QUOTE_STRING_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/abnf.js?v=8418b3ca5aa2e0eeb3c4","mappings":"2GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,CAY0B,IAAEC,KAAK,GAEjD,CA+EAC,EAAOC,QArEP,SAAcC,GACZ,MAAMC,EAAU,CACdC,gBAAiB,yBACjBC,gBAAiB,oBAsBbC,EAAcJ,EAAKK,QAAQ,IAAK,KAsBhCC,EAAsB,CAC1BC,UAAW,YACXC,MAAOjB,EAAOU,EAAQC,gBAAiB,aAGzC,MAAO,CACLO,KAAM,6BACNC,QAAST,EAAQE,gBACjBQ,SAjDe,CACf,QACA,MACA,OACA,KACA,OACA,MACA,QACA,SACA,SACA,OACA,KACA,OACA,QACA,KACA,QACA,OAkCAC,SAAU,CACRN,EACAF,EA/BuB,CACzBG,UAAW,SACXC,MAAO,sCAGmB,CAC1BD,UAAW,SACXC,MAAO,sCAGuB,CAC9BD,UAAW,SACXC,MAAO,+CAG4B,CACnCD,UAAW,SACXC,MAAO,SAmBLR,EAAKa,kBACLb,EAAKc,aAGX,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/abnf.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Augmented Backus-Naur Form\nAuthor: Alex McKibben \nWebsite: https://tools.ietf.org/html/rfc5234\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction abnf(hljs) {\n const regexes = {\n ruleDeclaration: /^[a-zA-Z][a-zA-Z0-9-]*/,\n unexpectedChars: /[!@#$^&',?+~`|:]/\n };\n\n const keywords = [\n \"ALPHA\",\n \"BIT\",\n \"CHAR\",\n \"CR\",\n \"CRLF\",\n \"CTL\",\n \"DIGIT\",\n \"DQUOTE\",\n \"HEXDIG\",\n \"HTAB\",\n \"LF\",\n \"LWSP\",\n \"OCTET\",\n \"SP\",\n \"VCHAR\",\n \"WSP\"\n ];\n\n const commentMode = hljs.COMMENT(/;/, /$/);\n\n const terminalBinaryMode = {\n className: \"symbol\",\n begin: /%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/\n };\n\n const terminalDecimalMode = {\n className: \"symbol\",\n begin: /%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/\n };\n\n const terminalHexadecimalMode = {\n className: \"symbol\",\n begin: /%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/\n };\n\n const caseSensitivityIndicatorMode = {\n className: \"symbol\",\n begin: /%[si]/\n };\n\n const ruleDeclarationMode = {\n className: \"attribute\",\n begin: concat(regexes.ruleDeclaration, /(?=\\s*=)/)\n };\n\n return {\n name: 'Augmented Backus-Naur Form',\n illegal: regexes.unexpectedChars,\n keywords: keywords,\n contains: [\n ruleDeclarationMode,\n commentMode,\n terminalBinaryMode,\n terminalDecimalMode,\n terminalHexadecimalMode,\n caseSensitivityIndicatorMode,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = abnf;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","regexes","ruleDeclaration","unexpectedChars","commentMode","COMMENT","ruleDeclarationMode","className","begin","name","illegal","keywords","contains","QUOTE_STRING_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/accesslog.js.map b/js/highlight/accesslog.js.map
index 56d65888b6c..7753a458fb5 100644
--- a/js/highlight/accesslog.js.map
+++ b/js/highlight/accesslog.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/accesslog.js?v=193cab61f30a53474dbe","mappings":"iHASA,SAASA,EAAOC,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGD,OAHM,KAUlB,SAASE,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,IAWjD,SAASC,KAAUJ,GAEjB,MADe,IAAMA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,KAAO,IA6F9DE,EAAOC,QAhFP,SAAmBC,GAEjB,MAAMC,EAAa,CACjB,MACA,OACA,OACA,MACA,SACA,UACA,UACA,QACA,SAEF,MAAO,CACLC,KAAM,oBACNC,SAAU,CAER,CACEC,UAAW,SACXC,MAAO,mDACPC,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,UACPC,UAAW,GAGb,CACEF,UAAW,SACXC,MAAOb,EAAO,IAAKK,KAAUI,IAC7BM,IAAK,IACLC,SAAUP,EACVQ,QAAS,KACTH,UAAW,EACXH,SAAU,CACR,CACEE,MAAO,kBACPC,UAAW,KAKjB,CACEF,UAAW,SAIXC,MAAO,oBACPI,QAAS,KACTH,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,KACPE,IAAK,KACLE,QAAS,KACTH,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,sBACPE,IAAK,IACLE,QAAS,KACTH,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,IACLE,QAAS,KACTH,UAAW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/accesslog.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\n Language: Apache Access Log\n Author: Oleg Efimov \n Description: Apache/Nginx Access Logs\n Website: https://httpd.apache.org/docs/2.4/logs.html#accesslog\n Audit: 2020\n */\n\n/** @type LanguageFn */\nfunction accesslog(_hljs) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods\n const HTTP_VERBS = [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"PUT\",\n \"DELETE\",\n \"CONNECT\",\n \"OPTIONS\",\n \"PATCH\",\n \"TRACE\"\n ];\n return {\n name: 'Apache Access Log',\n contains: [\n // IP\n {\n className: 'number',\n begin: /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b/,\n relevance: 5\n },\n // Other numbers\n {\n className: 'number',\n begin: /\\b\\d+\\b/,\n relevance: 0\n },\n // Requests\n {\n className: 'string',\n begin: concat(/\"/, either(...HTTP_VERBS)),\n end: /\"/,\n keywords: HTTP_VERBS,\n illegal: /\\n/,\n relevance: 5,\n contains: [\n {\n begin: /HTTP\\/[12]\\.\\d'/,\n relevance: 5\n }\n ]\n },\n // Dates\n {\n className: 'string',\n // dates must have a certain length, this prevents matching\n // simple array accesses a[123] and [] and other common patterns\n // found in other languages\n begin: /\\[\\d[^\\]\\n]{8,}\\]/,\n illegal: /\\n/,\n relevance: 1\n },\n {\n className: 'string',\n begin: /\\[/,\n end: /\\]/,\n illegal: /\\n/,\n relevance: 0\n },\n // User agent / relevance boost\n {\n className: 'string',\n begin: /\"Mozilla\\/\\d\\.\\d \\(/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 3\n },\n // Strings\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = accesslog;\n"],"names":["source","re","concat","args","map","x","join","either","module","exports","_hljs","HTTP_VERBS","name","contains","className","begin","relevance","end","keywords","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/accesslog.js?v=193cab61f30a53474dbe","mappings":"iHASA,SAASA,EAAOC,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGD,OAHM,IAIlB,CAMA,SAASE,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,GAEjD,CASA,SAASC,KAAUJ,GAEjB,MADe,IAAMA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,KAAO,GAE9D,CA2FAE,EAAOC,QAhFP,SAAmBC,GAEjB,MAAMC,EAAa,CACjB,MACA,OACA,OACA,MACA,SACA,UACA,UACA,QACA,SAEF,MAAO,CACLC,KAAM,oBACNC,SAAU,CAER,CACEC,UAAW,SACXC,MAAO,mDACPC,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,UACPC,UAAW,GAGb,CACEF,UAAW,SACXC,MAAOb,EAAO,IAAKK,KAAUI,IAC7BM,IAAK,IACLC,SAAUP,EACVQ,QAAS,KACTH,UAAW,EACXH,SAAU,CACR,CACEE,MAAO,kBACPC,UAAW,KAKjB,CACEF,UAAW,SAIXC,MAAO,oBACPI,QAAS,KACTH,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,KACPE,IAAK,KACLE,QAAS,KACTH,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,sBACPE,IAAK,IACLE,QAAS,KACTH,UAAW,GAGb,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,IACLE,QAAS,KACTH,UAAW,IAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/accesslog.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\n Language: Apache Access Log\n Author: Oleg Efimov \n Description: Apache/Nginx Access Logs\n Website: https://httpd.apache.org/docs/2.4/logs.html#accesslog\n Audit: 2020\n */\n\n/** @type LanguageFn */\nfunction accesslog(_hljs) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods\n const HTTP_VERBS = [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"PUT\",\n \"DELETE\",\n \"CONNECT\",\n \"OPTIONS\",\n \"PATCH\",\n \"TRACE\"\n ];\n return {\n name: 'Apache Access Log',\n contains: [\n // IP\n {\n className: 'number',\n begin: /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b/,\n relevance: 5\n },\n // Other numbers\n {\n className: 'number',\n begin: /\\b\\d+\\b/,\n relevance: 0\n },\n // Requests\n {\n className: 'string',\n begin: concat(/\"/, either(...HTTP_VERBS)),\n end: /\"/,\n keywords: HTTP_VERBS,\n illegal: /\\n/,\n relevance: 5,\n contains: [\n {\n begin: /HTTP\\/[12]\\.\\d'/,\n relevance: 5\n }\n ]\n },\n // Dates\n {\n className: 'string',\n // dates must have a certain length, this prevents matching\n // simple array accesses a[123] and [] and other common patterns\n // found in other languages\n begin: /\\[\\d[^\\]\\n]{8,}\\]/,\n illegal: /\\n/,\n relevance: 1\n },\n {\n className: 'string',\n begin: /\\[/,\n end: /\\]/,\n illegal: /\\n/,\n relevance: 0\n },\n // User agent / relevance boost\n {\n className: 'string',\n begin: /\"Mozilla\\/\\d\\.\\d \\(/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 3\n },\n // Strings\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = accesslog;\n"],"names":["source","re","concat","args","map","x","join","either","module","exports","_hljs","HTTP_VERBS","name","contains","className","begin","relevance","end","keywords","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/actionscript.js.map b/js/highlight/actionscript.js.map
index ac28db316d4..9ffd8a086b0 100644
--- a/js/highlight/actionscript.js.map
+++ b/js/highlight/actionscript.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/actionscript.js?v=0160963adaeb03ddd2c6","mappings":"oHAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IA2FjDC,EAAOC,QA/EP,SAAsBC,GACpB,MAGMC,EAAoB,CACxBC,UAAW,WACXC,MAAO,SACPC,IANe,2BAOfC,UAAW,IAGb,MAAO,CACLC,KAAM,eACNC,QAAS,CAAE,MACXC,SAAU,CACRC,QAAS,mUAKTC,QAAS,6BAEXC,SAAU,CACRX,EAAKY,iBACLZ,EAAKa,kBACLb,EAAKc,oBACLd,EAAKe,qBACLf,EAAKgB,cACL,CACEd,UAAW,QACXe,cAAe,UACfb,IAAK,KACLO,SAAU,CAAEX,EAAKkB,aAEnB,CACEhB,UAAW,QACXe,cAAe,kBACfb,IAAK,KACLe,YAAY,EACZR,SAAU,CACR,CAAEM,cAAe,sBACjBjB,EAAKkB,aAGT,CACEhB,UAAW,OACXe,cAAe,iBACfb,IAAK,IACLI,SAAU,CAAE,eAAgB,mBAE9B,CACEN,UAAW,WACXe,cAAe,WACfb,IAAK,OACLe,YAAY,EACZC,QAAS,KACTT,SAAU,CACRX,EAAKkB,WACL,CACEhB,UAAW,SACXC,MAAO,KACPC,IAAK,KACLO,SAAU,CACRX,EAAKY,iBACLZ,EAAKa,kBACLb,EAAKc,oBACLd,EAAKe,qBACLd,IAGJ,CAAEE,MAAOZ,EAAO,OApEU,qCAuE9BS,EAAKqB,cAEPD,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/actionscript.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: ActionScript\nAuthor: Alexander Myadzel \nCategory: scripting\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction actionscript(hljs) {\n const IDENT_RE = /[a-zA-Z_$][a-zA-Z0-9_$]*/;\n const IDENT_FUNC_RETURN_TYPE_RE = /([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;\n\n const AS3_REST_ARG_MODE = {\n className: 'rest_arg',\n begin: /[.]{3}/,\n end: IDENT_RE,\n relevance: 10\n };\n\n return {\n name: 'ActionScript',\n aliases: [ 'as' ],\n keywords: {\n keyword: 'as break case catch class const continue default delete do dynamic each ' +\n 'else extends final finally for function get if implements import in include ' +\n 'instanceof interface internal is namespace native new override package private ' +\n 'protected public return set static super switch this throw try typeof use var void ' +\n 'while with',\n literal: 'true false null undefined'\n },\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'class',\n beginKeywords: 'package',\n end: /\\{/,\n contains: [ hljs.TITLE_MODE ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.TITLE_MODE\n ]\n },\n {\n className: 'meta',\n beginKeywords: 'import include',\n end: /;/,\n keywords: { 'meta-keyword': 'import include' }\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /[{;]/,\n excludeEnd: true,\n illegal: /\\S/,\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AS3_REST_ARG_MODE\n ]\n },\n { begin: concat(/:\\s*/, IDENT_FUNC_RETURN_TYPE_RE) }\n ]\n },\n hljs.METHOD_GUARD\n ],\n illegal: /#/\n };\n}\n\nmodule.exports = actionscript;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","AS3_REST_ARG_MODE","className","begin","end","relevance","name","aliases","keywords","keyword","literal","contains","APOS_STRING_MODE","QUOTE_STRING_MODE","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","C_NUMBER_MODE","beginKeywords","TITLE_MODE","excludeEnd","illegal","METHOD_GUARD"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/actionscript.js?v=0160963adaeb03ddd2c6","mappings":"oHAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,CAY0B,IAAEC,KAAK,GAEjD,CAyFAC,EAAOC,QA/EP,SAAsBC,GACpB,MAGMC,EAAoB,CACxBC,UAAW,WACXC,MAAO,SACPC,IANe,2BAOfC,UAAW,IAGb,MAAO,CACLC,KAAM,eACNC,QAAS,CAAE,MACXC,SAAU,CACRC,QAAS,mUAKTC,QAAS,6BAEXC,SAAU,CACRX,EAAKY,iBACLZ,EAAKa,kBACLb,EAAKc,oBACLd,EAAKe,qBACLf,EAAKgB,cACL,CACEd,UAAW,QACXe,cAAe,UACfb,IAAK,KACLO,SAAU,CAAEX,EAAKkB,aAEnB,CACEhB,UAAW,QACXe,cAAe,kBACfb,IAAK,KACLe,YAAY,EACZR,SAAU,CACR,CAAEM,cAAe,sBACjBjB,EAAKkB,aAGT,CACEhB,UAAW,OACXe,cAAe,iBACfb,IAAK,IACLI,SAAU,CAAE,eAAgB,mBAE9B,CACEN,UAAW,WACXe,cAAe,WACfb,IAAK,OACLe,YAAY,EACZC,QAAS,KACTT,SAAU,CACRX,EAAKkB,WACL,CACEhB,UAAW,SACXC,MAAO,KACPC,IAAK,KACLO,SAAU,CACRX,EAAKY,iBACLZ,EAAKa,kBACLb,EAAKc,oBACLd,EAAKe,qBACLd,IAGJ,CAAEE,MAAOZ,EAAO,OApEU,qCAuE9BS,EAAKqB,cAEPD,QAAS,IAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/actionscript.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: ActionScript\nAuthor: Alexander Myadzel \nCategory: scripting\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction actionscript(hljs) {\n const IDENT_RE = /[a-zA-Z_$][a-zA-Z0-9_$]*/;\n const IDENT_FUNC_RETURN_TYPE_RE = /([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;\n\n const AS3_REST_ARG_MODE = {\n className: 'rest_arg',\n begin: /[.]{3}/,\n end: IDENT_RE,\n relevance: 10\n };\n\n return {\n name: 'ActionScript',\n aliases: [ 'as' ],\n keywords: {\n keyword: 'as break case catch class const continue default delete do dynamic each ' +\n 'else extends final finally for function get if implements import in include ' +\n 'instanceof interface internal is namespace native new override package private ' +\n 'protected public return set static super switch this throw try typeof use var void ' +\n 'while with',\n literal: 'true false null undefined'\n },\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'class',\n beginKeywords: 'package',\n end: /\\{/,\n contains: [ hljs.TITLE_MODE ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.TITLE_MODE\n ]\n },\n {\n className: 'meta',\n beginKeywords: 'import include',\n end: /;/,\n keywords: { 'meta-keyword': 'import include' }\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /[{;]/,\n excludeEnd: true,\n illegal: /\\S/,\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AS3_REST_ARG_MODE\n ]\n },\n { begin: concat(/:\\s*/, IDENT_FUNC_RETURN_TYPE_RE) }\n ]\n },\n hljs.METHOD_GUARD\n ],\n illegal: /#/\n };\n}\n\nmodule.exports = actionscript;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","AS3_REST_ARG_MODE","className","begin","end","relevance","name","aliases","keywords","keyword","literal","contains","APOS_STRING_MODE","QUOTE_STRING_MODE","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","C_NUMBER_MODE","beginKeywords","TITLE_MODE","excludeEnd","illegal","METHOD_GUARD"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/ada.js.map b/js/highlight/ada.js.map
index 897e7359e2f..5980b09d04d 100644
--- a/js/highlight/ada.js.map
+++ b/js/highlight/ada.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/ada.js?v=cc4b4ffbf5a0e1a5ec8b","mappings":"2GAiMAA,EAAOC,QA7KP,SAAaC,GAKX,MAWMC,EAAW,4BAGXC,EAAY,gBAGZC,EAAWH,EAAKI,QAAQ,KAAM,KAK9BC,EAAY,CAIhBC,MAAO,YACPC,IAAK,sBAGLC,QAASN,EACTO,SAAU,CACR,CAGEC,cAAe,0BACfC,YAAY,GAEd,CAEEC,UAAW,UACXF,cAAe,wEAEjB,CACEE,UAAW,OACXN,MAAOL,EACPU,YAAY,EACZE,UAAW,KAKjB,MAAO,CACLC,KAAM,MACNC,kBAAkB,EAClBC,SAAU,CACRC,QACU,4bAOVC,QACU,cAEZT,SAAU,CACRN,EAEA,CACES,UAAW,SACXN,MAAO,IACPC,IAAK,IACLE,SAAU,CAAC,CACTH,MAAO,KACPO,UAAW,KAIf,CAEED,UAAW,SACXN,MAAO,OAET,CAEEM,UAAW,SACXN,MAhFY,8GAiFZO,UAAW,GAEb,CAEED,UAAW,SACXN,MAAO,IAAML,GAEf,CAEEW,UAAW,QACXN,MAAO,8DACPC,IAAK,SACLS,SAAU,eACVG,cAAc,EACdC,YAAY,EACZZ,QAASN,GAEX,CAGEI,MAAO,yDACPC,IAAK,sCACLS,SAAU,uDAGVK,aAAa,EACbZ,SACQ,CACEN,EACA,CAEES,UAAW,QACXN,MAAO,4CACPC,IAAK,eACLY,cAAc,EACdC,YAAY,EACZZ,QAASN,GAIXG,EACA,CAEEO,UAAW,OACXN,MAAO,gBACPC,IAAK,aACLS,SAAU,SACVG,cAAc,EACdC,YAAY,EAEZT,YAAY,EACZH,QAASN,KAKvB,CAGEU,UAAW,OACXN,MAAO,oBACPC,IAAK,OACLS,SAAU,OACVG,cAAc,EACdX,QAASN,GAIXG","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ada.js"],"sourcesContent":["/*\nLanguage: Ada\nAuthor: Lars Schulna \nDescription: Ada is a general-purpose programming language that has great support for saftey critical and real-time applications.\n It has been developed by the DoD and thus has been used in military and safety-critical applications (like civil aviation).\n The first version appeared in the 80s, but it's still actively developed today with\n the newest standard being Ada2012.\n*/\n\n// We try to support full Ada2012\n//\n// We highlight all appearances of types, keywords, literals (string, char, number, bool)\n// and titles (user defined function/procedure/package)\n// CSS classes are set accordingly\n//\n// Languages causing problems for language detection:\n// xml (broken by Foo : Bar type), elm (broken by Foo : Bar type), vbscript-html (broken by body keyword)\n// sql (ada default.txt has a lot of sql keywords)\n\n/** @type LanguageFn */\nfunction ada(hljs) {\n // Regular expression for Ada numeric literals.\n // stolen form the VHDL highlighter\n\n // Decimal literal:\n const INTEGER_RE = '\\\\d(_|\\\\d)*';\n const EXPONENT_RE = '[eE][-+]?' + INTEGER_RE;\n const DECIMAL_LITERAL_RE = INTEGER_RE + '(\\\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?';\n\n // Based literal:\n const BASED_INTEGER_RE = '\\\\w+';\n const BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?';\n\n const NUMBER_RE = '\\\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')';\n\n // Identifier regex\n const ID_REGEX = '[A-Za-z](_?[A-Za-z0-9.])*';\n\n // bad chars, only allowed in literals\n const BAD_CHARS = `[]\\\\{\\\\}%#'\"`;\n\n // Ada doesn't have block comments, only line comments\n const COMMENTS = hljs.COMMENT('--', '$');\n\n // variable declarations of the form\n // Foo : Bar := Baz;\n // where only Bar will be highlighted\n const VAR_DECLS = {\n // TODO: These spaces are not required by the Ada syntax\n // however, I have yet to see handwritten Ada code where\n // someone does not put spaces around :\n begin: '\\\\s+:\\\\s+',\n end: '\\\\s*(:=|;|\\\\)|=>|$)',\n // endsWithParent: true,\n // returnBegin: true,\n illegal: BAD_CHARS,\n contains: [\n {\n // workaround to avoid highlighting\n // named loops and declare blocks\n beginKeywords: 'loop for declare others',\n endsParent: true\n },\n {\n // properly highlight all modifiers\n className: 'keyword',\n beginKeywords: 'not null constant access function procedure in out aliased exception'\n },\n {\n className: 'type',\n begin: ID_REGEX,\n endsParent: true,\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'Ada',\n case_insensitive: true,\n keywords: {\n keyword:\n 'abort else new return abs elsif not reverse abstract end ' +\n 'accept entry select access exception of separate aliased exit or some ' +\n 'all others subtype and for out synchronized array function overriding ' +\n 'at tagged generic package task begin goto pragma terminate ' +\n 'body private then if procedure type case in protected constant interface ' +\n 'is raise use declare range delay limited record when delta loop rem while ' +\n 'digits renames with do mod requeue xor',\n literal:\n 'True False'\n },\n contains: [\n COMMENTS,\n // strings \"foobar\"\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n // characters ''\n {\n // character literals always contain one char\n className: 'string',\n begin: /'.'/\n },\n {\n // number literals\n className: 'number',\n begin: NUMBER_RE,\n relevance: 0\n },\n {\n // Attributes\n className: 'symbol',\n begin: \"'\" + ID_REGEX\n },\n {\n // package definition, maybe inside generic\n className: 'title',\n begin: '(\\\\bwith\\\\s+)?(\\\\bprivate\\\\s+)?\\\\bpackage\\\\s+(\\\\bbody\\\\s+)?',\n end: '(is|$)',\n keywords: 'package body',\n excludeBegin: true,\n excludeEnd: true,\n illegal: BAD_CHARS\n },\n {\n // function/procedure declaration/definition\n // maybe inside generic\n begin: '(\\\\b(with|overriding)\\\\s+)?\\\\b(function|procedure)\\\\s+',\n end: '(\\\\bis|\\\\bwith|\\\\brenames|\\\\)\\\\s*;)',\n keywords: 'overriding function procedure with is renames return',\n // we need to re-match the 'function' keyword, so that\n // the title mode below matches only exactly once\n returnBegin: true,\n contains:\n [\n COMMENTS,\n {\n // name of the function/procedure\n className: 'title',\n begin: '(\\\\bwith\\\\s+)?\\\\b(function|procedure)\\\\s+',\n end: '(\\\\(|\\\\s+|$)',\n excludeBegin: true,\n excludeEnd: true,\n illegal: BAD_CHARS\n },\n // 'self'\n // // parameter types\n VAR_DECLS,\n {\n // return type\n className: 'type',\n begin: '\\\\breturn\\\\s+',\n end: '(\\\\s+|;|$)',\n keywords: 'return',\n excludeBegin: true,\n excludeEnd: true,\n // we are done with functions\n endsParent: true,\n illegal: BAD_CHARS\n\n }\n ]\n },\n {\n // new type declarations\n // maybe inside generic\n className: 'type',\n begin: '\\\\b(sub)?type\\\\s+',\n end: '\\\\s+',\n keywords: 'type',\n excludeBegin: true,\n illegal: BAD_CHARS\n },\n\n // see comment above the definition\n VAR_DECLS\n\n // no markup\n // relevance boosters for small snippets\n // {begin: '\\\\s*=>\\\\s*'},\n // {begin: '\\\\s*:=\\\\s*'},\n // {begin: '\\\\s+:=\\\\s+'},\n ]\n };\n}\n\nmodule.exports = ada;\n"],"names":["module","exports","hljs","ID_REGEX","BAD_CHARS","COMMENTS","COMMENT","VAR_DECLS","begin","end","illegal","contains","beginKeywords","endsParent","className","relevance","name","case_insensitive","keywords","keyword","literal","excludeBegin","excludeEnd","returnBegin"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/ada.js?v=cc4b4ffbf5a0e1a5ec8b","mappings":"2GAiMAA,EAAOC,QA7KP,SAAaC,GAKX,MAWMC,EAAW,4BAGXC,EAAY,gBAGZC,EAAWH,EAAKI,QAAQ,KAAM,KAK9BC,EAAY,CAIhBC,MAAO,YACPC,IAAK,sBAGLC,QAASN,EACTO,SAAU,CACR,CAGEC,cAAe,0BACfC,YAAY,GAEd,CAEEC,UAAW,UACXF,cAAe,wEAEjB,CACEE,UAAW,OACXN,MAAOL,EACPU,YAAY,EACZE,UAAW,KAKjB,MAAO,CACLC,KAAM,MACNC,kBAAkB,EAClBC,SAAU,CACRC,QACU,4bAOVC,QACU,cAEZT,SAAU,CACRN,EAEA,CACES,UAAW,SACXN,MAAO,IACPC,IAAK,IACLE,SAAU,CAAC,CACTH,MAAO,KACPO,UAAW,KAIf,CAEED,UAAW,SACXN,MAAO,OAET,CAEEM,UAAW,SACXN,MAhFY,8GAiFZO,UAAW,GAEb,CAEED,UAAW,SACXN,MAAO,IAAML,GAEf,CAEEW,UAAW,QACXN,MAAO,8DACPC,IAAK,SACLS,SAAU,eACVG,cAAc,EACdC,YAAY,EACZZ,QAASN,GAEX,CAGEI,MAAO,yDACPC,IAAK,sCACLS,SAAU,uDAGVK,aAAa,EACbZ,SACQ,CACEN,EACA,CAEES,UAAW,QACXN,MAAO,4CACPC,IAAK,eACLY,cAAc,EACdC,YAAY,EACZZ,QAASN,GAIXG,EACA,CAEEO,UAAW,OACXN,MAAO,gBACPC,IAAK,aACLS,SAAU,SACVG,cAAc,EACdC,YAAY,EAEZT,YAAY,EACZH,QAASN,KAKvB,CAGEU,UAAW,OACXN,MAAO,oBACPC,IAAK,OACLS,SAAU,OACVG,cAAc,EACdX,QAASN,GAIXG,GASN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ada.js"],"sourcesContent":["/*\nLanguage: Ada\nAuthor: Lars Schulna \nDescription: Ada is a general-purpose programming language that has great support for saftey critical and real-time applications.\n It has been developed by the DoD and thus has been used in military and safety-critical applications (like civil aviation).\n The first version appeared in the 80s, but it's still actively developed today with\n the newest standard being Ada2012.\n*/\n\n// We try to support full Ada2012\n//\n// We highlight all appearances of types, keywords, literals (string, char, number, bool)\n// and titles (user defined function/procedure/package)\n// CSS classes are set accordingly\n//\n// Languages causing problems for language detection:\n// xml (broken by Foo : Bar type), elm (broken by Foo : Bar type), vbscript-html (broken by body keyword)\n// sql (ada default.txt has a lot of sql keywords)\n\n/** @type LanguageFn */\nfunction ada(hljs) {\n // Regular expression for Ada numeric literals.\n // stolen form the VHDL highlighter\n\n // Decimal literal:\n const INTEGER_RE = '\\\\d(_|\\\\d)*';\n const EXPONENT_RE = '[eE][-+]?' + INTEGER_RE;\n const DECIMAL_LITERAL_RE = INTEGER_RE + '(\\\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?';\n\n // Based literal:\n const BASED_INTEGER_RE = '\\\\w+';\n const BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?';\n\n const NUMBER_RE = '\\\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')';\n\n // Identifier regex\n const ID_REGEX = '[A-Za-z](_?[A-Za-z0-9.])*';\n\n // bad chars, only allowed in literals\n const BAD_CHARS = `[]\\\\{\\\\}%#'\"`;\n\n // Ada doesn't have block comments, only line comments\n const COMMENTS = hljs.COMMENT('--', '$');\n\n // variable declarations of the form\n // Foo : Bar := Baz;\n // where only Bar will be highlighted\n const VAR_DECLS = {\n // TODO: These spaces are not required by the Ada syntax\n // however, I have yet to see handwritten Ada code where\n // someone does not put spaces around :\n begin: '\\\\s+:\\\\s+',\n end: '\\\\s*(:=|;|\\\\)|=>|$)',\n // endsWithParent: true,\n // returnBegin: true,\n illegal: BAD_CHARS,\n contains: [\n {\n // workaround to avoid highlighting\n // named loops and declare blocks\n beginKeywords: 'loop for declare others',\n endsParent: true\n },\n {\n // properly highlight all modifiers\n className: 'keyword',\n beginKeywords: 'not null constant access function procedure in out aliased exception'\n },\n {\n className: 'type',\n begin: ID_REGEX,\n endsParent: true,\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'Ada',\n case_insensitive: true,\n keywords: {\n keyword:\n 'abort else new return abs elsif not reverse abstract end ' +\n 'accept entry select access exception of separate aliased exit or some ' +\n 'all others subtype and for out synchronized array function overriding ' +\n 'at tagged generic package task begin goto pragma terminate ' +\n 'body private then if procedure type case in protected constant interface ' +\n 'is raise use declare range delay limited record when delta loop rem while ' +\n 'digits renames with do mod requeue xor',\n literal:\n 'True False'\n },\n contains: [\n COMMENTS,\n // strings \"foobar\"\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n // characters ''\n {\n // character literals always contain one char\n className: 'string',\n begin: /'.'/\n },\n {\n // number literals\n className: 'number',\n begin: NUMBER_RE,\n relevance: 0\n },\n {\n // Attributes\n className: 'symbol',\n begin: \"'\" + ID_REGEX\n },\n {\n // package definition, maybe inside generic\n className: 'title',\n begin: '(\\\\bwith\\\\s+)?(\\\\bprivate\\\\s+)?\\\\bpackage\\\\s+(\\\\bbody\\\\s+)?',\n end: '(is|$)',\n keywords: 'package body',\n excludeBegin: true,\n excludeEnd: true,\n illegal: BAD_CHARS\n },\n {\n // function/procedure declaration/definition\n // maybe inside generic\n begin: '(\\\\b(with|overriding)\\\\s+)?\\\\b(function|procedure)\\\\s+',\n end: '(\\\\bis|\\\\bwith|\\\\brenames|\\\\)\\\\s*;)',\n keywords: 'overriding function procedure with is renames return',\n // we need to re-match the 'function' keyword, so that\n // the title mode below matches only exactly once\n returnBegin: true,\n contains:\n [\n COMMENTS,\n {\n // name of the function/procedure\n className: 'title',\n begin: '(\\\\bwith\\\\s+)?\\\\b(function|procedure)\\\\s+',\n end: '(\\\\(|\\\\s+|$)',\n excludeBegin: true,\n excludeEnd: true,\n illegal: BAD_CHARS\n },\n // 'self'\n // // parameter types\n VAR_DECLS,\n {\n // return type\n className: 'type',\n begin: '\\\\breturn\\\\s+',\n end: '(\\\\s+|;|$)',\n keywords: 'return',\n excludeBegin: true,\n excludeEnd: true,\n // we are done with functions\n endsParent: true,\n illegal: BAD_CHARS\n\n }\n ]\n },\n {\n // new type declarations\n // maybe inside generic\n className: 'type',\n begin: '\\\\b(sub)?type\\\\s+',\n end: '\\\\s+',\n keywords: 'type',\n excludeBegin: true,\n illegal: BAD_CHARS\n },\n\n // see comment above the definition\n VAR_DECLS\n\n // no markup\n // relevance boosters for small snippets\n // {begin: '\\\\s*=>\\\\s*'},\n // {begin: '\\\\s*:=\\\\s*'},\n // {begin: '\\\\s+:=\\\\s+'},\n ]\n };\n}\n\nmodule.exports = ada;\n"],"names":["module","exports","hljs","ID_REGEX","BAD_CHARS","COMMENTS","COMMENT","VAR_DECLS","begin","end","illegal","contains","beginKeywords","endsParent","className","relevance","name","case_insensitive","keywords","keyword","literal","excludeBegin","excludeEnd","returnBegin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/angelscript.js.map b/js/highlight/angelscript.js.map
index bb574e7bb5f..8313a43c594 100644
--- a/js/highlight/angelscript.js.map
+++ b/js/highlight/angelscript.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/angelscript.js?v=8ddf3d212233d9b5d349","mappings":"mHA0HAA,EAAOC,QAlHP,SAAqBC,GACnB,IAAIC,EAAkB,CACpBC,UAAW,WACXC,MAAO,2HAGLC,EAAmB,CACrBF,UAAW,SACXC,MAAO,kBAGLE,EAAc,CAChBH,UAAW,UACXC,MAAO,IAAKG,IAAK,IACjBC,SAAU,CAAEN,EAAiBG,IAM/B,OAHAH,EAAgBM,SAAW,CAAEF,GAC7BD,EAAiBG,SAAW,CAAEF,GAEvB,CACLG,KAAM,cACNC,QAAS,CAAC,OAEVC,SACE,2SAMFC,QAAS,uDAETJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,IAAMG,IAAK,IAClBK,QAAS,MACTJ,SAAU,CAAEP,EAAKY,kBACjBC,UAAW,GAIb,CACEX,UAAW,SACXC,MAAO,MAAOG,IAAK,OAGrB,CACEJ,UAAW,SACXC,MAAO,IAAKG,IAAK,IACjBK,QAAS,MACTJ,SAAU,CAAEP,EAAKY,kBACjBC,UAAW,GAGbb,EAAKc,oBACLd,EAAKe,qBAEL,CACEb,UAAW,SACXC,MAAO,WAAYG,IAAK,OAG1B,CACEU,cAAe,sBAAuBV,IAAK,KAC3CK,QAAS,UACTJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,mBAKb,CACEa,cAAe,QAASV,IAAK,KAC7BK,QAAS,UACTJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,gBACPI,SAAU,CACR,CACEJ,MAAO,WACPI,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,uBASrBF,EACAG,EAEA,CACEF,UAAW,UACXC,MAAO,wBAGT,CACED,UAAW,SACXW,UAAW,EACXV,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/angelscript.js"],"sourcesContent":["/*\nLanguage: AngelScript\nAuthor: Melissa Geels \nCategory: scripting\nWebsite: https://www.angelcode.com/angelscript/\n*/\n\n/** @type LanguageFn */\nfunction angelscript(hljs) {\n var builtInTypeMode = {\n className: 'built_in',\n begin: '\\\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)'\n };\n\n var objectHandleMode = {\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+@'\n };\n\n var genericMode = {\n className: 'keyword',\n begin: '<', end: '>',\n contains: [ builtInTypeMode, objectHandleMode ]\n };\n\n builtInTypeMode.contains = [ genericMode ];\n objectHandleMode.contains = [ genericMode ];\n\n return {\n name: 'AngelScript',\n aliases: ['asc'],\n\n keywords:\n 'for in|0 break continue while do|0 return if else case switch namespace is cast ' +\n 'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' +\n 'final shared external mixin|10 enum typedef funcdef this super import from interface ' +\n 'abstract|0 try catch protected explicit property',\n\n // avoid close detection with C# and JS\n illegal: '(^using\\\\s+[A-Za-z0-9_\\\\.]+;$|\\\\bfunction\\\\s*[^\\\\(])',\n\n contains: [\n { // 'strings'\n className: 'string',\n begin: '\\'', end: '\\'',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n },\n\n // \"\"\"heredoc strings\"\"\"\n {\n className: 'string',\n begin: '\"\"\"', end: '\"\"\"'\n },\n\n { // \"strings\"\n className: 'string',\n begin: '\"', end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n },\n\n hljs.C_LINE_COMMENT_MODE, // single-line comments\n hljs.C_BLOCK_COMMENT_MODE, // comment blocks\n\n { // metadata\n className: 'string',\n begin: '^\\\\s*\\\\[', end: '\\\\]',\n },\n\n { // interface or namespace declaration\n beginKeywords: 'interface namespace', end: /\\{/,\n illegal: '[;.\\\\-]',\n contains: [\n { // interface or namespace name\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+'\n }\n ]\n },\n\n { // class declaration\n beginKeywords: 'class', end: /\\{/,\n illegal: '[;.\\\\-]',\n contains: [\n { // class name\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+',\n contains: [\n {\n begin: '[:,]\\\\s*',\n contains: [\n {\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+'\n }\n ]\n }\n ]\n }\n ]\n },\n\n builtInTypeMode, // built-in types\n objectHandleMode, // object handles\n\n { // literals\n className: 'literal',\n begin: '\\\\b(null|true|false)'\n },\n\n { // numbers\n className: 'number',\n relevance: 0,\n begin: '(-?)(\\\\b0[xXbBoOdD][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?f?|\\\\.\\\\d+f?)([eE][-+]?\\\\d+f?)?)'\n }\n ]\n };\n}\n\nmodule.exports = angelscript;\n"],"names":["module","exports","hljs","builtInTypeMode","className","begin","objectHandleMode","genericMode","end","contains","name","aliases","keywords","illegal","BACKSLASH_ESCAPE","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/angelscript.js?v=8ddf3d212233d9b5d349","mappings":"mHA0HAA,EAAOC,QAlHP,SAAqBC,GACnB,IAAIC,EAAkB,CACpBC,UAAW,WACXC,MAAO,2HAGLC,EAAmB,CACrBF,UAAW,SACXC,MAAO,kBAGLE,EAAc,CAChBH,UAAW,UACXC,MAAO,IAAKG,IAAK,IACjBC,SAAU,CAAEN,EAAiBG,IAM/B,OAHAH,EAAgBM,SAAW,CAAEF,GAC7BD,EAAiBG,SAAW,CAAEF,GAEvB,CACLG,KAAM,cACNC,QAAS,CAAC,OAEVC,SACE,2SAMFC,QAAS,uDAETJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,IAAMG,IAAK,IAClBK,QAAS,MACTJ,SAAU,CAAEP,EAAKY,kBACjBC,UAAW,GAIb,CACEX,UAAW,SACXC,MAAO,MAAOG,IAAK,OAGrB,CACEJ,UAAW,SACXC,MAAO,IAAKG,IAAK,IACjBK,QAAS,MACTJ,SAAU,CAAEP,EAAKY,kBACjBC,UAAW,GAGbb,EAAKc,oBACLd,EAAKe,qBAEL,CACEb,UAAW,SACXC,MAAO,WAAYG,IAAK,OAG1B,CACEU,cAAe,sBAAuBV,IAAK,KAC3CK,QAAS,UACTJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,mBAKb,CACEa,cAAe,QAASV,IAAK,KAC7BK,QAAS,UACTJ,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,gBACPI,SAAU,CACR,CACEJ,MAAO,WACPI,SAAU,CACR,CACEL,UAAW,SACXC,MAAO,uBASrBF,EACAG,EAEA,CACEF,UAAW,UACXC,MAAO,wBAGT,CACED,UAAW,SACXW,UAAW,EACXV,MAAO,uFAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/angelscript.js"],"sourcesContent":["/*\nLanguage: AngelScript\nAuthor: Melissa Geels \nCategory: scripting\nWebsite: https://www.angelcode.com/angelscript/\n*/\n\n/** @type LanguageFn */\nfunction angelscript(hljs) {\n var builtInTypeMode = {\n className: 'built_in',\n begin: '\\\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)'\n };\n\n var objectHandleMode = {\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+@'\n };\n\n var genericMode = {\n className: 'keyword',\n begin: '<', end: '>',\n contains: [ builtInTypeMode, objectHandleMode ]\n };\n\n builtInTypeMode.contains = [ genericMode ];\n objectHandleMode.contains = [ genericMode ];\n\n return {\n name: 'AngelScript',\n aliases: ['asc'],\n\n keywords:\n 'for in|0 break continue while do|0 return if else case switch namespace is cast ' +\n 'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' +\n 'final shared external mixin|10 enum typedef funcdef this super import from interface ' +\n 'abstract|0 try catch protected explicit property',\n\n // avoid close detection with C# and JS\n illegal: '(^using\\\\s+[A-Za-z0-9_\\\\.]+;$|\\\\bfunction\\\\s*[^\\\\(])',\n\n contains: [\n { // 'strings'\n className: 'string',\n begin: '\\'', end: '\\'',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n },\n\n // \"\"\"heredoc strings\"\"\"\n {\n className: 'string',\n begin: '\"\"\"', end: '\"\"\"'\n },\n\n { // \"strings\"\n className: 'string',\n begin: '\"', end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n },\n\n hljs.C_LINE_COMMENT_MODE, // single-line comments\n hljs.C_BLOCK_COMMENT_MODE, // comment blocks\n\n { // metadata\n className: 'string',\n begin: '^\\\\s*\\\\[', end: '\\\\]',\n },\n\n { // interface or namespace declaration\n beginKeywords: 'interface namespace', end: /\\{/,\n illegal: '[;.\\\\-]',\n contains: [\n { // interface or namespace name\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+'\n }\n ]\n },\n\n { // class declaration\n beginKeywords: 'class', end: /\\{/,\n illegal: '[;.\\\\-]',\n contains: [\n { // class name\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+',\n contains: [\n {\n begin: '[:,]\\\\s*',\n contains: [\n {\n className: 'symbol',\n begin: '[a-zA-Z0-9_]+'\n }\n ]\n }\n ]\n }\n ]\n },\n\n builtInTypeMode, // built-in types\n objectHandleMode, // object handles\n\n { // literals\n className: 'literal',\n begin: '\\\\b(null|true|false)'\n },\n\n { // numbers\n className: 'number',\n relevance: 0,\n begin: '(-?)(\\\\b0[xXbBoOdD][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?f?|\\\\.\\\\d+f?)([eE][-+]?\\\\d+f?)?)'\n }\n ]\n };\n}\n\nmodule.exports = angelscript;\n"],"names":["module","exports","hljs","builtInTypeMode","className","begin","objectHandleMode","genericMode","end","contains","name","aliases","keywords","illegal","BACKSLASH_ESCAPE","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/apache.js.map b/js/highlight/apache.js.map
index 4924d998c8e..940bfe7da80 100644
--- a/js/highlight/apache.js.map
+++ b/js/highlight/apache.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/apache.js?v=72f935a30bf76305118e","mappings":"8GAwFAA,EAAOC,QA7EP,SAAgBC,GACd,MAQMC,EAAa,CACjBC,UAAW,SACXC,MAAO,iDAMT,MAAO,CACLC,KAAM,gBACNC,QAAS,CAAE,cACXC,kBAAkB,EAClBC,SAAU,CACRP,EAAKQ,kBACL,CACEN,UAAW,UACXC,MAAO,OACPM,IAAK,IACLF,SAAU,CACRN,EAfY,CAClBC,UAAW,SACXC,MAAO,YAiBDH,EAAKU,QAAQV,EAAKW,kBAAmB,CAAEC,UAAW,MAGtD,CACEV,UAAW,YACXC,MAAO,MACPS,UAAW,EAGXC,SAAU,CACRC,SACE,8JAIJC,OAAQ,CACNN,IAAK,IACLG,UAAW,EACXC,SAAU,CAAEG,QAAS,yBACrBT,SAAU,CACR,CACEL,UAAW,OACXC,MAAO,OACPM,IAAK,OAEP,CACEP,UAAW,WACXC,MAAO,UACPM,IAAK,KACLF,SAAU,CACR,OA7DK,CACjBL,UAAW,SACXC,MAAO,aA+DCF,EA7DK,CACbC,UAAW,SACXC,MAAO,OA6DCH,EAAKW,sBAKbM,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/apache.js"],"sourcesContent":["/*\nLanguage: Apache config\nAuthor: Ruslan Keba \nContributors: Ivan Sagalaev \nWebsite: https://httpd.apache.org\nDescription: language definition for Apache configuration files (httpd.conf & .htaccess)\nCategory: common, config\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction apache(hljs) {\n const NUMBER_REF = {\n className: 'number',\n begin: /[$%]\\d+/\n };\n const NUMBER = {\n className: 'number',\n begin: /\\d+/\n };\n const IP_ADDRESS = {\n className: \"number\",\n begin: /\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?/\n };\n const PORT_NUMBER = {\n className: \"number\",\n begin: /:\\d{1,5}/\n };\n return {\n name: 'Apache config',\n aliases: [ 'apacheconf' ],\n case_insensitive: true,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'section',\n begin: /<\\/?/,\n end: />/,\n contains: [\n IP_ADDRESS,\n PORT_NUMBER,\n // low relevance prevents us from claming XML/HTML where this rule would\n // match strings inside of XML tags\n hljs.inherit(hljs.QUOTE_STRING_MODE, { relevance: 0 })\n ]\n },\n {\n className: 'attribute',\n begin: /\\w+/,\n relevance: 0,\n // keywords aren’t needed for highlighting per se, they only boost relevance\n // for a very generally defined mode (starts with a word, ends with line-end\n keywords: {\n nomarkup:\n 'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +\n 'sethandler errordocument loadmodule options header listen serverroot ' +\n 'servername'\n },\n starts: {\n end: /$/,\n relevance: 0,\n keywords: { literal: 'on off all deny allow' },\n contains: [\n {\n className: 'meta',\n begin: /\\s\\[/,\n end: /\\]$/\n },\n {\n className: 'variable',\n begin: /[\\$%]\\{/,\n end: /\\}/,\n contains: [\n 'self',\n NUMBER_REF\n ]\n },\n IP_ADDRESS,\n NUMBER,\n hljs.QUOTE_STRING_MODE\n ]\n }\n }\n ],\n illegal: /\\S/\n };\n}\n\nmodule.exports = apache;\n"],"names":["module","exports","hljs","IP_ADDRESS","className","begin","name","aliases","case_insensitive","contains","HASH_COMMENT_MODE","end","inherit","QUOTE_STRING_MODE","relevance","keywords","nomarkup","starts","literal","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/apache.js?v=72f935a30bf76305118e","mappings":"8GAwFAA,EAAOC,QA7EP,SAAgBC,GACd,MAQMC,EAAa,CACjBC,UAAW,SACXC,MAAO,iDAMT,MAAO,CACLC,KAAM,gBACNC,QAAS,CAAE,cACXC,kBAAkB,EAClBC,SAAU,CACRP,EAAKQ,kBACL,CACEN,UAAW,UACXC,MAAO,OACPM,IAAK,IACLF,SAAU,CACRN,EAfY,CAClBC,UAAW,SACXC,MAAO,YAiBDH,EAAKU,QAAQV,EAAKW,kBAAmB,CAAEC,UAAW,MAGtD,CACEV,UAAW,YACXC,MAAO,MACPS,UAAW,EAGXC,SAAU,CACRC,SACE,8JAIJC,OAAQ,CACNN,IAAK,IACLG,UAAW,EACXC,SAAU,CAAEG,QAAS,yBACrBT,SAAU,CACR,CACEL,UAAW,OACXC,MAAO,OACPM,IAAK,OAEP,CACEP,UAAW,WACXC,MAAO,UACPM,IAAK,KACLF,SAAU,CACR,OA7DK,CACjBL,UAAW,SACXC,MAAO,aA+DCF,EA7DK,CACbC,UAAW,SACXC,MAAO,OA6DCH,EAAKW,sBAKbM,QAAS,KAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/apache.js"],"sourcesContent":["/*\nLanguage: Apache config\nAuthor: Ruslan Keba \nContributors: Ivan Sagalaev \nWebsite: https://httpd.apache.org\nDescription: language definition for Apache configuration files (httpd.conf & .htaccess)\nCategory: common, config\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction apache(hljs) {\n const NUMBER_REF = {\n className: 'number',\n begin: /[$%]\\d+/\n };\n const NUMBER = {\n className: 'number',\n begin: /\\d+/\n };\n const IP_ADDRESS = {\n className: \"number\",\n begin: /\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?/\n };\n const PORT_NUMBER = {\n className: \"number\",\n begin: /:\\d{1,5}/\n };\n return {\n name: 'Apache config',\n aliases: [ 'apacheconf' ],\n case_insensitive: true,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'section',\n begin: /<\\/?/,\n end: />/,\n contains: [\n IP_ADDRESS,\n PORT_NUMBER,\n // low relevance prevents us from claming XML/HTML where this rule would\n // match strings inside of XML tags\n hljs.inherit(hljs.QUOTE_STRING_MODE, { relevance: 0 })\n ]\n },\n {\n className: 'attribute',\n begin: /\\w+/,\n relevance: 0,\n // keywords aren’t needed for highlighting per se, they only boost relevance\n // for a very generally defined mode (starts with a word, ends with line-end\n keywords: {\n nomarkup:\n 'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +\n 'sethandler errordocument loadmodule options header listen serverroot ' +\n 'servername'\n },\n starts: {\n end: /$/,\n relevance: 0,\n keywords: { literal: 'on off all deny allow' },\n contains: [\n {\n className: 'meta',\n begin: /\\s\\[/,\n end: /\\]$/\n },\n {\n className: 'variable',\n begin: /[\\$%]\\{/,\n end: /\\}/,\n contains: [\n 'self',\n NUMBER_REF\n ]\n },\n IP_ADDRESS,\n NUMBER,\n hljs.QUOTE_STRING_MODE\n ]\n }\n }\n ],\n illegal: /\\S/\n };\n}\n\nmodule.exports = apache;\n"],"names":["module","exports","hljs","IP_ADDRESS","className","begin","name","aliases","case_insensitive","contains","HASH_COMMENT_MODE","end","inherit","QUOTE_STRING_MODE","relevance","keywords","nomarkup","starts","literal","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/applescript.js.map b/js/highlight/applescript.js.map
index 368b204fd2b..fb91d27b498 100644
--- a/js/highlight/applescript.js.map
+++ b/js/highlight/applescript.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/applescript.js?v=1e9ee111f9b130c52b53","mappings":"kHASA,SAASA,EAAOC,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGD,OAHM,KAUlB,SAASE,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,IAWjD,SAASC,KAAUJ,GAEjB,MADe,IAAMA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,KAAO,IA2J9DE,EAAOC,QA9IP,SAAqBC,GACnB,MAAMC,EAASD,EAAKE,QAClBF,EAAKG,kBAAmB,CACtBC,QAAS,OAEPC,EAAS,CACbC,UAAW,SACXC,MAAO,KACPC,IAAK,KACLC,SAAU,CACR,OACAT,EAAKU,cACLT,IAGEU,EAAiBX,EAAKY,QAAQ,KAAM,KAWpCC,EAAW,CACfF,EAXqBX,EAAKY,QAC1B,OACA,OACA,CACEH,SAAU,CACR,OACAE,KAOJX,EAAKc,mBA6CP,MAAO,CACLC,KAAM,cACNC,QAAS,CAAE,aACXC,SAAU,CACRC,QACE,0iBAUFC,QACE,mEACFC,SACE,sUAQJX,SAAU,CACRR,EACAD,EAAKU,cACL,CACEJ,UAAW,WACXC,MAAOf,EACL,KACAK,EAzDN,iBACA,gBACA,WACA,sBACA,eACA,UACA,0BACA,gBACA,eACA,kBACA,sBACA,gBACA,aACA,mBACA,cACA,cACA,0BACA,uBACA,2BACA,mBACA,oFACA,0BAqCM,OAGJ,CACES,UAAW,WACXC,MAAO,gBAET,CACED,UAAW,UACXC,MACE,gEAEJ,CACED,UAAW,UACXC,MAAOf,EACL,KACAK,EA3FN,aACA,aACA,aACA,SACA,eACA,kEACA,kCACA,8BACA,eACA,uBACA,oBACA,oBACA,qBACA,eA+EM,OAGJ,CACEwB,cAAe,KACfjB,QAAS,WACTK,SAAU,CACRT,EAAKsB,sBACLjB,OAGDQ,GAELT,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/applescript.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\nLanguage: AppleScript\nAuthors: Nathan Grigg , Dr. Drang \nCategory: scripting\nWebsite: https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction applescript(hljs) {\n const STRING = hljs.inherit(\n hljs.QUOTE_STRING_MODE, {\n illegal: null\n });\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n hljs.C_NUMBER_MODE,\n STRING\n ]\n };\n const COMMENT_MODE_1 = hljs.COMMENT(/--/, /$/);\n const COMMENT_MODE_2 = hljs.COMMENT(\n /\\(\\*/,\n /\\*\\)/,\n {\n contains: [\n 'self', // allow nesting\n COMMENT_MODE_1\n ]\n }\n );\n const COMMENTS = [\n COMMENT_MODE_1,\n COMMENT_MODE_2,\n hljs.HASH_COMMENT_MODE\n ];\n\n const KEYWORD_PATTERNS = [\n /apart from/,\n /aside from/,\n /instead of/,\n /out of/,\n /greater than/,\n /isn't|(doesn't|does not) (equal|come before|come after|contain)/,\n /(greater|less) than( or equal)?/,\n /(starts?|ends|begins?) with/,\n /contained by/,\n /comes (before|after)/,\n /a (ref|reference)/,\n /POSIX (file|path)/,\n /(date|time) string/,\n /quoted form/\n ];\n\n const BUILT_IN_PATTERNS = [\n /clipboard info/,\n /the clipboard/,\n /info for/,\n /list (disks|folder)/,\n /mount volume/,\n /path to/,\n /(close|open for) access/,\n /(get|set) eof/,\n /current date/,\n /do shell script/,\n /get volume settings/,\n /random number/,\n /set volume/,\n /system attribute/,\n /system info/,\n /time to GMT/,\n /(load|run|store) script/,\n /scripting components/,\n /ASCII (character|number)/,\n /localized string/,\n /choose (application|color|file|file name|folder|from list|remote application|URL)/,\n /display (alert|dialog)/\n ];\n\n return {\n name: 'AppleScript',\n aliases: [ 'osascript' ],\n keywords: {\n keyword:\n 'about above after against and around as at back before beginning ' +\n 'behind below beneath beside between but by considering ' +\n 'contain contains continue copy div does eighth else end equal ' +\n 'equals error every exit fifth first for fourth from front ' +\n 'get given global if ignoring in into is it its last local me ' +\n 'middle mod my ninth not of on onto or over prop property put ref ' +\n 'reference repeat returning script second set seventh since ' +\n 'sixth some tell tenth that the|0 then third through thru ' +\n 'timeout times to transaction try until where while whose with ' +\n 'without',\n literal:\n 'AppleScript false linefeed return pi quote result space tab true',\n built_in:\n 'alias application boolean class constant date file integer list ' +\n 'number real record string text ' +\n 'activate beep count delay launch log offset read round ' +\n 'run say summarize write ' +\n 'character characters contents day frontmost id item length ' +\n 'month name paragraph paragraphs rest reverse running time version ' +\n 'weekday word words year'\n },\n contains: [\n STRING,\n hljs.C_NUMBER_MODE,\n {\n className: 'built_in',\n begin: concat(\n /\\b/,\n either(...BUILT_IN_PATTERNS),\n /\\b/\n )\n },\n {\n className: 'built_in',\n begin: /^\\s*return\\b/\n },\n {\n className: 'literal',\n begin:\n /\\b(text item delimiters|current application|missing value)\\b/\n },\n {\n className: 'keyword',\n begin: concat(\n /\\b/,\n either(...KEYWORD_PATTERNS),\n /\\b/\n )\n },\n {\n beginKeywords: 'on',\n illegal: /[${=;\\n]/,\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n PARAMS\n ]\n },\n ...COMMENTS\n ],\n illegal: /\\/\\/|->|=>|\\[\\[/\n };\n}\n\nmodule.exports = applescript;\n"],"names":["source","re","concat","args","map","x","join","either","module","exports","hljs","STRING","inherit","QUOTE_STRING_MODE","illegal","PARAMS","className","begin","end","contains","C_NUMBER_MODE","COMMENT_MODE_1","COMMENT","COMMENTS","HASH_COMMENT_MODE","name","aliases","keywords","keyword","literal","built_in","beginKeywords","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/applescript.js?v=1e9ee111f9b130c52b53","mappings":"kHASA,SAASA,EAAOC,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGD,OAHM,IAIlB,CAMA,SAASE,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,GAEjD,CASA,SAASC,KAAUJ,GAEjB,MADe,IAAMA,EAAKC,KAAKC,GAAML,EAAOK,KAAIC,KAAK,KAAO,GAE9D,CAyJAE,EAAOC,QA9IP,SAAqBC,GACnB,MAAMC,EAASD,EAAKE,QAClBF,EAAKG,kBAAmB,CACtBC,QAAS,OAEPC,EAAS,CACbC,UAAW,SACXC,MAAO,KACPC,IAAK,KACLC,SAAU,CACR,OACAT,EAAKU,cACLT,IAGEU,EAAiBX,EAAKY,QAAQ,KAAM,KAWpCC,EAAW,CACfF,EAXqBX,EAAKY,QAC1B,OACA,OACA,CACEH,SAAU,CACR,OACAE,KAOJX,EAAKc,mBA6CP,MAAO,CACLC,KAAM,cACNC,QAAS,CAAE,aACXC,SAAU,CACRC,QACE,0iBAUFC,QACE,mEACFC,SACE,sUAQJX,SAAU,CACRR,EACAD,EAAKU,cACL,CACEJ,UAAW,WACXC,MAAOf,EACL,KACAK,EAzDN,iBACA,gBACA,WACA,sBACA,eACA,UACA,0BACA,gBACA,eACA,kBACA,sBACA,gBACA,aACA,mBACA,cACA,cACA,0BACA,uBACA,2BACA,mBACA,oFACA,0BAqCM,OAGJ,CACES,UAAW,WACXC,MAAO,gBAET,CACED,UAAW,UACXC,MACE,gEAEJ,CACED,UAAW,UACXC,MAAOf,EACL,KACAK,EA3FN,aACA,aACA,aACA,SACA,eACA,kEACA,kCACA,8BACA,eACA,uBACA,oBACA,oBACA,qBACA,eA+EM,OAGJ,CACEwB,cAAe,KACfjB,QAAS,WACTK,SAAU,CACRT,EAAKsB,sBACLjB,OAGDQ,GAELT,QAAS,kBAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/applescript.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] } args\n * @returns {string}\n */\nfunction either(...args) {\n const joined = '(' + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/*\nLanguage: AppleScript\nAuthors: Nathan Grigg , Dr. Drang \nCategory: scripting\nWebsite: https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction applescript(hljs) {\n const STRING = hljs.inherit(\n hljs.QUOTE_STRING_MODE, {\n illegal: null\n });\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n hljs.C_NUMBER_MODE,\n STRING\n ]\n };\n const COMMENT_MODE_1 = hljs.COMMENT(/--/, /$/);\n const COMMENT_MODE_2 = hljs.COMMENT(\n /\\(\\*/,\n /\\*\\)/,\n {\n contains: [\n 'self', // allow nesting\n COMMENT_MODE_1\n ]\n }\n );\n const COMMENTS = [\n COMMENT_MODE_1,\n COMMENT_MODE_2,\n hljs.HASH_COMMENT_MODE\n ];\n\n const KEYWORD_PATTERNS = [\n /apart from/,\n /aside from/,\n /instead of/,\n /out of/,\n /greater than/,\n /isn't|(doesn't|does not) (equal|come before|come after|contain)/,\n /(greater|less) than( or equal)?/,\n /(starts?|ends|begins?) with/,\n /contained by/,\n /comes (before|after)/,\n /a (ref|reference)/,\n /POSIX (file|path)/,\n /(date|time) string/,\n /quoted form/\n ];\n\n const BUILT_IN_PATTERNS = [\n /clipboard info/,\n /the clipboard/,\n /info for/,\n /list (disks|folder)/,\n /mount volume/,\n /path to/,\n /(close|open for) access/,\n /(get|set) eof/,\n /current date/,\n /do shell script/,\n /get volume settings/,\n /random number/,\n /set volume/,\n /system attribute/,\n /system info/,\n /time to GMT/,\n /(load|run|store) script/,\n /scripting components/,\n /ASCII (character|number)/,\n /localized string/,\n /choose (application|color|file|file name|folder|from list|remote application|URL)/,\n /display (alert|dialog)/\n ];\n\n return {\n name: 'AppleScript',\n aliases: [ 'osascript' ],\n keywords: {\n keyword:\n 'about above after against and around as at back before beginning ' +\n 'behind below beneath beside between but by considering ' +\n 'contain contains continue copy div does eighth else end equal ' +\n 'equals error every exit fifth first for fourth from front ' +\n 'get given global if ignoring in into is it its last local me ' +\n 'middle mod my ninth not of on onto or over prop property put ref ' +\n 'reference repeat returning script second set seventh since ' +\n 'sixth some tell tenth that the|0 then third through thru ' +\n 'timeout times to transaction try until where while whose with ' +\n 'without',\n literal:\n 'AppleScript false linefeed return pi quote result space tab true',\n built_in:\n 'alias application boolean class constant date file integer list ' +\n 'number real record string text ' +\n 'activate beep count delay launch log offset read round ' +\n 'run say summarize write ' +\n 'character characters contents day frontmost id item length ' +\n 'month name paragraph paragraphs rest reverse running time version ' +\n 'weekday word words year'\n },\n contains: [\n STRING,\n hljs.C_NUMBER_MODE,\n {\n className: 'built_in',\n begin: concat(\n /\\b/,\n either(...BUILT_IN_PATTERNS),\n /\\b/\n )\n },\n {\n className: 'built_in',\n begin: /^\\s*return\\b/\n },\n {\n className: 'literal',\n begin:\n /\\b(text item delimiters|current application|missing value)\\b/\n },\n {\n className: 'keyword',\n begin: concat(\n /\\b/,\n either(...KEYWORD_PATTERNS),\n /\\b/\n )\n },\n {\n beginKeywords: 'on',\n illegal: /[${=;\\n]/,\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n PARAMS\n ]\n },\n ...COMMENTS\n ],\n illegal: /\\/\\/|->|=>|\\[\\[/\n };\n}\n\nmodule.exports = applescript;\n"],"names":["source","re","concat","args","map","x","join","either","module","exports","hljs","STRING","inherit","QUOTE_STRING_MODE","illegal","PARAMS","className","begin","end","contains","C_NUMBER_MODE","COMMENT_MODE_1","COMMENT","COMMENTS","HASH_COMMENT_MODE","name","aliases","keywords","keyword","literal","built_in","beginKeywords","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/arcade.js.map b/js/highlight/arcade.js.map
index fb68afc44f0..552816e1d8c 100644
--- a/js/highlight/arcade.js.map
+++ b/js/highlight/arcade.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/arcade.js?v=59adfc67d4bcc08c2810","mappings":"8GAoKAA,EAAOC,QA3JP,SAAgBC,GACd,MAAMC,EAAW,yBACXC,EAAW,CACfC,QACE,0DACFC,QACE,sHACFC,SACE,wiCAgBEC,EAAS,CACbC,UAAW,SACXC,SAAU,CACR,CACEC,MAAO,mBAET,CACEA,MAAO,oBAET,CACEA,MAAOT,EAAKU,cAGhBC,UAAW,GAEPC,EAAQ,CACZL,UAAW,QACXE,MAAO,SACPI,IAAK,MACLC,SAAUZ,EACVa,SAAU,IAENC,EAAkB,CACtBT,UAAW,SACXE,MAAO,IACPI,IAAK,IACLE,SAAU,CACRf,EAAKiB,iBACLL,IAGJA,EAAMG,SAAW,CACff,EAAKkB,iBACLlB,EAAKmB,kBACLH,EACAV,EACAN,EAAKoB,aAEP,MAAMC,EAAkBT,EAAMG,SAASO,OAAO,CAC5CtB,EAAKuB,qBACLvB,EAAKwB,sBAGP,MAAO,CACLC,KAAM,gBACNX,SAAUZ,EACVa,SAAU,CACRf,EAAKkB,iBACLlB,EAAKmB,kBACLH,EACAhB,EAAKwB,oBACLxB,EAAKuB,qBAvDM,CACbhB,UAAW,SACXE,MAAO,4GAuDLH,EACA,CACEG,MAAO,UACPE,UAAW,EACXI,SAAU,CAAC,CACTN,MAAOR,EAAW,QAClByB,aAAa,EACbf,UAAW,EACXI,SAAU,CAAC,CACTR,UAAW,OACXE,MAAOR,EACPU,UAAW,OAIjB,CACEF,MAAO,IAAMT,EAAK2B,eAAiB,uBACnCb,SAAU,SACVC,SAAU,CACRf,EAAKwB,oBACLxB,EAAKuB,qBACLvB,EAAKoB,YACL,CACEb,UAAW,WACXE,MAAO,cAAgBR,EAAW,UAClCyB,aAAa,EACbb,IAAK,SACLE,SAAU,CAAC,CACTR,UAAW,SACXC,SAAU,CACR,CACEC,MAAOR,GAET,CACEQ,MAAO,WAET,CACEA,MAAO,KACPI,IAAK,KACLe,cAAc,EACdC,YAAY,EACZf,SAAUZ,EACVa,SAAUM,QAMpBV,UAAW,GAEb,CACEJ,UAAW,WACXuB,cAAe,WACfjB,IAAK,KACLgB,YAAY,EACZd,SAAU,CACRf,EAAK+B,QAAQ/B,EAAKgC,WAAY,CAC5BvB,MAAOR,IAET,CACEM,UAAW,SACXE,MAAO,KACPI,IAAK,KACLe,cAAc,EACdC,YAAY,EACZd,SAAUM,IAGdY,QAAS,QAEX,CACExB,MAAO,WAGXwB,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/arcade.js"],"sourcesContent":["/*\n Language: ArcGIS Arcade\n Category: scripting\n Author: John Foster \n Website: https://developers.arcgis.com/arcade/\n Description: ArcGIS Arcade is an expression language used in many Esri ArcGIS products such as Pro, Online, Server, Runtime, JavaScript, and Python\n*/\n\n/** @type LanguageFn */\nfunction arcade(hljs) {\n const IDENT_RE = '[A-Za-z_][0-9A-Za-z_]*';\n const KEYWORDS = {\n keyword:\n 'if for while var new function do return void else break',\n literal:\n 'BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined',\n built_in:\n 'Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic ' +\n 'Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ' +\n 'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct ' +\n 'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem ' +\n 'FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf ' +\n 'Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' +\n 'MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon ' +\n 'Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' +\n 'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime ' +\n 'TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance ' +\n 'Weekday When Within Year '\n };\n const SYMBOL = {\n className: 'symbol',\n begin: '\\\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+'\n };\n const NUMBER = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0[bB][01]+)'\n },\n {\n begin: '\\\\b(0[oO][0-7]+)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS,\n contains: [] // defined later\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n SUBST.contains = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n NUMBER,\n hljs.REGEXP_MODE\n ];\n const PARAMS_CONTAINS = SUBST.contains.concat([\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]);\n\n return {\n name: 'ArcGIS Arcade',\n keywords: KEYWORDS,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n SYMBOL,\n NUMBER,\n { // object attr container\n begin: /[{,]\\s*/,\n relevance: 0,\n contains: [{\n begin: IDENT_RE + '\\\\s*:',\n returnBegin: true,\n relevance: 0,\n contains: [{\n className: 'attr',\n begin: IDENT_RE,\n relevance: 0\n }]\n }]\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(return)\\\\b)\\\\s*',\n keywords: 'return',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n begin: '(\\\\(.*?\\\\)|' + IDENT_RE + ')\\\\s*=>',\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [{\n className: 'params',\n variants: [\n {\n begin: IDENT_RE\n },\n {\n begin: /\\(\\s*\\)/\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: PARAMS_CONTAINS\n }\n ]\n }]\n }\n ],\n relevance: 0\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: IDENT_RE\n }),\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: PARAMS_CONTAINS\n }\n ],\n illegal: /\\[|%/\n },\n {\n begin: /\\$[(.]/\n }\n ],\n illegal: /#(?!!)/\n };\n}\n\nmodule.exports = arcade;\n"],"names":["module","exports","hljs","IDENT_RE","KEYWORDS","keyword","literal","built_in","NUMBER","className","variants","begin","C_NUMBER_RE","relevance","SUBST","end","keywords","contains","TEMPLATE_STRING","BACKSLASH_ESCAPE","APOS_STRING_MODE","QUOTE_STRING_MODE","REGEXP_MODE","PARAMS_CONTAINS","concat","C_BLOCK_COMMENT_MODE","C_LINE_COMMENT_MODE","name","returnBegin","RE_STARTERS_RE","excludeBegin","excludeEnd","beginKeywords","inherit","TITLE_MODE","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/arcade.js?v=59adfc67d4bcc08c2810","mappings":"8GAoKAA,EAAOC,QA3JP,SAAgBC,GACd,MAAMC,EAAW,yBACXC,EAAW,CACfC,QACE,0DACFC,QACE,sHACFC,SACE,wiCAgBEC,EAAS,CACbC,UAAW,SACXC,SAAU,CACR,CACEC,MAAO,mBAET,CACEA,MAAO,oBAET,CACEA,MAAOT,EAAKU,cAGhBC,UAAW,GAEPC,EAAQ,CACZL,UAAW,QACXE,MAAO,SACPI,IAAK,MACLC,SAAUZ,EACVa,SAAU,IAENC,EAAkB,CACtBT,UAAW,SACXE,MAAO,IACPI,IAAK,IACLE,SAAU,CACRf,EAAKiB,iBACLL,IAGJA,EAAMG,SAAW,CACff,EAAKkB,iBACLlB,EAAKmB,kBACLH,EACAV,EACAN,EAAKoB,aAEP,MAAMC,EAAkBT,EAAMG,SAASO,OAAO,CAC5CtB,EAAKuB,qBACLvB,EAAKwB,sBAGP,MAAO,CACLC,KAAM,gBACNX,SAAUZ,EACVa,SAAU,CACRf,EAAKkB,iBACLlB,EAAKmB,kBACLH,EACAhB,EAAKwB,oBACLxB,EAAKuB,qBAvDM,CACbhB,UAAW,SACXE,MAAO,4GAuDLH,EACA,CACEG,MAAO,UACPE,UAAW,EACXI,SAAU,CAAC,CACTN,MAAOR,EAAW,QAClByB,aAAa,EACbf,UAAW,EACXI,SAAU,CAAC,CACTR,UAAW,OACXE,MAAOR,EACPU,UAAW,OAIjB,CACEF,MAAO,IAAMT,EAAK2B,eAAiB,uBACnCb,SAAU,SACVC,SAAU,CACRf,EAAKwB,oBACLxB,EAAKuB,qBACLvB,EAAKoB,YACL,CACEb,UAAW,WACXE,MAAO,cAAgBR,EAAW,UAClCyB,aAAa,EACbb,IAAK,SACLE,SAAU,CAAC,CACTR,UAAW,SACXC,SAAU,CACR,CACEC,MAAOR,GAET,CACEQ,MAAO,WAET,CACEA,MAAO,KACPI,IAAK,KACLe,cAAc,EACdC,YAAY,EACZf,SAAUZ,EACVa,SAAUM,QAMpBV,UAAW,GAEb,CACEJ,UAAW,WACXuB,cAAe,WACfjB,IAAK,KACLgB,YAAY,EACZd,SAAU,CACRf,EAAK+B,QAAQ/B,EAAKgC,WAAY,CAC5BvB,MAAOR,IAET,CACEM,UAAW,SACXE,MAAO,KACPI,IAAK,KACLe,cAAc,EACdC,YAAY,EACZd,SAAUM,IAGdY,QAAS,QAEX,CACExB,MAAO,WAGXwB,QAAS,SAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/arcade.js"],"sourcesContent":["/*\n Language: ArcGIS Arcade\n Category: scripting\n Author: John Foster \n Website: https://developers.arcgis.com/arcade/\n Description: ArcGIS Arcade is an expression language used in many Esri ArcGIS products such as Pro, Online, Server, Runtime, JavaScript, and Python\n*/\n\n/** @type LanguageFn */\nfunction arcade(hljs) {\n const IDENT_RE = '[A-Za-z_][0-9A-Za-z_]*';\n const KEYWORDS = {\n keyword:\n 'if for while var new function do return void else break',\n literal:\n 'BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined',\n built_in:\n 'Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic ' +\n 'Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ' +\n 'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct ' +\n 'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem ' +\n 'FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf ' +\n 'Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' +\n 'MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon ' +\n 'Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' +\n 'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime ' +\n 'TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance ' +\n 'Weekday When Within Year '\n };\n const SYMBOL = {\n className: 'symbol',\n begin: '\\\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+'\n };\n const NUMBER = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0[bB][01]+)'\n },\n {\n begin: '\\\\b(0[oO][0-7]+)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS,\n contains: [] // defined later\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n SUBST.contains = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n NUMBER,\n hljs.REGEXP_MODE\n ];\n const PARAMS_CONTAINS = SUBST.contains.concat([\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]);\n\n return {\n name: 'ArcGIS Arcade',\n keywords: KEYWORDS,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n TEMPLATE_STRING,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n SYMBOL,\n NUMBER,\n { // object attr container\n begin: /[{,]\\s*/,\n relevance: 0,\n contains: [{\n begin: IDENT_RE + '\\\\s*:',\n returnBegin: true,\n relevance: 0,\n contains: [{\n className: 'attr',\n begin: IDENT_RE,\n relevance: 0\n }]\n }]\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(return)\\\\b)\\\\s*',\n keywords: 'return',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n begin: '(\\\\(.*?\\\\)|' + IDENT_RE + ')\\\\s*=>',\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [{\n className: 'params',\n variants: [\n {\n begin: IDENT_RE\n },\n {\n begin: /\\(\\s*\\)/\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: PARAMS_CONTAINS\n }\n ]\n }]\n }\n ],\n relevance: 0\n },\n {\n className: 'function',\n beginKeywords: 'function',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: IDENT_RE\n }),\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: PARAMS_CONTAINS\n }\n ],\n illegal: /\\[|%/\n },\n {\n begin: /\\$[(.]/\n }\n ],\n illegal: /#(?!!)/\n };\n}\n\nmodule.exports = arcade;\n"],"names":["module","exports","hljs","IDENT_RE","KEYWORDS","keyword","literal","built_in","NUMBER","className","variants","begin","C_NUMBER_RE","relevance","SUBST","end","keywords","contains","TEMPLATE_STRING","BACKSLASH_ESCAPE","APOS_STRING_MODE","QUOTE_STRING_MODE","REGEXP_MODE","PARAMS_CONTAINS","concat","C_BLOCK_COMMENT_MODE","C_LINE_COMMENT_MODE","name","returnBegin","RE_STARTERS_RE","excludeBegin","excludeEnd","beginKeywords","inherit","TITLE_MODE","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/arduino.js.map b/js/highlight/arduino.js.map
index 932a1035fef..e72407c1244 100644
--- a/js/highlight/arduino.js.map
+++ b/js/highlight/arduino.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/arduino.js?v=a35c152603b219918de2","mappings":"8GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,MAOzB,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,KA4B4BM,KAAK,IA0hBjDC,EAAOC,QAxGP,SAAiBC,GACf,MAAMC,EAEF,2BAFEA,EAIF,yeAJEA,EAgBF,szFAhBEA,EAgFF,qNAOEC,EA/fR,SAAmBF,GAIjB,MAAMG,EAAsBH,EAAKI,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBnB,EAASkB,GACT,gBAAkBlB,EAJS,YAK7B,IACMoB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEL,EAAKgB,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXf,EAAKiB,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEbnB,EAAKsB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAH,EAAKuB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOhB,EAASkB,GAAgBR,EAAKyB,SACrCN,UAAW,GAGPO,EAAiBpC,EAASkB,GAAgBR,EAAKyB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOd,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKyB,UA9QQlC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAM0C,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAH,EAAKuB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBzC,OAAO,CACnC,CACEc,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBzC,OAAO,CAAE,SACvC2B,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAH,EAAKuB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAH,EAAKuB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAH,EAAKuB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGb,OACX0C,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAON,EAAKyB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBnC,EAAKwB,eAIbzB,QAAS,CACP4C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM,IAqGEkB,CAAU7C,GAEpB8C,EAAyC5C,EAAgB,SAW/D,OATA4C,EAAIlB,SAAW,IAAM3B,EACrB6C,EAAIf,SAAW,IAAM9B,EACrB6C,EAAIjB,UAAY,IAAM5B,EACtB6C,EAAIC,GAAK,IAAM9C,EAEfC,EAAQsC,KAAO,UACftC,EAAQuC,QAAU,CAAC,OACnBvC,EAAQ8C,WAAa,MAEd9C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/arduino.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\n*/\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n keyword:\n 'boolean byte word String',\n built_in:\n 'KeyboardController MouseController SoftwareSerial ' +\n 'EthernetServer EthernetClient LiquidCrystal ' +\n 'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +\n 'HttpClient RobotMotor WiFiClient GSMScanner ' +\n 'FileSystem Scheduler GSMServer YunClient YunServer ' +\n 'IPAddress GSMClient GSMModem Keyboard Ethernet ' +\n 'Console GSMBand Esplora Stepper Process ' +\n 'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' +\n 'Client Server GSMPIN FileIO Bridge Serial ' +\n 'EEPROM Stream Mouse Audio Servo File Task ' +\n 'GPRS WiFi Wire TFT GSM SPI SD ',\n _:\n 'setup loop ' +\n 'runShellCommandAsynchronously analogWriteResolution ' +\n 'retrieveCallingNumber printFirmwareVersion ' +\n 'analogReadResolution sendDigitalPortPair ' +\n 'noListenOnLocalhost readJoystickButton setFirmwareVersion ' +\n 'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' +\n 'scrollDisplayLeft writeMicroseconds delayMicroseconds ' +\n 'beginTransmission getSignalStrength runAsynchronously ' +\n 'getAsynchronously listenOnLocalhost getCurrentCarrier ' +\n 'readAccelerometer messageAvailable sendDigitalPorts ' +\n 'lineFollowConfig countryNameWrite runShellCommand ' +\n 'readStringUntil rewindDirectory readTemperature ' +\n 'setClockDivider readLightSensor endTransmission ' +\n 'analogReference detachInterrupt countryNameRead ' +\n 'attachInterrupt encryptionType readBytesUntil ' +\n 'robotNameWrite readMicrophone robotNameRead cityNameWrite ' +\n 'userNameWrite readJoystickY readJoystickX mouseReleased ' +\n 'openNextFile scanNetworks noInterrupts digitalWrite ' +\n 'beginSpeaker mousePressed isActionDone mouseDragged ' +\n 'displayLogos noAutoscroll addParameter remoteNumber ' +\n 'getModifiers keyboardRead userNameRead waitContinue ' +\n 'processInput parseCommand printVersion readNetworks ' +\n 'writeMessage blinkVersion cityNameRead readMessage ' +\n 'setDataMode parsePacket isListening setBitOrder ' +\n 'beginPacket isDirectory motorsWrite drawCompass ' +\n 'digitalRead clearScreen serialEvent rightToLeft ' +\n 'setTextSize leftToRight requestFrom keyReleased ' +\n 'compassRead analogWrite interrupts WiFiServer ' +\n 'disconnect playMelody parseFloat autoscroll ' +\n 'getPINUsed setPINUsed setTimeout sendAnalog ' +\n 'readSlider analogRead beginWrite createChar ' +\n 'motorsStop keyPressed tempoWrite readButton ' +\n 'subnetMask debugPrint macAddress writeGreen ' +\n 'randomSeed attachGPRS readString sendString ' +\n 'remotePort releaseAll mouseMoved background ' +\n 'getXChange getYChange answerCall getResult ' +\n 'voiceCall endPacket constrain getSocket writeJSON ' +\n 'getButton available connected findUntil readBytes ' +\n 'exitValue readGreen writeBlue startLoop IPAddress ' +\n 'isPressed sendSysex pauseMode gatewayIP setCursor ' +\n 'getOemKey tuneWrite noDisplay loadImage switchPIN ' +\n 'onRequest onReceive changePIN playFile noBuffer ' +\n 'parseInt overflow checkPIN knobRead beginTFT ' +\n 'bitClear updateIR bitWrite position writeRGB ' +\n 'highByte writeRed setSpeed readBlue noStroke ' +\n 'remoteIP transfer shutdown hangCall beginSMS ' +\n 'endWrite attached maintain noCursor checkReg ' +\n 'checkPUK shiftOut isValid shiftIn pulseIn ' +\n 'connect println localIP pinMode getIMEI ' +\n 'display noBlink process getBand running beginSD ' +\n 'drawBMP lowByte setBand release bitRead prepare ' +\n 'pointTo readRed setMode noFill remove listen ' +\n 'stroke detach attach noTone exists buffer ' +\n 'height bitSet circle config cursor random ' +\n 'IRread setDNS endSMS getKey micros ' +\n 'millis begin print write ready flush width ' +\n 'isPIN blink clear press mkdir rmdir close ' +\n 'point yield image BSSID click delay ' +\n 'read text move peek beep rect line open ' +\n 'seek fill size turn stop home find ' +\n 'step tone sqrt RSSI SSID ' +\n 'end bit tan cos sin pow map abs max ' +\n 'min get run put',\n literal:\n 'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' +\n 'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' +\n 'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +\n 'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +\n 'DEFAULT OUTPUT INPUT HIGH LOW'\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.keyword += ' ' + ARDUINO_KW.keyword;\n kws.literal += ' ' + ARDUINO_KW.literal;\n kws.built_in += ' ' + ARDUINO_KW.built_in;\n kws._ += ' ' + ARDUINO_KW._;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = ['ino'];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nmodule.exports = arduino;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","ARDUINO_KW","ARDUINO","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings","cPlusPlus","kws","_","supersetOf"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/arduino.js?v=a35c152603b219918de2","mappings":"8GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,KACzB,CAMA,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,CA4B0B,IAAEM,KAAK,GAEjD,CAwhBAC,EAAOC,QAxGP,SAAiBC,GACf,MAAMC,EAEF,2BAFEA,EAIF,yeAJEA,EAgBF,szFAhBEA,EAgFF,qNAOEC,EA/fR,SAAmBF,GAIjB,MAAMG,EAAsBH,EAAKI,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBnB,EAASkB,GACT,gBAAkBlB,EAJS,YAK7B,IACMoB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEL,EAAKgB,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXf,EAAKiB,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEbnB,EAAKsB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAH,EAAKuB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOhB,EAASkB,GAAgBR,EAAKyB,SACrCN,UAAW,GAGPO,EAAiBpC,EAASkB,GAAgBR,EAAKyB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOd,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKyB,UA9QQlC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAM0C,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAH,EAAKuB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBzC,OAAO,CACnC,CACEc,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBzC,OAAO,CAAE,SACvC2B,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAH,EAAKuB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAH,EAAKuB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAH,EAAKuB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGb,OACX0C,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAON,EAAKyB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBnC,EAAKwB,eAIbzB,QAAS,CACP4C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM,GAGhB,CAkGkBkB,CAAU7C,GAEpB8C,EAAyC5C,EAAgB,SAW/D,OATA4C,EAAIlB,SAAW,IAAM3B,EACrB6C,EAAIf,SAAW,IAAM9B,EACrB6C,EAAIjB,UAAY,IAAM5B,EACtB6C,EAAIC,GAAK,IAAM9C,EAEfC,EAAQsC,KAAO,UACftC,EAAQuC,QAAU,CAAC,OACnBvC,EAAQ8C,WAAa,MAEd9C,CACT,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/arduino.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\n*/\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n keyword:\n 'boolean byte word String',\n built_in:\n 'KeyboardController MouseController SoftwareSerial ' +\n 'EthernetServer EthernetClient LiquidCrystal ' +\n 'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' +\n 'HttpClient RobotMotor WiFiClient GSMScanner ' +\n 'FileSystem Scheduler GSMServer YunClient YunServer ' +\n 'IPAddress GSMClient GSMModem Keyboard Ethernet ' +\n 'Console GSMBand Esplora Stepper Process ' +\n 'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' +\n 'Client Server GSMPIN FileIO Bridge Serial ' +\n 'EEPROM Stream Mouse Audio Servo File Task ' +\n 'GPRS WiFi Wire TFT GSM SPI SD ',\n _:\n 'setup loop ' +\n 'runShellCommandAsynchronously analogWriteResolution ' +\n 'retrieveCallingNumber printFirmwareVersion ' +\n 'analogReadResolution sendDigitalPortPair ' +\n 'noListenOnLocalhost readJoystickButton setFirmwareVersion ' +\n 'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' +\n 'scrollDisplayLeft writeMicroseconds delayMicroseconds ' +\n 'beginTransmission getSignalStrength runAsynchronously ' +\n 'getAsynchronously listenOnLocalhost getCurrentCarrier ' +\n 'readAccelerometer messageAvailable sendDigitalPorts ' +\n 'lineFollowConfig countryNameWrite runShellCommand ' +\n 'readStringUntil rewindDirectory readTemperature ' +\n 'setClockDivider readLightSensor endTransmission ' +\n 'analogReference detachInterrupt countryNameRead ' +\n 'attachInterrupt encryptionType readBytesUntil ' +\n 'robotNameWrite readMicrophone robotNameRead cityNameWrite ' +\n 'userNameWrite readJoystickY readJoystickX mouseReleased ' +\n 'openNextFile scanNetworks noInterrupts digitalWrite ' +\n 'beginSpeaker mousePressed isActionDone mouseDragged ' +\n 'displayLogos noAutoscroll addParameter remoteNumber ' +\n 'getModifiers keyboardRead userNameRead waitContinue ' +\n 'processInput parseCommand printVersion readNetworks ' +\n 'writeMessage blinkVersion cityNameRead readMessage ' +\n 'setDataMode parsePacket isListening setBitOrder ' +\n 'beginPacket isDirectory motorsWrite drawCompass ' +\n 'digitalRead clearScreen serialEvent rightToLeft ' +\n 'setTextSize leftToRight requestFrom keyReleased ' +\n 'compassRead analogWrite interrupts WiFiServer ' +\n 'disconnect playMelody parseFloat autoscroll ' +\n 'getPINUsed setPINUsed setTimeout sendAnalog ' +\n 'readSlider analogRead beginWrite createChar ' +\n 'motorsStop keyPressed tempoWrite readButton ' +\n 'subnetMask debugPrint macAddress writeGreen ' +\n 'randomSeed attachGPRS readString sendString ' +\n 'remotePort releaseAll mouseMoved background ' +\n 'getXChange getYChange answerCall getResult ' +\n 'voiceCall endPacket constrain getSocket writeJSON ' +\n 'getButton available connected findUntil readBytes ' +\n 'exitValue readGreen writeBlue startLoop IPAddress ' +\n 'isPressed sendSysex pauseMode gatewayIP setCursor ' +\n 'getOemKey tuneWrite noDisplay loadImage switchPIN ' +\n 'onRequest onReceive changePIN playFile noBuffer ' +\n 'parseInt overflow checkPIN knobRead beginTFT ' +\n 'bitClear updateIR bitWrite position writeRGB ' +\n 'highByte writeRed setSpeed readBlue noStroke ' +\n 'remoteIP transfer shutdown hangCall beginSMS ' +\n 'endWrite attached maintain noCursor checkReg ' +\n 'checkPUK shiftOut isValid shiftIn pulseIn ' +\n 'connect println localIP pinMode getIMEI ' +\n 'display noBlink process getBand running beginSD ' +\n 'drawBMP lowByte setBand release bitRead prepare ' +\n 'pointTo readRed setMode noFill remove listen ' +\n 'stroke detach attach noTone exists buffer ' +\n 'height bitSet circle config cursor random ' +\n 'IRread setDNS endSMS getKey micros ' +\n 'millis begin print write ready flush width ' +\n 'isPIN blink clear press mkdir rmdir close ' +\n 'point yield image BSSID click delay ' +\n 'read text move peek beep rect line open ' +\n 'seek fill size turn stop home find ' +\n 'step tone sqrt RSSI SSID ' +\n 'end bit tan cos sin pow map abs max ' +\n 'min get run put',\n literal:\n 'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' +\n 'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' +\n 'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' +\n 'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' +\n 'DEFAULT OUTPUT INPUT HIGH LOW'\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.keyword += ' ' + ARDUINO_KW.keyword;\n kws.literal += ' ' + ARDUINO_KW.literal;\n kws.built_in += ' ' + ARDUINO_KW.built_in;\n kws._ += ' ' + ARDUINO_KW._;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = ['ino'];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nmodule.exports = arduino;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","ARDUINO_KW","ARDUINO","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings","cPlusPlus","kws","_","supersetOf"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/armasm.js.map b/js/highlight/armasm.js.map
index d2b0c824454..743888191bd 100644
--- a/js/highlight/armasm.js.map
+++ b/js/highlight/armasm.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/armasm.js?v=aa7928811dfd7acca71e","mappings":"8GAkIAA,EAAOC,QA1HP,SAAgBC,GAGd,MAAMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,gBAAiB,IAAK,CACjCE,UAAW,EACXC,cAAc,IAEhBJ,EAAKC,QAAQ,OAAQ,IAAK,CACxBE,UAAW,IAEbH,EAAKK,oBACLL,EAAKM,uBAIT,MAAO,CACLC,KAAM,eACNC,kBAAkB,EAClBC,QAAS,CAAC,OACVC,SAAU,CACRC,SAAU,OAASX,EAAKY,SACxBC,KAEE,6tBAGFC,SACE,21BAmBJC,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,8tBAmBThB,EACAD,EAAKkB,kBACL,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,WACLhB,UAAW,GAEb,CACEa,UAAW,QACXC,MAAO,MACPE,IAAK,MACLC,QAAS,MACTjB,UAAW,GAEb,CACEa,UAAW,SACXd,SAAU,CACR,CACEe,MAAO,qBAET,CACEA,MAAO,iBAET,CACEA,MAAO,aAET,CACEA,MAAO,YAGXd,UAAW,GAEb,CACEa,UAAW,SACXd,SAAU,CACR,CACEe,MAAO,yCAET,CACEA,MAAO,iCAET,CACEA,MAAO,aAGXd,UAAW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/armasm.js"],"sourcesContent":["/*\nLanguage: ARM Assembly\nAuthor: Dan Panzarella \nDescription: ARM Assembly including Thumb and Thumb2 instructions\nCategory: assembler\n*/\n\n/** @type LanguageFn */\nfunction armasm(hljs) {\n // local labels: %?[FB]?[AT]?\\d{1,2}\\w+\n\n const COMMENT = {\n variants: [\n hljs.COMMENT('^[ \\\\t]*(?=#)', '$', {\n relevance: 0,\n excludeBegin: true\n }),\n hljs.COMMENT('[;@]', '$', {\n relevance: 0\n }),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n return {\n name: 'ARM Assembly',\n case_insensitive: true,\n aliases: ['arm'],\n keywords: {\n $pattern: '\\\\.?' + hljs.IDENT_RE,\n meta:\n // GNU preprocs\n '.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ' +\n // ARM directives\n 'ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ',\n built_in:\n 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 ' + // standard registers\n 'pc lr sp ip sl sb fp ' + // typical regs plus backward compatibility\n 'a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 ' + // more regs and fp\n 'p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 ' + // coprocessor regs\n 'c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 ' + // more coproc\n 'q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 ' + // advanced SIMD NEON regs\n\n // program status registers\n 'cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf ' +\n 'spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf ' +\n\n // NEON and VFP registers\n 's0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 ' +\n 's16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 ' +\n 'd0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 ' +\n 'd16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ' +\n\n '{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @'\n },\n contains: [\n {\n className: 'keyword',\n begin: '\\\\b(' + // mnemonics\n 'adc|' +\n '(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|' +\n 'and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|' +\n 'bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|' +\n 'setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|' +\n 'ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|' +\n 'mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|' +\n 'mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|' +\n 'mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|' +\n 'rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|' +\n 'stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|' +\n '[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|' +\n 'wfe|wfi|yield' +\n ')' +\n '(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?' + // condition codes\n '[sptrx]?' + // legal postfixes\n '(?=\\\\s)' // followed by space\n },\n COMMENT,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '[^\\\\\\\\]\\'',\n relevance: 0\n },\n {\n className: 'title',\n begin: '\\\\|',\n end: '\\\\|',\n illegal: '\\\\n',\n relevance: 0\n },\n {\n className: 'number',\n variants: [\n { // hex\n begin: '[#$=]?0x[0-9a-f]+'\n },\n { // bin\n begin: '[#$=]?0b[01]+'\n },\n { // literal\n begin: '[#$=]\\\\d+'\n },\n { // bare number\n begin: '\\\\b\\\\d+'\n }\n ],\n relevance: 0\n },\n {\n className: 'symbol',\n variants: [\n { // GNU ARM syntax\n begin: '^[ \\\\t]*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:'\n },\n { // ARM syntax\n begin: '^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+'\n },\n { // label reference\n begin: '[=#]\\\\w+'\n }\n ],\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = armasm;\n"],"names":["module","exports","hljs","COMMENT","variants","relevance","excludeBegin","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","name","case_insensitive","aliases","keywords","$pattern","IDENT_RE","meta","built_in","contains","className","begin","QUOTE_STRING_MODE","end","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/armasm.js?v=aa7928811dfd7acca71e","mappings":"8GAkIAA,EAAOC,QA1HP,SAAgBC,GAGd,MAAMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,gBAAiB,IAAK,CACjCE,UAAW,EACXC,cAAc,IAEhBJ,EAAKC,QAAQ,OAAQ,IAAK,CACxBE,UAAW,IAEbH,EAAKK,oBACLL,EAAKM,uBAIT,MAAO,CACLC,KAAM,eACNC,kBAAkB,EAClBC,QAAS,CAAC,OACVC,SAAU,CACRC,SAAU,OAASX,EAAKY,SACxBC,KAEE,6tBAGFC,SACE,21BAmBJC,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,8tBAmBThB,EACAD,EAAKkB,kBACL,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,WACLhB,UAAW,GAEb,CACEa,UAAW,QACXC,MAAO,MACPE,IAAK,MACLC,QAAS,MACTjB,UAAW,GAEb,CACEa,UAAW,SACXd,SAAU,CACR,CACEe,MAAO,qBAET,CACEA,MAAO,iBAET,CACEA,MAAO,aAET,CACEA,MAAO,YAGXd,UAAW,GAEb,CACEa,UAAW,SACXd,SAAU,CACR,CACEe,MAAO,yCAET,CACEA,MAAO,iCAET,CACEA,MAAO,aAGXd,UAAW,IAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/armasm.js"],"sourcesContent":["/*\nLanguage: ARM Assembly\nAuthor: Dan Panzarella \nDescription: ARM Assembly including Thumb and Thumb2 instructions\nCategory: assembler\n*/\n\n/** @type LanguageFn */\nfunction armasm(hljs) {\n // local labels: %?[FB]?[AT]?\\d{1,2}\\w+\n\n const COMMENT = {\n variants: [\n hljs.COMMENT('^[ \\\\t]*(?=#)', '$', {\n relevance: 0,\n excludeBegin: true\n }),\n hljs.COMMENT('[;@]', '$', {\n relevance: 0\n }),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n return {\n name: 'ARM Assembly',\n case_insensitive: true,\n aliases: ['arm'],\n keywords: {\n $pattern: '\\\\.?' + hljs.IDENT_RE,\n meta:\n // GNU preprocs\n '.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ' +\n // ARM directives\n 'ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ',\n built_in:\n 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 ' + // standard registers\n 'pc lr sp ip sl sb fp ' + // typical regs plus backward compatibility\n 'a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 ' + // more regs and fp\n 'p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 ' + // coprocessor regs\n 'c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 ' + // more coproc\n 'q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 ' + // advanced SIMD NEON regs\n\n // program status registers\n 'cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf ' +\n 'spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf ' +\n\n // NEON and VFP registers\n 's0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 ' +\n 's16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 ' +\n 'd0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 ' +\n 'd16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ' +\n\n '{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @'\n },\n contains: [\n {\n className: 'keyword',\n begin: '\\\\b(' + // mnemonics\n 'adc|' +\n '(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|' +\n 'and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|' +\n 'bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|' +\n 'setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|' +\n 'ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|' +\n 'mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|' +\n 'mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|' +\n 'mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|' +\n 'rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|' +\n 'stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|' +\n '[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|' +\n 'wfe|wfi|yield' +\n ')' +\n '(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?' + // condition codes\n '[sptrx]?' + // legal postfixes\n '(?=\\\\s)' // followed by space\n },\n COMMENT,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '[^\\\\\\\\]\\'',\n relevance: 0\n },\n {\n className: 'title',\n begin: '\\\\|',\n end: '\\\\|',\n illegal: '\\\\n',\n relevance: 0\n },\n {\n className: 'number',\n variants: [\n { // hex\n begin: '[#$=]?0x[0-9a-f]+'\n },\n { // bin\n begin: '[#$=]?0b[01]+'\n },\n { // literal\n begin: '[#$=]\\\\d+'\n },\n { // bare number\n begin: '\\\\b\\\\d+'\n }\n ],\n relevance: 0\n },\n {\n className: 'symbol',\n variants: [\n { // GNU ARM syntax\n begin: '^[ \\\\t]*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:'\n },\n { // ARM syntax\n begin: '^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+'\n },\n { // label reference\n begin: '[=#]\\\\w+'\n }\n ],\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = armasm;\n"],"names":["module","exports","hljs","COMMENT","variants","relevance","excludeBegin","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","name","case_insensitive","aliases","keywords","$pattern","IDENT_RE","meta","built_in","contains","className","begin","QUOTE_STRING_MODE","end","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/asciidoc.js.map b/js/highlight/asciidoc.js.map
index f84a706d2ee..502f94623fe 100644
--- a/js/highlight/asciidoc.js.map
+++ b/js/highlight/asciidoc.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/asciidoc.js?v=5e49bf358dff3a434bb5","mappings":"gHAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IAyRjDC,EAAOC,QA3QP,SAAkBC,GAChB,MA2BMC,EAAS,CAEb,CACEC,UAAW,SACXC,MAAO,uBAGT,CACED,UAAW,SACXC,MAAOZ,EACL,OACA,oCACA,+BACA,QAEFa,UAAW,GAGb,CACEF,UAAW,SAEXC,MAAO,gCAGT,CACED,UAAW,SAEXC,MAAO,iCAGLE,EAAW,CAEf,CACEH,UAAW,WACXC,MAAO,qBAGT,CACED,UAAW,WACXC,MAAOZ,EACL,KACA,kCACA,6BACA,MAEFa,UAAW,GAGb,CACEF,UAAW,WAEXC,MAAO,8BAGT,CACED,UAAW,WAEXC,MAAO,8BAGT,CACED,UAAW,WAEXC,MAAO,iBACPG,IAAK,aAELC,SAAU,CAAC,CACTJ,MAAO,WACPC,UAAW,IAEbA,UAAW,IAaf,MAAO,CACLI,KAAM,WACNC,QAAS,CAAC,QACVF,SAAU,CAERP,EAAKU,QACH,YACA,YAIA,CACEN,UAAW,KAIfJ,EAAKU,QACH,MACA,IACA,CACEN,UAAW,IAIf,CACEF,UAAW,QACXC,MAAO,cAGT,CACEA,MAAO,iBACPG,IAAK,kBACLF,UAAW,IAGb,CACEF,UAAW,UACXE,UAAW,GACXO,SAAU,CACR,CACER,MAAO,iCAET,CACEA,MAAO,0CAKb,CACED,UAAW,OACXC,MAAO,SACPG,IAAK,MACLM,YAAY,EACZR,UAAW,IAGb,CACEF,UAAW,OACXC,MAAO,cACPC,UAAW,GAGb,CACEF,UAAW,QACXC,MAAO,YACPG,IAAK,YACLF,UAAW,IAGb,CACEF,UAAW,OACXC,MAAO,mBACPG,IAAK,mBACLF,UAAW,IAGb,CACED,MAAO,cACPG,IAAK,cACLC,SAAU,CAAC,CACTJ,MAAO,IACPG,IAAK,IACLO,YAAa,MACbT,UAAW,IAEbA,UAAW,IA1FG,CAClBF,UAAW,SACXC,MAAO,kCAPU,CACjBD,UAAW,SACXC,MAAO,6CACPC,UAAW,IAjGX,CACED,MAAO,WAKT,CACEA,MAAO,yBAET,CACEA,MAAO,sBAET,CACEA,MAAO,sBAIT,CACEA,MAAO,0BAiLJF,KACAI,EAGH,CACEH,UAAW,SACXS,SAAU,CACR,CACER,MAAO,WAET,CACEA,MAAO,WAKb,CACED,UAAW,OACXC,MAAO,OACPG,IAAK,gBAGP,CACEJ,UAAW,OACXC,MAAO,oBACPC,UAAW,GAGb,CACEF,UAAW,OACXC,MAAO,UACPG,IAAK,IACLF,UAAW,GAzOO,CACtBD,MAAO,iBACPC,UAAW,IA2OT,CACED,MAAO,8DACPW,aAAa,EACbP,SAAU,CACR,CACEJ,MAAO,kBACPC,UAAW,GAEb,CACEF,UAAW,OACXC,MAAO,MACPG,IAAK,UACLF,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,MACPG,IAAK,MACLS,cAAc,EACdH,YAAY,EACZR,UAAW,IAGfA,UAAW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/asciidoc.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: AsciiDoc\nRequires: xml.js\nAuthor: Dan Allen \nWebsite: http://asciidoc.org\nDescription: A semantic, text-based document format that can be exported to HTML, DocBook and other backends.\nCategory: markup\n*/\n\n/** @type LanguageFn */\nfunction asciidoc(hljs) {\n const HORIZONTAL_RULE = {\n begin: '^\\'{3,}[ \\\\t]*$',\n relevance: 10\n };\n const ESCAPED_FORMATTING = [\n // escaped constrained formatting marks (i.e., \\* \\_ or \\`)\n {\n begin: /\\\\[*_`]/\n },\n // escaped unconstrained formatting marks (i.e., \\\\** \\\\__ or \\\\``)\n // must ignore until the next formatting marks\n // this rule might not be 100% compliant with Asciidoctor 2.0 but we are entering undefined behavior territory...\n {\n begin: /\\\\\\\\\\*{2}[^\\n]*?\\*{2}/\n },\n {\n begin: /\\\\\\\\_{2}[^\\n]*_{2}/\n },\n {\n begin: /\\\\\\\\`{2}[^\\n]*`{2}/\n },\n // guard: constrained formatting mark may not be preceded by \":\", \";\" or\n // \"}\". match these so the constrained rule doesn't see them\n {\n begin: /[:;}][*_`](?![*_`])/\n }\n ];\n const STRONG = [\n // inline unconstrained strong (single line)\n {\n className: 'strong',\n begin: /\\*{2}([^\\n]+?)\\*{2}/\n },\n // inline unconstrained strong (multi-line)\n {\n className: 'strong',\n begin: concat(\n /\\*\\*/,\n /((\\*(?!\\*)|\\\\[^\\n]|[^*\\n\\\\])+\\n)+/,\n /(\\*(?!\\*)|\\\\[^\\n]|[^*\\n\\\\])*/,\n /\\*\\*/\n ),\n relevance: 0\n },\n // inline constrained strong (single line)\n {\n className: 'strong',\n // must not precede or follow a word character\n begin: /\\B\\*(\\S|\\S[^\\n]*?\\S)\\*(?!\\w)/\n },\n // inline constrained strong (multi-line)\n {\n className: 'strong',\n // must not precede or follow a word character\n begin: /\\*[^\\s]([^\\n]+\\n)+([^\\n]+)\\*/\n }\n ];\n const EMPHASIS = [\n // inline unconstrained emphasis (single line)\n {\n className: 'emphasis',\n begin: /_{2}([^\\n]+?)_{2}/\n },\n // inline unconstrained emphasis (multi-line)\n {\n className: 'emphasis',\n begin: concat(\n /__/,\n /((_(?!_)|\\\\[^\\n]|[^_\\n\\\\])+\\n)+/,\n /(_(?!_)|\\\\[^\\n]|[^_\\n\\\\])*/,\n /__/\n ),\n relevance: 0\n },\n // inline constrained emphasis (single line)\n {\n className: 'emphasis',\n // must not precede or follow a word character\n begin: /\\b_(\\S|\\S[^\\n]*?\\S)_(?!\\w)/\n },\n // inline constrained emphasis (multi-line)\n {\n className: 'emphasis',\n // must not precede or follow a word character\n begin: /_[^\\s]([^\\n]+\\n)+([^\\n]+)_/\n },\n // inline constrained emphasis using single quote (legacy)\n {\n className: 'emphasis',\n // must not follow a word character or be followed by a single quote or space\n begin: '\\\\B\\'(?![\\'\\\\s])',\n end: '(\\\\n{2}|\\')',\n // allow escaped single quote followed by word char\n contains: [{\n begin: '\\\\\\\\\\'\\\\w',\n relevance: 0\n }],\n relevance: 0\n }\n ];\n const ADMONITION = {\n className: 'symbol',\n begin: '^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+',\n relevance: 10\n };\n const BULLET_LIST = {\n className: 'bullet',\n begin: '^(\\\\*+|-+|\\\\.+|[^\\\\n]+?::)\\\\s+'\n };\n\n return {\n name: 'AsciiDoc',\n aliases: ['adoc'],\n contains: [\n // block comment\n hljs.COMMENT(\n '^/{4,}\\\\n',\n '\\\\n/{4,}$',\n // can also be done as...\n // '^/{4,}$',\n // '^/{4,}$',\n {\n relevance: 10\n }\n ),\n // line comment\n hljs.COMMENT(\n '^//',\n '$',\n {\n relevance: 0\n }\n ),\n // title\n {\n className: 'title',\n begin: '^\\\\.\\\\w.*$'\n },\n // example, admonition & sidebar blocks\n {\n begin: '^[=\\\\*]{4,}\\\\n',\n end: '\\\\n^[=\\\\*]{4,}$',\n relevance: 10\n },\n // headings\n {\n className: 'section',\n relevance: 10,\n variants: [\n {\n begin: '^(={1,6})[ \\t].+?([ \\t]\\\\1)?$'\n },\n {\n begin: '^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$'\n }\n ]\n },\n // document attributes\n {\n className: 'meta',\n begin: '^:.+?:',\n end: '\\\\s',\n excludeEnd: true,\n relevance: 10\n },\n // block attributes\n {\n className: 'meta',\n begin: '^\\\\[.+?\\\\]$',\n relevance: 0\n },\n // quoteblocks\n {\n className: 'quote',\n begin: '^_{4,}\\\\n',\n end: '\\\\n_{4,}$',\n relevance: 10\n },\n // listing and literal blocks\n {\n className: 'code',\n begin: '^[\\\\-\\\\.]{4,}\\\\n',\n end: '\\\\n[\\\\-\\\\.]{4,}$',\n relevance: 10\n },\n // passthrough blocks\n {\n begin: '^\\\\+{4,}\\\\n',\n end: '\\\\n\\\\+{4,}$',\n contains: [{\n begin: '<',\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n }],\n relevance: 10\n },\n\n BULLET_LIST,\n ADMONITION,\n ...ESCAPED_FORMATTING,\n ...STRONG,\n ...EMPHASIS,\n\n // inline smart quotes\n {\n className: 'string',\n variants: [\n {\n begin: \"``.+?''\"\n },\n {\n begin: \"`.+?'\"\n }\n ]\n },\n // inline unconstrained emphasis\n {\n className: 'code',\n begin: /`{2}/,\n end: /(\\n{2}|`{2})/\n },\n // inline code snippets (TODO should get same treatment as strong and emphasis)\n {\n className: 'code',\n begin: '(`.+?`|\\\\+.+?\\\\+)',\n relevance: 0\n },\n // indented literal block\n {\n className: 'code',\n begin: '^[ \\\\t]',\n end: '$',\n relevance: 0\n },\n HORIZONTAL_RULE,\n // images and links\n {\n begin: '(link:)?(http|https|ftp|file|irc|image:?):\\\\S+?\\\\[[^[]*?\\\\]',\n returnBegin: true,\n contains: [\n {\n begin: '(link|image:?):',\n relevance: 0\n },\n {\n className: 'link',\n begin: '\\\\w',\n end: '[^\\\\[]+',\n relevance: 0\n },\n {\n className: 'string',\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n }\n ],\n relevance: 10\n }\n ]\n };\n}\n\nmodule.exports = asciidoc;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","STRONG","className","begin","relevance","EMPHASIS","end","contains","name","aliases","COMMENT","variants","excludeEnd","subLanguage","returnBegin","excludeBegin"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/asciidoc.js?v=5e49bf358dff3a434bb5","mappings":"gHAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,CAY0B,IAAEC,KAAK,GAEjD,CAuRAC,EAAOC,QA3QP,SAAkBC,GAChB,MA2BMC,EAAS,CAEb,CACEC,UAAW,SACXC,MAAO,uBAGT,CACED,UAAW,SACXC,MAAOZ,EACL,OACA,oCACA,+BACA,QAEFa,UAAW,GAGb,CACEF,UAAW,SAEXC,MAAO,gCAGT,CACED,UAAW,SAEXC,MAAO,iCAGLE,EAAW,CAEf,CACEH,UAAW,WACXC,MAAO,qBAGT,CACED,UAAW,WACXC,MAAOZ,EACL,KACA,kCACA,6BACA,MAEFa,UAAW,GAGb,CACEF,UAAW,WAEXC,MAAO,8BAGT,CACED,UAAW,WAEXC,MAAO,8BAGT,CACED,UAAW,WAEXC,MAAO,iBACPG,IAAK,aAELC,SAAU,CAAC,CACTJ,MAAO,WACPC,UAAW,IAEbA,UAAW,IAaf,MAAO,CACLI,KAAM,WACNC,QAAS,CAAC,QACVF,SAAU,CAERP,EAAKU,QACH,YACA,YAIA,CACEN,UAAW,KAIfJ,EAAKU,QACH,MACA,IACA,CACEN,UAAW,IAIf,CACEF,UAAW,QACXC,MAAO,cAGT,CACEA,MAAO,iBACPG,IAAK,kBACLF,UAAW,IAGb,CACEF,UAAW,UACXE,UAAW,GACXO,SAAU,CACR,CACER,MAAO,iCAET,CACEA,MAAO,0CAKb,CACED,UAAW,OACXC,MAAO,SACPG,IAAK,MACLM,YAAY,EACZR,UAAW,IAGb,CACEF,UAAW,OACXC,MAAO,cACPC,UAAW,GAGb,CACEF,UAAW,QACXC,MAAO,YACPG,IAAK,YACLF,UAAW,IAGb,CACEF,UAAW,OACXC,MAAO,mBACPG,IAAK,mBACLF,UAAW,IAGb,CACED,MAAO,cACPG,IAAK,cACLC,SAAU,CAAC,CACTJ,MAAO,IACPG,IAAK,IACLO,YAAa,MACbT,UAAW,IAEbA,UAAW,IA1FG,CAClBF,UAAW,SACXC,MAAO,kCAPU,CACjBD,UAAW,SACXC,MAAO,6CACPC,UAAW,IAjGX,CACED,MAAO,WAKT,CACEA,MAAO,yBAET,CACEA,MAAO,sBAET,CACEA,MAAO,sBAIT,CACEA,MAAO,0BAiLJF,KACAI,EAGH,CACEH,UAAW,SACXS,SAAU,CACR,CACER,MAAO,WAET,CACEA,MAAO,WAKb,CACED,UAAW,OACXC,MAAO,OACPG,IAAK,gBAGP,CACEJ,UAAW,OACXC,MAAO,oBACPC,UAAW,GAGb,CACEF,UAAW,OACXC,MAAO,UACPG,IAAK,IACLF,UAAW,GAzOO,CACtBD,MAAO,iBACPC,UAAW,IA2OT,CACED,MAAO,8DACPW,aAAa,EACbP,SAAU,CACR,CACEJ,MAAO,kBACPC,UAAW,GAEb,CACEF,UAAW,OACXC,MAAO,MACPG,IAAK,UACLF,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,MACPG,IAAK,MACLS,cAAc,EACdH,YAAY,EACZR,UAAW,IAGfA,UAAW,KAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/asciidoc.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: AsciiDoc\nRequires: xml.js\nAuthor: Dan Allen \nWebsite: http://asciidoc.org\nDescription: A semantic, text-based document format that can be exported to HTML, DocBook and other backends.\nCategory: markup\n*/\n\n/** @type LanguageFn */\nfunction asciidoc(hljs) {\n const HORIZONTAL_RULE = {\n begin: '^\\'{3,}[ \\\\t]*$',\n relevance: 10\n };\n const ESCAPED_FORMATTING = [\n // escaped constrained formatting marks (i.e., \\* \\_ or \\`)\n {\n begin: /\\\\[*_`]/\n },\n // escaped unconstrained formatting marks (i.e., \\\\** \\\\__ or \\\\``)\n // must ignore until the next formatting marks\n // this rule might not be 100% compliant with Asciidoctor 2.0 but we are entering undefined behavior territory...\n {\n begin: /\\\\\\\\\\*{2}[^\\n]*?\\*{2}/\n },\n {\n begin: /\\\\\\\\_{2}[^\\n]*_{2}/\n },\n {\n begin: /\\\\\\\\`{2}[^\\n]*`{2}/\n },\n // guard: constrained formatting mark may not be preceded by \":\", \";\" or\n // \"}\". match these so the constrained rule doesn't see them\n {\n begin: /[:;}][*_`](?![*_`])/\n }\n ];\n const STRONG = [\n // inline unconstrained strong (single line)\n {\n className: 'strong',\n begin: /\\*{2}([^\\n]+?)\\*{2}/\n },\n // inline unconstrained strong (multi-line)\n {\n className: 'strong',\n begin: concat(\n /\\*\\*/,\n /((\\*(?!\\*)|\\\\[^\\n]|[^*\\n\\\\])+\\n)+/,\n /(\\*(?!\\*)|\\\\[^\\n]|[^*\\n\\\\])*/,\n /\\*\\*/\n ),\n relevance: 0\n },\n // inline constrained strong (single line)\n {\n className: 'strong',\n // must not precede or follow a word character\n begin: /\\B\\*(\\S|\\S[^\\n]*?\\S)\\*(?!\\w)/\n },\n // inline constrained strong (multi-line)\n {\n className: 'strong',\n // must not precede or follow a word character\n begin: /\\*[^\\s]([^\\n]+\\n)+([^\\n]+)\\*/\n }\n ];\n const EMPHASIS = [\n // inline unconstrained emphasis (single line)\n {\n className: 'emphasis',\n begin: /_{2}([^\\n]+?)_{2}/\n },\n // inline unconstrained emphasis (multi-line)\n {\n className: 'emphasis',\n begin: concat(\n /__/,\n /((_(?!_)|\\\\[^\\n]|[^_\\n\\\\])+\\n)+/,\n /(_(?!_)|\\\\[^\\n]|[^_\\n\\\\])*/,\n /__/\n ),\n relevance: 0\n },\n // inline constrained emphasis (single line)\n {\n className: 'emphasis',\n // must not precede or follow a word character\n begin: /\\b_(\\S|\\S[^\\n]*?\\S)_(?!\\w)/\n },\n // inline constrained emphasis (multi-line)\n {\n className: 'emphasis',\n // must not precede or follow a word character\n begin: /_[^\\s]([^\\n]+\\n)+([^\\n]+)_/\n },\n // inline constrained emphasis using single quote (legacy)\n {\n className: 'emphasis',\n // must not follow a word character or be followed by a single quote or space\n begin: '\\\\B\\'(?![\\'\\\\s])',\n end: '(\\\\n{2}|\\')',\n // allow escaped single quote followed by word char\n contains: [{\n begin: '\\\\\\\\\\'\\\\w',\n relevance: 0\n }],\n relevance: 0\n }\n ];\n const ADMONITION = {\n className: 'symbol',\n begin: '^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+',\n relevance: 10\n };\n const BULLET_LIST = {\n className: 'bullet',\n begin: '^(\\\\*+|-+|\\\\.+|[^\\\\n]+?::)\\\\s+'\n };\n\n return {\n name: 'AsciiDoc',\n aliases: ['adoc'],\n contains: [\n // block comment\n hljs.COMMENT(\n '^/{4,}\\\\n',\n '\\\\n/{4,}$',\n // can also be done as...\n // '^/{4,}$',\n // '^/{4,}$',\n {\n relevance: 10\n }\n ),\n // line comment\n hljs.COMMENT(\n '^//',\n '$',\n {\n relevance: 0\n }\n ),\n // title\n {\n className: 'title',\n begin: '^\\\\.\\\\w.*$'\n },\n // example, admonition & sidebar blocks\n {\n begin: '^[=\\\\*]{4,}\\\\n',\n end: '\\\\n^[=\\\\*]{4,}$',\n relevance: 10\n },\n // headings\n {\n className: 'section',\n relevance: 10,\n variants: [\n {\n begin: '^(={1,6})[ \\t].+?([ \\t]\\\\1)?$'\n },\n {\n begin: '^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$'\n }\n ]\n },\n // document attributes\n {\n className: 'meta',\n begin: '^:.+?:',\n end: '\\\\s',\n excludeEnd: true,\n relevance: 10\n },\n // block attributes\n {\n className: 'meta',\n begin: '^\\\\[.+?\\\\]$',\n relevance: 0\n },\n // quoteblocks\n {\n className: 'quote',\n begin: '^_{4,}\\\\n',\n end: '\\\\n_{4,}$',\n relevance: 10\n },\n // listing and literal blocks\n {\n className: 'code',\n begin: '^[\\\\-\\\\.]{4,}\\\\n',\n end: '\\\\n[\\\\-\\\\.]{4,}$',\n relevance: 10\n },\n // passthrough blocks\n {\n begin: '^\\\\+{4,}\\\\n',\n end: '\\\\n\\\\+{4,}$',\n contains: [{\n begin: '<',\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n }],\n relevance: 10\n },\n\n BULLET_LIST,\n ADMONITION,\n ...ESCAPED_FORMATTING,\n ...STRONG,\n ...EMPHASIS,\n\n // inline smart quotes\n {\n className: 'string',\n variants: [\n {\n begin: \"``.+?''\"\n },\n {\n begin: \"`.+?'\"\n }\n ]\n },\n // inline unconstrained emphasis\n {\n className: 'code',\n begin: /`{2}/,\n end: /(\\n{2}|`{2})/\n },\n // inline code snippets (TODO should get same treatment as strong and emphasis)\n {\n className: 'code',\n begin: '(`.+?`|\\\\+.+?\\\\+)',\n relevance: 0\n },\n // indented literal block\n {\n className: 'code',\n begin: '^[ \\\\t]',\n end: '$',\n relevance: 0\n },\n HORIZONTAL_RULE,\n // images and links\n {\n begin: '(link:)?(http|https|ftp|file|irc|image:?):\\\\S+?\\\\[[^[]*?\\\\]',\n returnBegin: true,\n contains: [\n {\n begin: '(link|image:?):',\n relevance: 0\n },\n {\n className: 'link',\n begin: '\\\\w',\n end: '[^\\\\[]+',\n relevance: 0\n },\n {\n className: 'string',\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n }\n ],\n relevance: 10\n }\n ]\n };\n}\n\nmodule.exports = asciidoc;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","STRONG","className","begin","relevance","EMPHASIS","end","contains","name","aliases","COMMENT","variants","excludeEnd","subLanguage","returnBegin","excludeBegin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/aspectj.js.map b/js/highlight/aspectj.js.map
index b5789523467..2244d998965 100644
--- a/js/highlight/aspectj.js.map
+++ b/js/highlight/aspectj.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/aspectj.js?v=a2a8d760536a4f13c37b","mappings":"+GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IAoKjDC,EAAOC,QAvJP,SAAiBC,GACf,MAAMC,EACJ,qoBAQIC,EAAY,oBAElB,MAAO,CACLC,KAAM,UACNC,SAAUH,EACVI,QAAS,QACTC,SAAU,CACRN,EAAKO,QACH,SACA,OACA,CACEC,UAAW,EACXF,SAAU,CACR,CAEEG,MAAO,OACPD,UAAW,GAEb,CACEE,UAAW,SACXD,MAAO,iBAKfT,EAAKW,oBACLX,EAAKY,qBACLZ,EAAKa,iBACLb,EAAKc,kBACL,CACEJ,UAAW,QACXK,cAAe,SACfC,IAAK,QACLC,YAAY,EACZZ,QAAS,YACTC,SAAU,CACR,CACES,cAAe,yFAEjBf,EAAKkB,sBACL,CACET,MAAO,WACPO,IAAK,OACLZ,SAAUH,EAAW,IAAMC,EAC3Be,YAAY,KAIlB,CACEP,UAAW,QACXK,cAAe,kBACfC,IAAK,QACLC,YAAY,EACZT,UAAW,EACXJ,SAAU,kBACVC,QAAS,WACTC,SAAU,CACR,CACES,cAAe,sBAEjBf,EAAKkB,wBAGT,CAEEH,cAAe,kDACfC,IAAK,MACLC,YAAY,EACZZ,QAAS,UACTC,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCC,aAAa,EACbd,SAAU,CAAEN,EAAKkB,0BAIvB,CACET,MAAO,MACPW,aAAa,EACbJ,IAAK,OACLR,UAAW,EACXS,YAAY,EACZb,SAAUH,EACVI,QAAS,UACTC,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCf,SAAUH,EAAW,IAAMC,EAC3BM,UAAW,GAEbR,EAAKc,oBAGT,CAEEC,cAAe,YACfP,UAAW,GAEb,CAEEE,UAAW,WACXD,MAAO,2DACPW,aAAa,EACbJ,IAAK,QACLZ,SAAUH,EACVgB,YAAY,EACZX,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCC,aAAa,EACbZ,UAAW,EACXF,SAAU,CAAEN,EAAKkB,wBAEnB,CACER,UAAW,SACXD,MAAO,KACPO,IAAK,KACLR,UAAW,EACXJ,SAAUH,EACVK,SAAU,CACRN,EAAKa,iBACLb,EAAKc,kBACLd,EAAKqB,cACLrB,EAAKY,uBAGTZ,EAAKW,oBACLX,EAAKY,uBAGTZ,EAAKqB,cACL,CAEEX,UAAW,OACXD,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/aspectj.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: AspectJ\nAuthor: Hakan Ozler \nWebsite: https://www.eclipse.org/aspectj/\nDescription: Syntax Highlighting for the AspectJ Language which is a general-purpose aspect-oriented extension to the Java programming language.\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction aspectj(hljs) {\n const KEYWORDS =\n 'false synchronized int abstract float private char boolean static null if const ' +\n 'for true while long throw strictfp finally protected import native final return void ' +\n 'enum else extends implements break transient new catch instanceof byte super volatile case ' +\n 'assert short package default double public try this switch continue throws privileged ' +\n 'aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization ' +\n 'staticinitialization withincode target within execution getWithinTypeName handler ' +\n 'thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents ' +\n 'warning error soft precedence thisAspectInstance';\n const SHORTKEYS = 'get set args call';\n\n return {\n name: 'AspectJ',\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n /\\/\\*\\*/,\n /\\*\\//,\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: /@[A-Za-z]+/\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'class',\n beginKeywords: 'aspect',\n end: /[{;=]/,\n excludeEnd: true,\n illegal: /[:;\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton'\n },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: /\\([^\\)]*/,\n end: /[)]+/,\n keywords: KEYWORDS + ' ' + SHORTKEYS,\n excludeEnd: false\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /[{;=]/,\n excludeEnd: true,\n relevance: 0,\n keywords: 'class interface',\n illegal: /[:\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n {\n // AspectJ Constructs\n beginKeywords: 'pointcut after before around throwing returning',\n end: /[)]/,\n excludeEnd: false,\n illegal: /[\"\\[\\]]/,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n returnBegin: true,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n }\n ]\n },\n {\n begin: /[:]/,\n returnBegin: true,\n end: /[{;]/,\n relevance: 0,\n excludeEnd: false,\n keywords: KEYWORDS,\n illegal: /[\"\\[\\]]/,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n keywords: KEYWORDS + ' ' + SHORTKEYS,\n relevance: 0\n },\n hljs.QUOTE_STRING_MODE\n ]\n },\n {\n // this prevents 'new Name(...), or throw ...' from being recognized as a function definition\n beginKeywords: 'new throw',\n relevance: 0\n },\n {\n // the function class is a bit different for AspectJ compared to the Java language\n className: 'function',\n begin: /\\w+ +\\w+(\\.\\w+)?\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,\n returnBegin: true,\n end: /[{;=]/,\n keywords: KEYWORDS,\n excludeEnd: true,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_NUMBER_MODE,\n {\n // annotation is also used in this language\n className: 'meta',\n begin: /@[A-Za-z]+/\n }\n ]\n };\n}\n\nmodule.exports = aspectj;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","KEYWORDS","SHORTKEYS","name","keywords","illegal","contains","COMMENT","relevance","begin","className","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","beginKeywords","end","excludeEnd","UNDERSCORE_TITLE_MODE","UNDERSCORE_IDENT_RE","returnBegin","C_NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/aspectj.js?v=a2a8d760536a4f13c37b","mappings":"+GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,CAY0B,IAAEC,KAAK,GAEjD,CAkKAC,EAAOC,QAvJP,SAAiBC,GACf,MAAMC,EACJ,qoBAQIC,EAAY,oBAElB,MAAO,CACLC,KAAM,UACNC,SAAUH,EACVI,QAAS,QACTC,SAAU,CACRN,EAAKO,QACH,SACA,OACA,CACEC,UAAW,EACXF,SAAU,CACR,CAEEG,MAAO,OACPD,UAAW,GAEb,CACEE,UAAW,SACXD,MAAO,iBAKfT,EAAKW,oBACLX,EAAKY,qBACLZ,EAAKa,iBACLb,EAAKc,kBACL,CACEJ,UAAW,QACXK,cAAe,SACfC,IAAK,QACLC,YAAY,EACZZ,QAAS,YACTC,SAAU,CACR,CACES,cAAe,yFAEjBf,EAAKkB,sBACL,CACET,MAAO,WACPO,IAAK,OACLZ,SAAUH,EAAW,IAAMC,EAC3Be,YAAY,KAIlB,CACEP,UAAW,QACXK,cAAe,kBACfC,IAAK,QACLC,YAAY,EACZT,UAAW,EACXJ,SAAU,kBACVC,QAAS,WACTC,SAAU,CACR,CACES,cAAe,sBAEjBf,EAAKkB,wBAGT,CAEEH,cAAe,kDACfC,IAAK,MACLC,YAAY,EACZZ,QAAS,UACTC,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCC,aAAa,EACbd,SAAU,CAAEN,EAAKkB,0BAIvB,CACET,MAAO,MACPW,aAAa,EACbJ,IAAK,OACLR,UAAW,EACXS,YAAY,EACZb,SAAUH,EACVI,QAAS,UACTC,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCf,SAAUH,EAAW,IAAMC,EAC3BM,UAAW,GAEbR,EAAKc,oBAGT,CAEEC,cAAe,YACfP,UAAW,GAEb,CAEEE,UAAW,WACXD,MAAO,2DACPW,aAAa,EACbJ,IAAK,QACLZ,SAAUH,EACVgB,YAAY,EACZX,SAAU,CACR,CACEG,MAAOlB,EAAOS,EAAKmB,oBAAqB,SACxCC,aAAa,EACbZ,UAAW,EACXF,SAAU,CAAEN,EAAKkB,wBAEnB,CACER,UAAW,SACXD,MAAO,KACPO,IAAK,KACLR,UAAW,EACXJ,SAAUH,EACVK,SAAU,CACRN,EAAKa,iBACLb,EAAKc,kBACLd,EAAKqB,cACLrB,EAAKY,uBAGTZ,EAAKW,oBACLX,EAAKY,uBAGTZ,EAAKqB,cACL,CAEEX,UAAW,OACXD,MAAO,eAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/aspectj.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: AspectJ\nAuthor: Hakan Ozler \nWebsite: https://www.eclipse.org/aspectj/\nDescription: Syntax Highlighting for the AspectJ Language which is a general-purpose aspect-oriented extension to the Java programming language.\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction aspectj(hljs) {\n const KEYWORDS =\n 'false synchronized int abstract float private char boolean static null if const ' +\n 'for true while long throw strictfp finally protected import native final return void ' +\n 'enum else extends implements break transient new catch instanceof byte super volatile case ' +\n 'assert short package default double public try this switch continue throws privileged ' +\n 'aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization ' +\n 'staticinitialization withincode target within execution getWithinTypeName handler ' +\n 'thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents ' +\n 'warning error soft precedence thisAspectInstance';\n const SHORTKEYS = 'get set args call';\n\n return {\n name: 'AspectJ',\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n /\\/\\*\\*/,\n /\\*\\//,\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: /@[A-Za-z]+/\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'class',\n beginKeywords: 'aspect',\n end: /[{;=]/,\n excludeEnd: true,\n illegal: /[:;\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton'\n },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: /\\([^\\)]*/,\n end: /[)]+/,\n keywords: KEYWORDS + ' ' + SHORTKEYS,\n excludeEnd: false\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /[{;=]/,\n excludeEnd: true,\n relevance: 0,\n keywords: 'class interface',\n illegal: /[:\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n {\n // AspectJ Constructs\n beginKeywords: 'pointcut after before around throwing returning',\n end: /[)]/,\n excludeEnd: false,\n illegal: /[\"\\[\\]]/,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n returnBegin: true,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n }\n ]\n },\n {\n begin: /[:]/,\n returnBegin: true,\n end: /[{;]/,\n relevance: 0,\n excludeEnd: false,\n keywords: KEYWORDS,\n illegal: /[\"\\[\\]]/,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n keywords: KEYWORDS + ' ' + SHORTKEYS,\n relevance: 0\n },\n hljs.QUOTE_STRING_MODE\n ]\n },\n {\n // this prevents 'new Name(...), or throw ...' from being recognized as a function definition\n beginKeywords: 'new throw',\n relevance: 0\n },\n {\n // the function class is a bit different for AspectJ compared to the Java language\n className: 'function',\n begin: /\\w+ +\\w+(\\.\\w+)?\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,\n returnBegin: true,\n end: /[{;=]/,\n keywords: KEYWORDS,\n excludeEnd: true,\n contains: [\n {\n begin: concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_NUMBER_MODE,\n {\n // annotation is also used in this language\n className: 'meta',\n begin: /@[A-Za-z]+/\n }\n ]\n };\n}\n\nmodule.exports = aspectj;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","KEYWORDS","SHORTKEYS","name","keywords","illegal","contains","COMMENT","relevance","begin","className","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","beginKeywords","end","excludeEnd","UNDERSCORE_TITLE_MODE","UNDERSCORE_IDENT_RE","returnBegin","C_NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/autohotkey.js.map b/js/highlight/autohotkey.js.map
index 1590fab2dbc..931cad65fa1 100644
--- a/js/highlight/autohotkey.js.map
+++ b/js/highlight/autohotkey.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/autohotkey.js?v=e48e8ee7320dc1d41f1d","mappings":"kHAmFAA,EAAOC,QA3EP,SAAoBC,GAClB,MAAMC,EAAkB,CACtBC,MAAO,aAGT,MAAO,CACLC,KAAM,aACNC,kBAAkB,EAClBC,QAAS,CAAC,OACVC,SAAU,CACRC,QAAS,uKACTC,QAAS,wBACTC,SAAU,6CAEZC,SAAU,CACRT,EACAD,EAAKW,QAAQX,EAAKY,kBAAmB,CACnCF,SAAU,CAACT,KAEbD,EAAKa,QAAQ,IAAK,IAAK,CACrBC,UAAW,IAEbd,EAAKe,qBACL,CACEC,UAAW,SACXd,MAAOF,EAAKiB,UACZH,UAAW,GAEb,CAIEE,UAAW,WACXd,MAAO,sBAET,CACEc,UAAW,WACXd,MAAO,sBAGT,CAIEc,UAAW,QACXE,SAAU,CACR,CACEhB,MAAO,qBAET,CACEA,MAAO,mBAGPY,UAAW,KAIjB,CACEE,UAAW,OACXd,MAAO,aACPiB,IAAK,IACLL,UAAW,GAEb,CACEE,UAAW,WACXd,MAAO,kBAET,CAEEA,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/autohotkey.js"],"sourcesContent":["/*\nLanguage: AutoHotkey\nAuthor: Seongwon Lee \nDescription: AutoHotkey language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autohotkey(hljs) {\n const BACKTICK_ESCAPE = {\n begin: '`[\\\\s\\\\S]'\n };\n\n return {\n name: 'AutoHotkey',\n case_insensitive: true,\n aliases: ['ahk'],\n keywords: {\n keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',\n literal: 'true false NOT AND OR',\n built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel'\n },\n contains: [\n BACKTICK_ESCAPE,\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n contains: [BACKTICK_ESCAPE]\n }),\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'number',\n begin: hljs.NUMBER_RE,\n relevance: 0\n },\n {\n // subst would be the most accurate however fails the point of\n // highlighting. variable is comparably the most accurate that actually\n // has some effect\n className: 'variable',\n begin: '%[a-zA-Z0-9#_$@]+%'\n },\n {\n className: 'built_in',\n begin: '^\\\\s*\\\\w+\\\\s*(,|%)'\n // I don't really know if this is totally relevant\n },\n {\n // symbol would be most accurate however is highlighted just like\n // built_in and that makes up a lot of AutoHotkey code meaning that it\n // would fail to highlight anything\n className: 'title',\n variants: [\n {\n begin: '^[^\\\\n\";]+::(?!=)'\n },\n {\n begin: '^[^\\\\n\";]+:(?!=)',\n // zero relevance as it catches a lot of things\n // followed by a single ':' in many languages\n relevance: 0\n }\n ]\n },\n {\n className: 'meta',\n begin: '^\\\\s*#\\\\w+',\n end: '$',\n relevance: 0\n },\n {\n className: 'built_in',\n begin: 'A_[a-zA-Z0-9]+'\n },\n {\n // consecutive commas, not for highlighting but just for relevance\n begin: ',\\\\s*,'\n }\n ]\n };\n}\n\nmodule.exports = autohotkey;\n"],"names":["module","exports","hljs","BACKTICK_ESCAPE","begin","name","case_insensitive","aliases","keywords","keyword","literal","built_in","contains","inherit","QUOTE_STRING_MODE","COMMENT","relevance","C_BLOCK_COMMENT_MODE","className","NUMBER_RE","variants","end"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/autohotkey.js?v=e48e8ee7320dc1d41f1d","mappings":"kHAmFAA,EAAOC,QA3EP,SAAoBC,GAClB,MAAMC,EAAkB,CACtBC,MAAO,aAGT,MAAO,CACLC,KAAM,aACNC,kBAAkB,EAClBC,QAAS,CAAC,OACVC,SAAU,CACRC,QAAS,uKACTC,QAAS,wBACTC,SAAU,6CAEZC,SAAU,CACRT,EACAD,EAAKW,QAAQX,EAAKY,kBAAmB,CACnCF,SAAU,CAACT,KAEbD,EAAKa,QAAQ,IAAK,IAAK,CACrBC,UAAW,IAEbd,EAAKe,qBACL,CACEC,UAAW,SACXd,MAAOF,EAAKiB,UACZH,UAAW,GAEb,CAIEE,UAAW,WACXd,MAAO,sBAET,CACEc,UAAW,WACXd,MAAO,sBAGT,CAIEc,UAAW,QACXE,SAAU,CACR,CACEhB,MAAO,qBAET,CACEA,MAAO,mBAGPY,UAAW,KAIjB,CACEE,UAAW,OACXd,MAAO,aACPiB,IAAK,IACLL,UAAW,GAEb,CACEE,UAAW,WACXd,MAAO,kBAET,CAEEA,MAAO,WAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/autohotkey.js"],"sourcesContent":["/*\nLanguage: AutoHotkey\nAuthor: Seongwon Lee \nDescription: AutoHotkey language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autohotkey(hljs) {\n const BACKTICK_ESCAPE = {\n begin: '`[\\\\s\\\\S]'\n };\n\n return {\n name: 'AutoHotkey',\n case_insensitive: true,\n aliases: ['ahk'],\n keywords: {\n keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',\n literal: 'true false NOT AND OR',\n built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel'\n },\n contains: [\n BACKTICK_ESCAPE,\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n contains: [BACKTICK_ESCAPE]\n }),\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'number',\n begin: hljs.NUMBER_RE,\n relevance: 0\n },\n {\n // subst would be the most accurate however fails the point of\n // highlighting. variable is comparably the most accurate that actually\n // has some effect\n className: 'variable',\n begin: '%[a-zA-Z0-9#_$@]+%'\n },\n {\n className: 'built_in',\n begin: '^\\\\s*\\\\w+\\\\s*(,|%)'\n // I don't really know if this is totally relevant\n },\n {\n // symbol would be most accurate however is highlighted just like\n // built_in and that makes up a lot of AutoHotkey code meaning that it\n // would fail to highlight anything\n className: 'title',\n variants: [\n {\n begin: '^[^\\\\n\";]+::(?!=)'\n },\n {\n begin: '^[^\\\\n\";]+:(?!=)',\n // zero relevance as it catches a lot of things\n // followed by a single ':' in many languages\n relevance: 0\n }\n ]\n },\n {\n className: 'meta',\n begin: '^\\\\s*#\\\\w+',\n end: '$',\n relevance: 0\n },\n {\n className: 'built_in',\n begin: 'A_[a-zA-Z0-9]+'\n },\n {\n // consecutive commas, not for highlighting but just for relevance\n begin: ',\\\\s*,'\n }\n ]\n };\n}\n\nmodule.exports = autohotkey;\n"],"names":["module","exports","hljs","BACKTICK_ESCAPE","begin","name","case_insensitive","aliases","keywords","keyword","literal","built_in","contains","inherit","QUOTE_STRING_MODE","COMMENT","relevance","C_BLOCK_COMMENT_MODE","className","NUMBER_RE","variants","end"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/autoit.js.map b/js/highlight/autoit.js.map
index 28e76378ce6..7d6d0845b4e 100644
--- a/js/highlight/autoit.js.map
+++ b/js/highlight/autoit.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/autoit.js?v=b087d9f3df127b6f31ef","mappings":"8GAsLAA,EAAOC,QA9KP,SAAgBC,GACd,MA4BMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,IAAK,IAAK,CACrBE,UAAW,IAEbH,EAAKC,QAAQ,MAAO,OACpBD,EAAKC,QAAQ,kBAAmB,mBAI9BG,EAAW,CACfC,MAAO,iBAGHC,EAAS,CACbC,UAAW,SACXL,SAAU,CACR,CACEG,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,KAGf,CACEE,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,OAMbO,EAAS,CACbR,SAAU,CACRF,EAAKW,mBACLX,EAAKY,gBAqFT,MAAO,CACLC,KAAM,SACNC,kBAAkB,EAClBC,QAAS,OACTC,SAAU,CACRC,QA7Ja,4OA8JbC,SApIM,86JAqINC,QAxIY,sCA0IdV,SAAU,CACRR,EACAG,EACAE,EACAI,EA9FiB,CACnBH,UAAW,OACXF,MAAO,IACPG,IAAK,IACLQ,SAAU,CACR,eAtEe,CACjB,YACA,WACA,WACA,aACA,UACA,eACA,aACA,wBACA,SACA,SACA,eACA,WACA,UACA,oBA0DAP,SAAU,CACR,CACEJ,MAAO,OACPF,UAAW,GAEb,CACEiB,cAAe,UACfJ,SAAU,CACR,eAAgB,WAElBR,IAAK,IACLC,SAAU,CACRH,EACA,CACEC,UAAW,cACXL,SAAU,CACR,CACEG,MAAO,IACPG,IAAK,KAEP,CACEH,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,KAGf,CACEE,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,SAOvBG,EACAL,IAIa,CACfM,UAAW,SAKXF,MAAO,eAGQ,CACfE,UAAW,WACXa,cAAe,OACfZ,IAAK,IACLO,QAAS,YACTN,SAAU,CACRT,EAAKqB,sBACL,CACEd,UAAW,SACXF,MAAO,MACPG,IAAK,MACLC,SAAU,CACRL,EACAE,EACAI","sources":["webpack:///text/node_modules/highlight.js/lib/languages/autoit.js"],"sourcesContent":["/*\nLanguage: AutoIt\nAuthor: Manh Tuan \nDescription: AutoIt language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autoit(hljs) {\n const KEYWORDS = 'ByRef Case Const ContinueCase ContinueLoop ' +\n 'Dim Do Else ElseIf EndFunc EndIf EndSelect ' +\n 'EndSwitch EndWith Enum Exit ExitLoop For Func ' +\n 'Global If In Local Next ReDim Return Select Static ' +\n 'Step Switch Then To Until Volatile WEnd While With';\n\n const DIRECTIVES = [\n \"EndRegion\",\n \"forcedef\",\n \"forceref\",\n \"ignorefunc\",\n \"include\",\n \"include-once\",\n \"NoTrayIcon\",\n \"OnAutoItStartRegister\",\n \"pragma\",\n \"Region\",\n \"RequireAdmin\",\n \"Tidy_Off\",\n \"Tidy_On\",\n \"Tidy_Parameters\"\n ];\n \n const LITERAL = 'True False And Null Not Or Default';\n\n const BUILT_IN\n = 'Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive';\n\n const COMMENT = {\n variants: [\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n hljs.COMMENT('#cs', '#ce'),\n hljs.COMMENT('#comments-start', '#comments-end')\n ]\n };\n\n const VARIABLE = {\n begin: '\\\\$[A-z0-9_]+'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n };\n\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': DIRECTIVES\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n keywords: {\n 'meta-keyword': 'include'\n },\n end: '$',\n contains: [\n STRING,\n {\n className: 'meta-string',\n variants: [\n {\n begin: '<',\n end: '>'\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n }\n ]\n },\n STRING,\n COMMENT\n ]\n };\n\n const CONSTANT = {\n className: 'symbol',\n // begin: '@',\n // end: '$',\n // keywords: 'AppDataCommonDir AppDataDir AutoItExe AutoItPID AutoItVersion AutoItX64 COM_EventObj CommonFilesDir Compiled ComputerName ComSpec CPUArch CR CRLF DesktopCommonDir DesktopDepth DesktopDir DesktopHeight DesktopRefresh DesktopWidth DocumentsCommonDir error exitCode exitMethod extended FavoritesCommonDir FavoritesDir GUI_CtrlHandle GUI_CtrlId GUI_DragFile GUI_DragId GUI_DropId GUI_WinHandle HomeDrive HomePath HomeShare HotKeyPressed HOUR IPAddress1 IPAddress2 IPAddress3 IPAddress4 KBLayout LF LocalAppDataDir LogonDNSDomain LogonDomain LogonServer MDAY MIN MON MSEC MUILang MyDocumentsDir NumParams OSArch OSBuild OSLang OSServicePack OSType OSVersion ProgramFilesDir ProgramsCommonDir ProgramsDir ScriptDir ScriptFullPath ScriptLineNumber ScriptName SEC StartMenuCommonDir StartMenuDir StartupCommonDir StartupDir SW_DISABLE SW_ENABLE SW_HIDE SW_LOCK SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL SW_UNLOCK SystemDir TAB TempDir TRAY_ID TrayIconFlashing TrayIconVisible UserName UserProfileDir WDAY WindowsDir WorkingDir YDAY YEAR',\n // relevance: 5\n begin: '@[A-z0-9_]+'\n };\n\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'Func',\n end: '$',\n illegal: '\\\\$|\\\\[|%',\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n contains: [\n VARIABLE,\n STRING,\n NUMBER\n ]\n }\n ]\n };\n\n return {\n name: 'AutoIt',\n case_insensitive: true,\n illegal: /\\/\\*/,\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_IN,\n literal: LITERAL\n },\n contains: [\n COMMENT,\n VARIABLE,\n STRING,\n NUMBER,\n PREPROCESSOR,\n CONSTANT,\n FUNCTION\n ]\n };\n}\n\nmodule.exports = autoit;\n"],"names":["module","exports","hljs","COMMENT","variants","relevance","VARIABLE","begin","STRING","className","end","contains","NUMBER","BINARY_NUMBER_MODE","C_NUMBER_MODE","name","case_insensitive","illegal","keywords","keyword","built_in","literal","beginKeywords","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/autoit.js?v=b087d9f3df127b6f31ef","mappings":"8GAsLAA,EAAOC,QA9KP,SAAgBC,GACd,MA4BMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,IAAK,IAAK,CACrBE,UAAW,IAEbH,EAAKC,QAAQ,MAAO,OACpBD,EAAKC,QAAQ,kBAAmB,mBAI9BG,EAAW,CACfC,MAAO,iBAGHC,EAAS,CACbC,UAAW,SACXL,SAAU,CACR,CACEG,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,KAGf,CACEE,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,OAMbO,EAAS,CACbR,SAAU,CACRF,EAAKW,mBACLX,EAAKY,gBAqFT,MAAO,CACLC,KAAM,SACNC,kBAAkB,EAClBC,QAAS,OACTC,SAAU,CACRC,QA7Ja,4OA8JbC,SApIM,86JAqINC,QAxIY,sCA0IdV,SAAU,CACRR,EACAG,EACAE,EACAI,EA9FiB,CACnBH,UAAW,OACXF,MAAO,IACPG,IAAK,IACLQ,SAAU,CACR,eAtEe,CACjB,YACA,WACA,WACA,aACA,UACA,eACA,aACA,wBACA,SACA,SACA,eACA,WACA,UACA,oBA0DAP,SAAU,CACR,CACEJ,MAAO,OACPF,UAAW,GAEb,CACEiB,cAAe,UACfJ,SAAU,CACR,eAAgB,WAElBR,IAAK,IACLC,SAAU,CACRH,EACA,CACEC,UAAW,cACXL,SAAU,CACR,CACEG,MAAO,IACPG,IAAK,KAEP,CACEH,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,KAGf,CACEE,MAAO,IACPG,IAAK,IACLC,SAAU,CAAC,CACTJ,MAAO,KACPF,UAAW,SAOvBG,EACAL,IAIa,CACfM,UAAW,SAKXF,MAAO,eAGQ,CACfE,UAAW,WACXa,cAAe,OACfZ,IAAK,IACLO,QAAS,YACTN,SAAU,CACRT,EAAKqB,sBACL,CACEd,UAAW,SACXF,MAAO,MACPG,IAAK,MACLC,SAAU,CACRL,EACAE,EACAI,OAyBV,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/autoit.js"],"sourcesContent":["/*\nLanguage: AutoIt\nAuthor: Manh Tuan \nDescription: AutoIt language definition\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction autoit(hljs) {\n const KEYWORDS = 'ByRef Case Const ContinueCase ContinueLoop ' +\n 'Dim Do Else ElseIf EndFunc EndIf EndSelect ' +\n 'EndSwitch EndWith Enum Exit ExitLoop For Func ' +\n 'Global If In Local Next ReDim Return Select Static ' +\n 'Step Switch Then To Until Volatile WEnd While With';\n\n const DIRECTIVES = [\n \"EndRegion\",\n \"forcedef\",\n \"forceref\",\n \"ignorefunc\",\n \"include\",\n \"include-once\",\n \"NoTrayIcon\",\n \"OnAutoItStartRegister\",\n \"pragma\",\n \"Region\",\n \"RequireAdmin\",\n \"Tidy_Off\",\n \"Tidy_On\",\n \"Tidy_Parameters\"\n ];\n \n const LITERAL = 'True False And Null Not Or Default';\n\n const BUILT_IN\n = 'Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive';\n\n const COMMENT = {\n variants: [\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n hljs.COMMENT('#cs', '#ce'),\n hljs.COMMENT('#comments-start', '#comments-end')\n ]\n };\n\n const VARIABLE = {\n begin: '\\\\$[A-z0-9_]+'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n };\n\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': DIRECTIVES\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n keywords: {\n 'meta-keyword': 'include'\n },\n end: '$',\n contains: [\n STRING,\n {\n className: 'meta-string',\n variants: [\n {\n begin: '<',\n end: '>'\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [{\n begin: /\"\"/,\n relevance: 0\n }]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/,\n relevance: 0\n }]\n }\n ]\n }\n ]\n },\n STRING,\n COMMENT\n ]\n };\n\n const CONSTANT = {\n className: 'symbol',\n // begin: '@',\n // end: '$',\n // keywords: 'AppDataCommonDir AppDataDir AutoItExe AutoItPID AutoItVersion AutoItX64 COM_EventObj CommonFilesDir Compiled ComputerName ComSpec CPUArch CR CRLF DesktopCommonDir DesktopDepth DesktopDir DesktopHeight DesktopRefresh DesktopWidth DocumentsCommonDir error exitCode exitMethod extended FavoritesCommonDir FavoritesDir GUI_CtrlHandle GUI_CtrlId GUI_DragFile GUI_DragId GUI_DropId GUI_WinHandle HomeDrive HomePath HomeShare HotKeyPressed HOUR IPAddress1 IPAddress2 IPAddress3 IPAddress4 KBLayout LF LocalAppDataDir LogonDNSDomain LogonDomain LogonServer MDAY MIN MON MSEC MUILang MyDocumentsDir NumParams OSArch OSBuild OSLang OSServicePack OSType OSVersion ProgramFilesDir ProgramsCommonDir ProgramsDir ScriptDir ScriptFullPath ScriptLineNumber ScriptName SEC StartMenuCommonDir StartMenuDir StartupCommonDir StartupDir SW_DISABLE SW_ENABLE SW_HIDE SW_LOCK SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL SW_UNLOCK SystemDir TAB TempDir TRAY_ID TrayIconFlashing TrayIconVisible UserName UserProfileDir WDAY WindowsDir WorkingDir YDAY YEAR',\n // relevance: 5\n begin: '@[A-z0-9_]+'\n };\n\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'Func',\n end: '$',\n illegal: '\\\\$|\\\\[|%',\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n contains: [\n VARIABLE,\n STRING,\n NUMBER\n ]\n }\n ]\n };\n\n return {\n name: 'AutoIt',\n case_insensitive: true,\n illegal: /\\/\\*/,\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_IN,\n literal: LITERAL\n },\n contains: [\n COMMENT,\n VARIABLE,\n STRING,\n NUMBER,\n PREPROCESSOR,\n CONSTANT,\n FUNCTION\n ]\n };\n}\n\nmodule.exports = autoit;\n"],"names":["module","exports","hljs","COMMENT","variants","relevance","VARIABLE","begin","STRING","className","end","contains","NUMBER","BINARY_NUMBER_MODE","C_NUMBER_MODE","name","case_insensitive","illegal","keywords","keyword","built_in","literal","beginKeywords","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/avrasm.js.map b/js/highlight/avrasm.js.map
index fb15e966e41..b5aa9270984 100644
--- a/js/highlight/avrasm.js.map
+++ b/js/highlight/avrasm.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/avrasm.js?v=7351adc4c5a2b520e145","mappings":"8GA+EAA,EAAOC,QAvEP,SAAgBC,GACd,MAAO,CACLC,KAAM,eACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAU,OAASJ,EAAKK,SACxBC,QAEE,mgBAOFC,SAEE,6xBAWFC,KACE,sHAGJC,SAAU,CACRT,EAAKU,qBACLV,EAAKW,QACH,IACA,IACA,CACEC,UAAW,IAGfZ,EAAKa,cACLb,EAAKc,mBACL,CACEC,UAAW,SACXC,MAAO,iCAEThB,EAAKiB,kBACL,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,WACLC,QAAS,eAEX,CACEJ,UAAW,SACXC,MAAO,qBAET,CACED,UAAW,OACXC,MAAO,IACPE,IAAK,KAEP,CACEH,UAAW,QACXC,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/avrasm.js"],"sourcesContent":["/*\nLanguage: AVR Assembly\nAuthor: Vladimir Ermakov \nCategory: assembler\nWebsite: https://www.microchip.com/webdoc/avrassembler/avrassembler.wb_instruction_list.html\n*/\n\n/** @type LanguageFn */\nfunction avrasm(hljs) {\n return {\n name: 'AVR Assembly',\n case_insensitive: true,\n keywords: {\n $pattern: '\\\\.?' + hljs.IDENT_RE,\n keyword:\n /* mnemonic */\n 'adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs ' +\n 'brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr ' +\n 'clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ' +\n 'fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ' +\n 'muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ' +\n 'sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub ' +\n 'subi swap tst wdr',\n built_in:\n /* general purpose registers */\n 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ' +\n 'r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ' +\n /* IO Registers (ATMega128) */\n 'ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ' +\n 'tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ' +\n 'ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ' +\n 'ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ' +\n 'tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ' +\n 'ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ' +\n 'porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ' +\n 'ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf',\n meta:\n '.byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list ' +\n '.listmac .macro .nolist .org .set'\n },\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.COMMENT(\n ';',\n '$',\n {\n relevance: 0\n }\n ),\n hljs.C_NUMBER_MODE, // 0x..., decimal, float\n hljs.BINARY_NUMBER_MODE, // 0b...\n {\n className: 'number',\n begin: '\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)' // $..., 0o...\n },\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '[^\\\\\\\\]\\'',\n illegal: '[^\\\\\\\\][^\\']'\n },\n {\n className: 'symbol',\n begin: '^[A-Za-z0-9_.$]+:'\n },\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n { // substitution within a macro\n className: 'subst',\n begin: '@[0-9]+'\n }\n ]\n };\n}\n\nmodule.exports = avrasm;\n"],"names":["module","exports","hljs","name","case_insensitive","keywords","$pattern","IDENT_RE","keyword","built_in","meta","contains","C_BLOCK_COMMENT_MODE","COMMENT","relevance","C_NUMBER_MODE","BINARY_NUMBER_MODE","className","begin","QUOTE_STRING_MODE","end","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/avrasm.js?v=7351adc4c5a2b520e145","mappings":"8GA+EAA,EAAOC,QAvEP,SAAgBC,GACd,MAAO,CACLC,KAAM,eACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAU,OAASJ,EAAKK,SACxBC,QAEE,mgBAOFC,SAEE,6xBAWFC,KACE,sHAGJC,SAAU,CACRT,EAAKU,qBACLV,EAAKW,QACH,IACA,IACA,CACEC,UAAW,IAGfZ,EAAKa,cACLb,EAAKc,mBACL,CACEC,UAAW,SACXC,MAAO,iCAEThB,EAAKiB,kBACL,CACEF,UAAW,SACXC,MAAO,IACPE,IAAK,WACLC,QAAS,eAEX,CACEJ,UAAW,SACXC,MAAO,qBAET,CACED,UAAW,OACXC,MAAO,IACPE,IAAK,KAEP,CACEH,UAAW,QACXC,MAAO,YAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/avrasm.js"],"sourcesContent":["/*\nLanguage: AVR Assembly\nAuthor: Vladimir Ermakov \nCategory: assembler\nWebsite: https://www.microchip.com/webdoc/avrassembler/avrassembler.wb_instruction_list.html\n*/\n\n/** @type LanguageFn */\nfunction avrasm(hljs) {\n return {\n name: 'AVR Assembly',\n case_insensitive: true,\n keywords: {\n $pattern: '\\\\.?' + hljs.IDENT_RE,\n keyword:\n /* mnemonic */\n 'adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs ' +\n 'brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr ' +\n 'clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ' +\n 'fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ' +\n 'muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ' +\n 'sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub ' +\n 'subi swap tst wdr',\n built_in:\n /* general purpose registers */\n 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ' +\n 'r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ' +\n /* IO Registers (ATMega128) */\n 'ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ' +\n 'tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ' +\n 'ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ' +\n 'ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ' +\n 'tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ' +\n 'ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ' +\n 'porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ' +\n 'ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf',\n meta:\n '.byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list ' +\n '.listmac .macro .nolist .org .set'\n },\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.COMMENT(\n ';',\n '$',\n {\n relevance: 0\n }\n ),\n hljs.C_NUMBER_MODE, // 0x..., decimal, float\n hljs.BINARY_NUMBER_MODE, // 0b...\n {\n className: 'number',\n begin: '\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)' // $..., 0o...\n },\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '[^\\\\\\\\]\\'',\n illegal: '[^\\\\\\\\][^\\']'\n },\n {\n className: 'symbol',\n begin: '^[A-Za-z0-9_.$]+:'\n },\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n { // substitution within a macro\n className: 'subst',\n begin: '@[0-9]+'\n }\n ]\n };\n}\n\nmodule.exports = avrasm;\n"],"names":["module","exports","hljs","name","case_insensitive","keywords","$pattern","IDENT_RE","keyword","built_in","meta","contains","C_BLOCK_COMMENT_MODE","COMMENT","relevance","C_NUMBER_MODE","BINARY_NUMBER_MODE","className","begin","QUOTE_STRING_MODE","end","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/awk.js.map b/js/highlight/awk.js.map
index 68dfbe49c55..0504d9fcd60 100644
--- a/js/highlight/awk.js.map
+++ b/js/highlight/awk.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/awk.js?v=9280cedb1849fc2503f6","mappings":"2GAwEAA,EAAOC,QAhEP,SAAaC,GAiDX,MAAO,CACLC,KAAM,MACNC,SAAU,CACRC,QAxCa,+FA0CfC,SAAU,CArDK,CACfC,UAAW,WACXC,SAAU,CACR,CACEC,MAAO,sBAET,CACEA,MAAO,iBAKE,CACbF,UAAW,SACXD,SAAU,CAACJ,EAAKQ,kBAChBF,SAAU,CACR,CACEC,MAAO,cACPE,IAAK,MACLC,UAAW,IAEb,CACEH,MAAO,cACPE,IAAK,MACLC,UAAW,IAEb,CACEH,MAAO,YACPE,IAAK,IACLC,UAAW,IAEb,CACEH,MAAO,YACPE,IAAK,IACLC,UAAW,IAEb,CACEH,MAAO,UACPE,IAAK,KAEP,CACEF,MAAO,UACPE,IAAK,KAEPT,EAAKW,iBACLX,EAAKY,oBAWLZ,EAAKa,YACLb,EAAKc,kBACLd,EAAKe","sources":["webpack:///text/node_modules/highlight.js/lib/languages/awk.js"],"sourcesContent":["/*\nLanguage: Awk\nAuthor: Matthew Daly \nWebsite: https://www.gnu.org/software/gawk/manual/gawk.html\nDescription: language definition for Awk scripts\n*/\n\n/** @type LanguageFn */\nfunction awk(hljs) {\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: /\\$[\\w\\d#@][\\w\\d_]*/\n },\n {\n begin: /\\$\\{(.*?)\\}/\n }\n ]\n };\n const KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10';\n const STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE],\n variants: [\n {\n begin: /(u|b)?r?'''/,\n end: /'''/,\n relevance: 10\n },\n {\n begin: /(u|b)?r?\"\"\"/,\n end: /\"\"\"/,\n relevance: 10\n },\n {\n begin: /(u|r|ur)'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /(u|r|ur)\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /(b|br)'/,\n end: /'/\n },\n {\n begin: /(b|br)\"/,\n end: /\"/\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n return {\n name: 'Awk',\n keywords: {\n keyword: KEYWORDS\n },\n contains: [\n VARIABLE,\n STRING,\n hljs.REGEXP_MODE,\n hljs.HASH_COMMENT_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = awk;\n"],"names":["module","exports","hljs","name","keywords","keyword","contains","className","variants","begin","BACKSLASH_ESCAPE","end","relevance","APOS_STRING_MODE","QUOTE_STRING_MODE","REGEXP_MODE","HASH_COMMENT_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/awk.js?v=9280cedb1849fc2503f6","mappings":"2GAwEAA,EAAOC,QAhEP,SAAaC,GAiDX,MAAO,CACLC,KAAM,MACNC,SAAU,CACRC,QAxCa,+FA0CfC,SAAU,CArDK,CACfC,UAAW,WACXC,SAAU,CACR,CACEC,MAAO,sBAET,CACEA,MAAO,iBAKE,CACbF,UAAW,SACXD,SAAU,CAACJ,EAAKQ,kBAChBF,SAAU,CACR,CACEC,MAAO,cACPE,IAAK,MACLC,UAAW,IAEb,CACEH,MAAO,cACPE,IAAK,MACLC,UAAW,IAEb,CACEH,MAAO,YACPE,IAAK,IACLC,UAAW,IAEb,CACEH,MAAO,YACPE,IAAK,IACLC,UAAW,IAEb,CACEH,MAAO,UACPE,IAAK,KAEP,CACEF,MAAO,UACPE,IAAK,KAEPT,EAAKW,iBACLX,EAAKY,oBAWLZ,EAAKa,YACLb,EAAKc,kBACLd,EAAKe,aAGX,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/awk.js"],"sourcesContent":["/*\nLanguage: Awk\nAuthor: Matthew Daly \nWebsite: https://www.gnu.org/software/gawk/manual/gawk.html\nDescription: language definition for Awk scripts\n*/\n\n/** @type LanguageFn */\nfunction awk(hljs) {\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: /\\$[\\w\\d#@][\\w\\d_]*/\n },\n {\n begin: /\\$\\{(.*?)\\}/\n }\n ]\n };\n const KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10';\n const STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE],\n variants: [\n {\n begin: /(u|b)?r?'''/,\n end: /'''/,\n relevance: 10\n },\n {\n begin: /(u|b)?r?\"\"\"/,\n end: /\"\"\"/,\n relevance: 10\n },\n {\n begin: /(u|r|ur)'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /(u|r|ur)\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /(b|br)'/,\n end: /'/\n },\n {\n begin: /(b|br)\"/,\n end: /\"/\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n return {\n name: 'Awk',\n keywords: {\n keyword: KEYWORDS\n },\n contains: [\n VARIABLE,\n STRING,\n hljs.REGEXP_MODE,\n hljs.HASH_COMMENT_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = awk;\n"],"names":["module","exports","hljs","name","keywords","keyword","contains","className","variants","begin","BACKSLASH_ESCAPE","end","relevance","APOS_STRING_MODE","QUOTE_STRING_MODE","REGEXP_MODE","HASH_COMMENT_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/axapta.js.map b/js/highlight/axapta.js.map
index f6f32d6ee54..092536929c6 100644
--- a/js/highlight/axapta.js.map
+++ b/js/highlight/axapta.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/axapta.js?v=5c94f8e339425d53c56c","mappings":"8GAkLAA,EAAOC,QAzKP,SAAgBC,GAyId,MAAO,CACLC,KAAM,MACNC,QAAS,CAAC,OACVC,SATe,CACfC,QAxGsB,CACtB,WACA,KACA,MACA,MACA,QACA,aACA,KACA,QACA,OACA,QACA,gBACA,QACA,SACA,SACA,SACA,QACA,WACA,QACA,eACA,WACA,cACA,OACA,UACA,MACA,KACA,OACA,OACA,eACA,SACA,UACA,QACA,UACA,YACA,YACA,aACA,cACA,eACA,gBACA,QACA,MACA,gBACA,kBACA,oBACA,mBACA,YACA,OACA,eACA,QACA,OACA,KACA,aACA,KACA,QACA,mBACA,YACA,WACA,KACA,OACA,OACA,QACA,QACA,MACA,YACA,MACA,OACA,UACA,YACA,iBACA,QACA,QACA,kBACA,QACA,UACA,YACA,SACA,WACA,iBACA,QACA,SACA,UACA,SACA,SACA,UACA,SACA,MACA,QACA,SACA,OACA,QACA,MACA,WACA,WACA,YACA,YACA,mBACA,QACA,iBACA,OACA,QACA,SAKAC,SApIwB,CACxB,UACA,UACA,OACA,OACA,YACA,OACA,SACA,OACA,OACA,MACA,QACA,OACA,OACA,QACA,MACA,cACA,OAoHAC,QAjHuB,CACvB,UACA,QACA,OACA,SAoHAC,SAAU,CACRP,EAAKQ,oBACLR,EAAKS,qBACLT,EAAKU,iBACLV,EAAKW,kBACLX,EAAKY,cACL,CACEC,UAAW,OACXC,MAAO,IACPC,IAAK,KAEP,CACEF,UAAW,QACXG,cAAe,kBACfD,IAAK,KACLE,YAAY,EACZC,QAAS,IACTX,SAAU,CACR,CACES,cAAe,sBAEjBhB,EAAKmB","sources":["webpack:///text/node_modules/highlight.js/lib/languages/axapta.js"],"sourcesContent":["/*\nLanguage: Microsoft X++\nDescription: X++ is a language used in Microsoft Dynamics 365, Dynamics AX, and Axapta.\nAuthor: Dmitri Roudakov \nWebsite: https://dynamics.microsoft.com/en-us/ax-overview/\nCategory: enterprise\n*/\n\n/** @type LanguageFn */\nfunction axapta(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'anytype',\n 'boolean',\n 'byte',\n 'char',\n 'container',\n 'date',\n 'double',\n 'enum',\n 'guid',\n 'int',\n 'int64',\n 'long',\n 'real',\n 'short',\n 'str',\n 'utcdatetime',\n 'var'\n ];\n\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'asc',\n 'avg',\n 'break',\n 'breakpoint',\n 'by',\n 'byref',\n 'case',\n 'catch',\n 'changecompany',\n 'class',\n 'client',\n 'client',\n 'common',\n 'const',\n 'continue',\n 'count',\n 'crosscompany',\n 'delegate',\n 'delete_from',\n 'desc',\n 'display',\n 'div',\n 'do',\n 'edit',\n 'else',\n 'eventhandler',\n 'exists',\n 'extends',\n 'final',\n 'finally',\n 'firstfast',\n 'firstonly',\n 'firstonly1',\n 'firstonly10',\n 'firstonly100',\n 'firstonly1000',\n 'flush',\n 'for',\n 'forceliterals',\n 'forcenestedloop',\n 'forceplaceholders',\n 'forceselectorder',\n 'forupdate',\n 'from',\n 'generateonly',\n 'group',\n 'hint',\n 'if',\n 'implements',\n 'in',\n 'index',\n 'insert_recordset',\n 'interface',\n 'internal',\n 'is',\n 'join',\n 'like',\n 'maxof',\n 'minof',\n 'mod',\n 'namespace',\n 'new',\n 'next',\n 'nofetch',\n 'notexists',\n 'optimisticlock',\n 'order',\n 'outer',\n 'pessimisticlock',\n 'print',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'repeatableread',\n 'retry',\n 'return',\n 'reverse',\n 'select',\n 'server',\n 'setting',\n 'static',\n 'sum',\n 'super',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'ttsabort',\n 'ttsbegin',\n 'ttscommit',\n 'unchecked',\n 'update_recordset',\n 'using',\n 'validtimestate',\n 'void',\n 'where',\n 'while'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS,\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n\n return {\n name: 'X++',\n aliases: ['x++'],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n illegal: ':',\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n }\n ]\n };\n}\n\nmodule.exports = axapta;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","C_NUMBER_MODE","className","begin","end","beginKeywords","excludeEnd","illegal","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/axapta.js?v=5c94f8e339425d53c56c","mappings":"8GAkLAA,EAAOC,QAzKP,SAAgBC,GAyId,MAAO,CACLC,KAAM,MACNC,QAAS,CAAC,OACVC,SATe,CACfC,QAxGsB,CACtB,WACA,KACA,MACA,MACA,QACA,aACA,KACA,QACA,OACA,QACA,gBACA,QACA,SACA,SACA,SACA,QACA,WACA,QACA,eACA,WACA,cACA,OACA,UACA,MACA,KACA,OACA,OACA,eACA,SACA,UACA,QACA,UACA,YACA,YACA,aACA,cACA,eACA,gBACA,QACA,MACA,gBACA,kBACA,oBACA,mBACA,YACA,OACA,eACA,QACA,OACA,KACA,aACA,KACA,QACA,mBACA,YACA,WACA,KACA,OACA,OACA,QACA,QACA,MACA,YACA,MACA,OACA,UACA,YACA,iBACA,QACA,QACA,kBACA,QACA,UACA,YACA,SACA,WACA,iBACA,QACA,SACA,UACA,SACA,SACA,UACA,SACA,MACA,QACA,SACA,OACA,QACA,MACA,WACA,WACA,YACA,YACA,mBACA,QACA,iBACA,OACA,QACA,SAKAC,SApIwB,CACxB,UACA,UACA,OACA,OACA,YACA,OACA,SACA,OACA,OACA,MACA,QACA,OACA,OACA,QACA,MACA,cACA,OAoHAC,QAjHuB,CACvB,UACA,QACA,OACA,SAoHAC,SAAU,CACRP,EAAKQ,oBACLR,EAAKS,qBACLT,EAAKU,iBACLV,EAAKW,kBACLX,EAAKY,cACL,CACEC,UAAW,OACXC,MAAO,IACPC,IAAK,KAEP,CACEF,UAAW,QACXG,cAAe,kBACfD,IAAK,KACLE,YAAY,EACZC,QAAS,IACTX,SAAU,CACR,CACES,cAAe,sBAEjBhB,EAAKmB,yBAKf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/axapta.js"],"sourcesContent":["/*\nLanguage: Microsoft X++\nDescription: X++ is a language used in Microsoft Dynamics 365, Dynamics AX, and Axapta.\nAuthor: Dmitri Roudakov \nWebsite: https://dynamics.microsoft.com/en-us/ax-overview/\nCategory: enterprise\n*/\n\n/** @type LanguageFn */\nfunction axapta(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'anytype',\n 'boolean',\n 'byte',\n 'char',\n 'container',\n 'date',\n 'double',\n 'enum',\n 'guid',\n 'int',\n 'int64',\n 'long',\n 'real',\n 'short',\n 'str',\n 'utcdatetime',\n 'var'\n ];\n\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'asc',\n 'avg',\n 'break',\n 'breakpoint',\n 'by',\n 'byref',\n 'case',\n 'catch',\n 'changecompany',\n 'class',\n 'client',\n 'client',\n 'common',\n 'const',\n 'continue',\n 'count',\n 'crosscompany',\n 'delegate',\n 'delete_from',\n 'desc',\n 'display',\n 'div',\n 'do',\n 'edit',\n 'else',\n 'eventhandler',\n 'exists',\n 'extends',\n 'final',\n 'finally',\n 'firstfast',\n 'firstonly',\n 'firstonly1',\n 'firstonly10',\n 'firstonly100',\n 'firstonly1000',\n 'flush',\n 'for',\n 'forceliterals',\n 'forcenestedloop',\n 'forceplaceholders',\n 'forceselectorder',\n 'forupdate',\n 'from',\n 'generateonly',\n 'group',\n 'hint',\n 'if',\n 'implements',\n 'in',\n 'index',\n 'insert_recordset',\n 'interface',\n 'internal',\n 'is',\n 'join',\n 'like',\n 'maxof',\n 'minof',\n 'mod',\n 'namespace',\n 'new',\n 'next',\n 'nofetch',\n 'notexists',\n 'optimisticlock',\n 'order',\n 'outer',\n 'pessimisticlock',\n 'print',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'repeatableread',\n 'retry',\n 'return',\n 'reverse',\n 'select',\n 'server',\n 'setting',\n 'static',\n 'sum',\n 'super',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'ttsabort',\n 'ttsbegin',\n 'ttscommit',\n 'unchecked',\n 'update_recordset',\n 'using',\n 'validtimestate',\n 'void',\n 'where',\n 'while'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS,\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n\n return {\n name: 'X++',\n aliases: ['x++'],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n illegal: ':',\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n }\n ]\n };\n}\n\nmodule.exports = axapta;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","C_NUMBER_MODE","className","begin","end","beginKeywords","excludeEnd","illegal","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/bash.js.map b/js/highlight/bash.js.map
index bfc0dbb3a34..4e1f8930c28 100644
--- a/js/highlight/bash.js.map
+++ b/js/highlight/bash.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/bash.js?v=3e08b678c76e7afcb673","mappings":"4GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IAmJjDC,EAAOC,QAtIP,SAAcC,GACZ,MAAMC,EAAM,GACNC,EAAa,CACjBC,MAAO,OACPC,IAAI,KACJC,SAAU,CACR,OACA,CACEF,MAAO,KACPE,SAAU,CAAEJ,MAIlBK,OAAOC,OAAON,EAAI,CAChBO,UAAW,WACXC,SAAU,CACR,CAACN,MAAOZ,EAAO,qBAGb,wBACFW,KAIJ,MAAMQ,EAAQ,CACZF,UAAW,QACXL,MAAO,OAAQC,IAAK,KACpBC,SAAU,CAACL,EAAKW,mBAEZC,EAAW,CACfT,MAAO,iBACPU,OAAQ,CACNR,SAAU,CACRL,EAAKc,kBAAkB,CACrBX,MAAO,QACPC,IAAK,QACLI,UAAW,cAKbO,EAAe,CACnBP,UAAW,SACXL,MAAO,IAAKC,IAAK,IACjBC,SAAU,CACRL,EAAKW,iBACLV,EACAS,IAGJA,EAAML,SAASW,KAAKD,GACpB,MASME,EAAa,CACjBd,MAAO,SACPC,IAAK,OACLC,SAAU,CACR,CAAEF,MAAO,gBAAiBK,UAAW,UACrCR,EAAKkB,YACLjB,IAcEkB,EAAgBnB,EAAKoB,QAAQ,CACjCC,OAAQ,IAZa,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,QAG2BxB,KAAK,QAChCyB,UAAW,KAEPC,EAAW,CACff,UAAW,WACXL,MAAO,4BACPqB,aAAa,EACbnB,SAAU,CAACL,EAAKyB,QAAQzB,EAAK0B,WAAY,CAACvB,MAAO,gBACjDmB,UAAW,GAGb,MAAO,CACLK,KAAM,OACNC,QAAS,CAAC,KAAM,OAChBC,SAAU,CACRC,SAAU,gBACVC,QACE,+DACFC,QACE,aACFC,SAGE,6uBAeJ5B,SAAU,CACRc,EACAnB,EAAKoB,UACLG,EACAN,EACAjB,EAAKkC,kBACLtB,EACAG,EA3EkB,CACpBP,UAAW,GACXL,MAAO,OAGW,CAClBK,UAAW,SACXL,MAAO,IAAKC,IAAK,KAuEfH","sources":["webpack:///text/node_modules/highlight.js/lib/languages/bash.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end:/\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR,{\n className: 'variable',\n variants: [\n {begin: concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/, end: /\\)/,\n contains: [hljs.BACKSLASH_ESCAPE]\n };\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: {\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ]\n }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/, end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n className: '',\n begin: /\\\\\"/\n\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/, end: /'/\n };\n const ARITHMETIC = {\n begin: /\\$\\(\\(/,\n end: /\\)\\)/,\n contains: [\n { begin: /\\d+#[0-9a-f]+/, className: \"number\" },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\\w[\\w\\d_]*/})],\n relevance: 0\n };\n\n return {\n name: 'Bash',\n aliases: ['sh', 'zsh'],\n keywords: {\n $pattern: /\\b[a-z._-]+\\b/,\n keyword:\n 'if then else elif fi for while in do done case esac function',\n literal:\n 'true false',\n built_in:\n // Shell built-ins\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n 'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' +\n 'trap umask unset ' +\n // Bash built-ins\n 'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' +\n 'read readarray source type typeset ulimit unalias ' +\n // Shell modifiers\n 'set shopt ' +\n // Zsh built-ins\n 'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' +\n 'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' +\n 'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' +\n 'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' +\n 'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' +\n 'zpty zregexparse zsocket zstyle ztcp'\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n hljs.HASH_COMMENT_MODE,\n HERE_DOC,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n VAR\n ]\n };\n}\n\nmodule.exports = bash;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","VAR","BRACED_VAR","begin","end","contains","Object","assign","className","variants","SUBST","BACKSLASH_ESCAPE","HERE_DOC","starts","END_SAME_AS_BEGIN","QUOTE_STRING","push","ARITHMETIC","NUMBER_MODE","KNOWN_SHEBANG","SHEBANG","binary","relevance","FUNCTION","returnBegin","inherit","TITLE_MODE","name","aliases","keywords","$pattern","keyword","literal","built_in","HASH_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/bash.js?v=3e08b678c76e7afcb673","mappings":"4GAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,CAY0B,IAAEC,KAAK,GAEjD,CAiJAC,EAAOC,QAtIP,SAAcC,GACZ,MAAMC,EAAM,CAAC,EACPC,EAAa,CACjBC,MAAO,OACPC,IAAI,KACJC,SAAU,CACR,OACA,CACEF,MAAO,KACPE,SAAU,CAAEJ,MAIlBK,OAAOC,OAAON,EAAI,CAChBO,UAAW,WACXC,SAAU,CACR,CAACN,MAAOZ,EAAO,qBAGb,wBACFW,KAIJ,MAAMQ,EAAQ,CACZF,UAAW,QACXL,MAAO,OAAQC,IAAK,KACpBC,SAAU,CAACL,EAAKW,mBAEZC,EAAW,CACfT,MAAO,iBACPU,OAAQ,CACNR,SAAU,CACRL,EAAKc,kBAAkB,CACrBX,MAAO,QACPC,IAAK,QACLI,UAAW,cAKbO,EAAe,CACnBP,UAAW,SACXL,MAAO,IAAKC,IAAK,IACjBC,SAAU,CACRL,EAAKW,iBACLV,EACAS,IAGJA,EAAML,SAASW,KAAKD,GACpB,MASME,EAAa,CACjBd,MAAO,SACPC,IAAK,OACLC,SAAU,CACR,CAAEF,MAAO,gBAAiBK,UAAW,UACrCR,EAAKkB,YACLjB,IAcEkB,EAAgBnB,EAAKoB,QAAQ,CACjCC,OAAQ,IAZa,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,QAG2BxB,KAAK,QAChCyB,UAAW,KAEPC,EAAW,CACff,UAAW,WACXL,MAAO,4BACPqB,aAAa,EACbnB,SAAU,CAACL,EAAKyB,QAAQzB,EAAK0B,WAAY,CAACvB,MAAO,gBACjDmB,UAAW,GAGb,MAAO,CACLK,KAAM,OACNC,QAAS,CAAC,KAAM,OAChBC,SAAU,CACRC,SAAU,gBACVC,QACE,+DACFC,QACE,aACFC,SAGE,6uBAeJ5B,SAAU,CACRc,EACAnB,EAAKoB,UACLG,EACAN,EACAjB,EAAKkC,kBACLtB,EACAG,EA3EkB,CACpBP,UAAW,GACXL,MAAO,OAGW,CAClBK,UAAW,SACXL,MAAO,IAAKC,IAAK,KAuEfH,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/bash.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end:/\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR,{\n className: 'variable',\n variants: [\n {begin: concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/, end: /\\)/,\n contains: [hljs.BACKSLASH_ESCAPE]\n };\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: {\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ]\n }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/, end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n className: '',\n begin: /\\\\\"/\n\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/, end: /'/\n };\n const ARITHMETIC = {\n begin: /\\$\\(\\(/,\n end: /\\)\\)/,\n contains: [\n { begin: /\\d+#[0-9a-f]+/, className: \"number\" },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\\w[\\w\\d_]*/})],\n relevance: 0\n };\n\n return {\n name: 'Bash',\n aliases: ['sh', 'zsh'],\n keywords: {\n $pattern: /\\b[a-z._-]+\\b/,\n keyword:\n 'if then else elif fi for while in do done case esac function',\n literal:\n 'true false',\n built_in:\n // Shell built-ins\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n 'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' +\n 'trap umask unset ' +\n // Bash built-ins\n 'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' +\n 'read readarray source type typeset ulimit unalias ' +\n // Shell modifiers\n 'set shopt ' +\n // Zsh built-ins\n 'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' +\n 'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' +\n 'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' +\n 'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' +\n 'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' +\n 'zpty zregexparse zsocket zstyle ztcp'\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n hljs.HASH_COMMENT_MODE,\n HERE_DOC,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n VAR\n ]\n };\n}\n\nmodule.exports = bash;\n"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","VAR","BRACED_VAR","begin","end","contains","Object","assign","className","variants","SUBST","BACKSLASH_ESCAPE","HERE_DOC","starts","END_SAME_AS_BEGIN","QUOTE_STRING","push","ARITHMETIC","NUMBER_MODE","KNOWN_SHEBANG","SHEBANG","binary","relevance","FUNCTION","returnBegin","inherit","TITLE_MODE","name","aliases","keywords","$pattern","keyword","literal","built_in","HASH_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/basic.js.map b/js/highlight/basic.js.map
index 4d772182e8b..9d2e89328f2 100644
--- a/js/highlight/basic.js.map
+++ b/js/highlight/basic.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/basic.js?v=0b8a47af85eb555ad6a2","mappings":"6GAgEAA,EAAOC,QAxDP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,kBAAkB,EAClBC,QAAS,KAETC,SAAU,CACRC,SAAU,4BACVC,QACE,s8BAaJC,SAAU,CACRP,EAAKQ,kBACLR,EAAKS,QAAQ,MAAO,IAAK,CACvBC,UAAW,KAEbV,EAAKS,QAAQ,IAAM,IAAK,CACtBC,UAAW,IAEb,CAEEC,UAAW,SACXC,MAAO,WACPF,UAAW,IAEb,CAEEC,UAAW,SACXC,MAAO,sCACPF,UAAW,GAEb,CAEEC,UAAW,SACXC,MAAO,2BAET,CAEED,UAAW,SACXC,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/basic.js"],"sourcesContent":["/*\nLanguage: BASIC\nAuthor: Raphaël Assénat \nDescription: Based on the BASIC reference from the Tandy 1000 guide\nWebsite: https://en.wikipedia.org/wiki/Tandy_1000\n*/\n\n/** @type LanguageFn */\nfunction basic(hljs) {\n return {\n name: 'BASIC',\n case_insensitive: true,\n illegal: '^\\.',\n // Support explicitly typed variables that end with $%! or #.\n keywords: {\n $pattern: '[a-zA-Z][a-zA-Z0-9_$%!#]*',\n keyword:\n 'ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ' +\n 'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' +\n 'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' +\n 'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' +\n 'HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +\n 'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' +\n 'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' +\n 'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' +\n 'PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ' +\n 'RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP ' +\n 'SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ' +\n 'WEND WIDTH WINDOW WRITE XOR'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.COMMENT('REM', '$', {\n relevance: 10\n }),\n hljs.COMMENT('\\'', '$', {\n relevance: 0\n }),\n {\n // Match line numbers\n className: 'symbol',\n begin: '^[0-9]+ ',\n relevance: 10\n },\n {\n // Match typed numeric constants (1000, 12.34!, 1.2e5, 1.5#, 1.2D2)\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?([edED]\\\\d+)?[#\\!]?',\n relevance: 0\n },\n {\n // Match hexadecimal numbers (&Hxxxx)\n className: 'number',\n begin: '(&[hH][0-9a-fA-F]{1,4})'\n },\n {\n // Match octal numbers (&Oxxxxxx)\n className: 'number',\n begin: '(&[oO][0-7]{1,6})'\n }\n ]\n };\n}\n\nmodule.exports = basic;\n"],"names":["module","exports","hljs","name","case_insensitive","illegal","keywords","$pattern","keyword","contains","QUOTE_STRING_MODE","COMMENT","relevance","className","begin"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/basic.js?v=0b8a47af85eb555ad6a2","mappings":"6GAgEAA,EAAOC,QAxDP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,kBAAkB,EAClBC,QAAS,KAETC,SAAU,CACRC,SAAU,4BACVC,QACE,s8BAaJC,SAAU,CACRP,EAAKQ,kBACLR,EAAKS,QAAQ,MAAO,IAAK,CACvBC,UAAW,KAEbV,EAAKS,QAAQ,IAAM,IAAK,CACtBC,UAAW,IAEb,CAEEC,UAAW,SACXC,MAAO,WACPF,UAAW,IAEb,CAEEC,UAAW,SACXC,MAAO,sCACPF,UAAW,GAEb,CAEEC,UAAW,SACXC,MAAO,2BAET,CAEED,UAAW,SACXC,MAAO,sBAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/basic.js"],"sourcesContent":["/*\nLanguage: BASIC\nAuthor: Raphaël Assénat \nDescription: Based on the BASIC reference from the Tandy 1000 guide\nWebsite: https://en.wikipedia.org/wiki/Tandy_1000\n*/\n\n/** @type LanguageFn */\nfunction basic(hljs) {\n return {\n name: 'BASIC',\n case_insensitive: true,\n illegal: '^\\.',\n // Support explicitly typed variables that end with $%! or #.\n keywords: {\n $pattern: '[a-zA-Z][a-zA-Z0-9_$%!#]*',\n keyword:\n 'ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ' +\n 'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' +\n 'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' +\n 'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' +\n 'HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' +\n 'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' +\n 'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' +\n 'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' +\n 'PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ' +\n 'RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP ' +\n 'SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ' +\n 'WEND WIDTH WINDOW WRITE XOR'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.COMMENT('REM', '$', {\n relevance: 10\n }),\n hljs.COMMENT('\\'', '$', {\n relevance: 0\n }),\n {\n // Match line numbers\n className: 'symbol',\n begin: '^[0-9]+ ',\n relevance: 10\n },\n {\n // Match typed numeric constants (1000, 12.34!, 1.2e5, 1.5#, 1.2D2)\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?([edED]\\\\d+)?[#\\!]?',\n relevance: 0\n },\n {\n // Match hexadecimal numbers (&Hxxxx)\n className: 'number',\n begin: '(&[hH][0-9a-fA-F]{1,4})'\n },\n {\n // Match octal numbers (&Oxxxxxx)\n className: 'number',\n begin: '(&[oO][0-7]{1,6})'\n }\n ]\n };\n}\n\nmodule.exports = basic;\n"],"names":["module","exports","hljs","name","case_insensitive","illegal","keywords","$pattern","keyword","contains","QUOTE_STRING_MODE","COMMENT","relevance","className","begin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/bnf.js.map b/js/highlight/bnf.js.map
index f1778bb418b..3beefc45381 100644
--- a/js/highlight/bnf.js.map
+++ b/js/highlight/bnf.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/bnf.js?v=4327271aec0f057c456a","mappings":"2GAqCAA,EAAOC,QA9BP,SAAaC,GACX,MAAO,CACLC,KAAM,mBACNC,SAAU,CAER,CACEC,UAAW,YACXC,MAAO,IACPC,IAAK,KAGP,CACED,MAAO,MACPC,IAAK,IACLH,SAAU,CACR,CACEE,MAAO,IACPC,IAAK,KAGPL,EAAKM,oBACLN,EAAKO,qBACLP,EAAKQ,iBACLR,EAAKS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/bnf.js"],"sourcesContent":["/*\nLanguage: Backus–Naur Form\nWebsite: https://en.wikipedia.org/wiki/Backus–Naur_form\nAuthor: Oleg Efimov \n*/\n\n/** @type LanguageFn */\nfunction bnf(hljs) {\n return {\n name: 'Backus–Naur Form',\n contains: [\n // Attribute\n {\n className: 'attribute',\n begin: /,\n end: />/\n },\n // Specific\n {\n begin: /::=/,\n end: /$/,\n contains: [\n {\n begin: /,\n end: />/\n },\n // Common\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n ]\n };\n}\n\nmodule.exports = bnf;\n"],"names":["module","exports","hljs","name","contains","className","begin","end","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/bnf.js?v=4327271aec0f057c456a","mappings":"2GAqCAA,EAAOC,QA9BP,SAAaC,GACX,MAAO,CACLC,KAAM,mBACNC,SAAU,CAER,CACEC,UAAW,YACXC,MAAO,IACPC,IAAK,KAGP,CACED,MAAO,MACPC,IAAK,IACLH,SAAU,CACR,CACEE,MAAO,IACPC,IAAK,KAGPL,EAAKM,oBACLN,EAAKO,qBACLP,EAAKQ,iBACLR,EAAKS,qBAKf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/bnf.js"],"sourcesContent":["/*\nLanguage: Backus–Naur Form\nWebsite: https://en.wikipedia.org/wiki/Backus–Naur_form\nAuthor: Oleg Efimov \n*/\n\n/** @type LanguageFn */\nfunction bnf(hljs) {\n return {\n name: 'Backus–Naur Form',\n contains: [\n // Attribute\n {\n className: 'attribute',\n begin: /,\n end: />/\n },\n // Specific\n {\n begin: /::=/,\n end: /$/,\n contains: [\n {\n begin: /,\n end: />/\n },\n // Common\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n ]\n };\n}\n\nmodule.exports = bnf;\n"],"names":["module","exports","hljs","name","contains","className","begin","end","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/brainfuck.js.map b/js/highlight/brainfuck.js.map
index 986efc0df32..c72dd5ccc2e 100644
--- a/js/highlight/brainfuck.js.map
+++ b/js/highlight/brainfuck.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/brainfuck.js?v=5950bb598b9d18901ee6","mappings":"iHA6CAA,EAAOC,QAtCP,SAAmBC,GACjB,MAAMC,EAAU,CACdC,UAAW,UACXC,MAAO,OACPC,UAAW,GAEb,MAAO,CACLC,KAAM,YACNC,QAAS,CAAC,MACVC,SAAU,CACRP,EAAKQ,QACH,6BACA,4BACA,CACEC,WAAW,EACXL,UAAW,IAGf,CACEF,UAAW,QACXC,MAAO,WACPC,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,SACPC,UAAW,GAEb,CAEED,MAAO,cACPI,SAAU,CAACN,IAEbA","sources":["webpack:///text/node_modules/highlight.js/lib/languages/brainfuck.js"],"sourcesContent":["/*\nLanguage: Brainfuck\nAuthor: Evgeny Stepanischev \nWebsite: https://esolangs.org/wiki/Brainfuck\n*/\n\n/** @type LanguageFn */\nfunction brainfuck(hljs) {\n const LITERAL = {\n className: 'literal',\n begin: /[+-]/,\n relevance: 0\n };\n return {\n name: 'Brainfuck',\n aliases: ['bf'],\n contains: [\n hljs.COMMENT(\n '[^\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]',\n '[\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]',\n {\n returnEnd: true,\n relevance: 0\n }\n ),\n {\n className: 'title',\n begin: '[\\\\[\\\\]]',\n relevance: 0\n },\n {\n className: 'string',\n begin: '[\\\\.,]',\n relevance: 0\n },\n {\n // this mode works as the only relevance counter\n begin: /(?:\\+\\+|--)/,\n contains: [LITERAL]\n },\n LITERAL\n ]\n };\n}\n\nmodule.exports = brainfuck;\n"],"names":["module","exports","hljs","LITERAL","className","begin","relevance","name","aliases","contains","COMMENT","returnEnd"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/brainfuck.js?v=5950bb598b9d18901ee6","mappings":"iHA6CAA,EAAOC,QAtCP,SAAmBC,GACjB,MAAMC,EAAU,CACdC,UAAW,UACXC,MAAO,OACPC,UAAW,GAEb,MAAO,CACLC,KAAM,YACNC,QAAS,CAAC,MACVC,SAAU,CACRP,EAAKQ,QACH,6BACA,4BACA,CACEC,WAAW,EACXL,UAAW,IAGf,CACEF,UAAW,QACXC,MAAO,WACPC,UAAW,GAEb,CACEF,UAAW,SACXC,MAAO,SACPC,UAAW,GAEb,CAEED,MAAO,cACPI,SAAU,CAACN,IAEbA,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/brainfuck.js"],"sourcesContent":["/*\nLanguage: Brainfuck\nAuthor: Evgeny Stepanischev \nWebsite: https://esolangs.org/wiki/Brainfuck\n*/\n\n/** @type LanguageFn */\nfunction brainfuck(hljs) {\n const LITERAL = {\n className: 'literal',\n begin: /[+-]/,\n relevance: 0\n };\n return {\n name: 'Brainfuck',\n aliases: ['bf'],\n contains: [\n hljs.COMMENT(\n '[^\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]',\n '[\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]',\n {\n returnEnd: true,\n relevance: 0\n }\n ),\n {\n className: 'title',\n begin: '[\\\\[\\\\]]',\n relevance: 0\n },\n {\n className: 'string',\n begin: '[\\\\.,]',\n relevance: 0\n },\n {\n // this mode works as the only relevance counter\n begin: /(?:\\+\\+|--)/,\n contains: [LITERAL]\n },\n LITERAL\n ]\n };\n}\n\nmodule.exports = brainfuck;\n"],"names":["module","exports","hljs","LITERAL","className","begin","relevance","name","aliases","contains","COMMENT","returnEnd"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/c-like.js.map b/js/highlight/c-like.js.map
index e70a3fcef8f..fc8b2cac067 100644
--- a/js/highlight/c-like.js.map
+++ b/js/highlight/c-like.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/c-like.js?v=50e84f62f963bfafa8cf","mappings":"8GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,MAOzB,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,KA4B4BM,KAAK,IA+cjDC,EAAOC,QA9BP,SAAeC,GACb,MAAMC,EAvaR,SAAmBD,GAIjB,MAAME,EAAsBF,EAAKG,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBlB,EAASiB,GACT,gBAAkBjB,EAJS,YAK7B,IACMmB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEJ,EAAKe,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXd,EAAKgB,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEblB,EAAKqB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAF,EAAKsB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOf,EAASiB,GAAgBP,EAAKwB,SACrCN,UAAW,GAGPO,EAAiBnC,EAASiB,GAAgBP,EAAKwB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOb,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKwB,UA9QQjC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAMyC,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAF,EAAKsB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBxC,OAAO,CACnC,CACEa,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBxC,OAAO,CAAE,SACvC0B,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAF,EAAKsB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAF,EAAKsB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAF,EAAKsB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGZ,OACXyC,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAOL,EAAKwB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBlC,EAAKuB,eAIbxB,QAAS,CACP2C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM,IAaDkB,CAAU5C,GA0BvB,OATAC,EAAK4C,mBAAoB,EACzB5C,EAAKuC,QAAU,GAEVxC,EAAK8C,YAAY,MAAM7C,EAAKuC,QAAQO,KAjBvC,IACA,KAiBG/C,EAAK8C,YAAY,QAAQ7C,EAAKuC,QAAQO,KAbzC,KACA,MACA,MACA,MACA,KACA,MACA,OAYK9C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/c-like.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: C-like (deprecated, use C and C++ instead)\nAuthor: Ivan Sagalaev \nContributors: Evgeny Stepanischev , Zaven Muradyan , Roel Deckers , Sam Wu , Jordi Petit , Pieter Vantorre , Google Inc. (David Benjamin) \n*/\n\n/** @type LanguageFn */\nfunction cLike(hljs) {\n const lang = cPlusPlus(hljs);\n\n const C_ALIASES = [\n \"c\",\n \"h\"\n ];\n\n const CPP_ALIASES = [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ];\n\n lang.disableAutodetect = true;\n lang.aliases = [];\n // support users only loading c-like (legacy)\n if (!hljs.getLanguage(\"c\")) lang.aliases.push(...C_ALIASES);\n if (!hljs.getLanguage(\"cpp\")) lang.aliases.push(...CPP_ALIASES);\n\n // if c and cpp are loaded after then they will reclaim these\n // aliases for themselves\n\n return lang;\n}\n\nmodule.exports = cLike;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","lang","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings","cPlusPlus","disableAutodetect","getLanguage","push"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/c-like.js?v=50e84f62f963bfafa8cf","mappings":"8GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,KACzB,CAMA,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,CA4B0B,IAAEM,KAAK,GAEjD,CA6cAC,EAAOC,QA9BP,SAAeC,GACb,MAAMC,EAvaR,SAAmBD,GAIjB,MAAME,EAAsBF,EAAKG,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBlB,EAASiB,GACT,gBAAkBjB,EAJS,YAK7B,IACMmB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEJ,EAAKe,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXd,EAAKgB,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEblB,EAAKqB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAF,EAAKsB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOf,EAASiB,GAAgBP,EAAKwB,SACrCN,UAAW,GAGPO,EAAiBnC,EAASiB,GAAgBP,EAAKwB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOb,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKwB,UA9QQjC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAMyC,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAF,EAAKsB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBxC,OAAO,CACnC,CACEa,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBxC,OAAO,CAAE,SACvC0B,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAF,EAAKsB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAF,EAAKsB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAF,EAAKsB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGZ,OACXyC,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAOL,EAAKwB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBlC,EAAKuB,eAIbxB,QAAS,CACP2C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM,GAGhB,CAUekB,CAAU5C,GA0BvB,OATAC,EAAK4C,mBAAoB,EACzB5C,EAAKuC,QAAU,GAEVxC,EAAK8C,YAAY,MAAM7C,EAAKuC,QAAQO,KAjBvC,IACA,KAiBG/C,EAAK8C,YAAY,QAAQ7C,EAAKuC,QAAQO,KAbzC,KACA,MACA,MACA,MACA,KACA,MACA,OAYK9C,CACT,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/c-like.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\n/*\nLanguage: C-like (deprecated, use C and C++ instead)\nAuthor: Ivan Sagalaev \nContributors: Evgeny Stepanischev , Zaven Muradyan , Roel Deckers , Sam Wu , Jordi Petit , Pieter Vantorre , Google Inc. (David Benjamin) \n*/\n\n/** @type LanguageFn */\nfunction cLike(hljs) {\n const lang = cPlusPlus(hljs);\n\n const C_ALIASES = [\n \"c\",\n \"h\"\n ];\n\n const CPP_ALIASES = [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ];\n\n lang.disableAutodetect = true;\n lang.aliases = [];\n // support users only loading c-like (legacy)\n if (!hljs.getLanguage(\"c\")) lang.aliases.push(...C_ALIASES);\n if (!hljs.getLanguage(\"cpp\")) lang.aliases.push(...CPP_ALIASES);\n\n // if c and cpp are loaded after then they will reclaim these\n // aliases for themselves\n\n return lang;\n}\n\nmodule.exports = cLike;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","lang","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings","cPlusPlus","disableAutodetect","getLanguage","push"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/c.js.map b/js/highlight/c.js.map
index 327dbda4838..fbd8128aa55 100644
--- a/js/highlight/c.js.map
+++ b/js/highlight/c.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/c.js?v=062fd29b76965186e158","mappings":"yGAoBA,SAASA,EAASC,GAChB,OAOF,YAAmBC,GAEjB,OADeA,EAAKC,KAAKC,GApB3B,SAAgBH,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGI,OAHM,KAmBeA,CAAOD,KAAIE,KAAK,IARxCC,CAAO,IAAKN,EAAI,MA+RzBO,EAAOC,QA5QP,SAAWC,GAIT,MAAMC,EAAsBD,EAAKE,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBjB,EAASgB,GACT,gBAAkBhB,EAJS,YAK7B,IACMkB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEH,EAAKc,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXb,EAAKe,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEbjB,EAAKoB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAD,EAAKqB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOd,EAASgB,GAAgBN,EAAKuB,SACrCN,UAAW,GAGPO,EAAiBlC,EAASgB,GAAgBN,EAAKuB,SAAW,UAE1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,+1BASVC,QAAS,2BAGLC,EAAsB,CAC1BX,EACAV,EACAP,EACAD,EAAKqB,qBACLL,EACAN,GAGIoB,EAAqB,CAIzBnB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEmB,cAAe,wBACfnB,IAAK,MAGTO,SAAUM,EACVtB,SAAU0B,EAAoBhC,OAAO,CACnC,CACEO,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU0B,EAAoBhC,OAAO,CAAE,SACvCoB,UAAW,KAGfA,UAAW,GAGPe,EAAuB,CAC3BvB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDS,aAAa,EACbrB,IAAK,QACLsB,YAAY,EACZf,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPS,aAAa,EACb9B,SAAU,CAAEmB,GACZL,UAAW,GAEb,CACER,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAD,EAAKqB,qBACLH,IAIJ,MAAO,CACLiB,KAAM,IACNC,QAAS,CACP,KAEFjB,SAAUM,EAGVY,mBAAmB,EACnBxB,QAAS,KACTV,SAAU,GAAGN,OACXiC,EACAE,EACAH,EACA,CACEX,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAOJ,EAAKuB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXsB,cAAe,0BACfnB,IAAK,WACLT,SAAU,CACR,CACE4B,cAAe,sBAEjB/B,EAAKsB,eAIbvB,QAAS,CACPuC,aAAcpB,EACdqB,QAAS7B,EACTS,SAAUM","sources":["webpack:///text/node_modules/highlight.js/lib/languages/c.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +\n 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set ' +\n 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos ' +\n 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp ' +\n 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ' +\n 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow ' +\n 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp ' +\n 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ' +\n 'vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary',\n literal: 'true false nullptr NULL'\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [\n 'h'\n ],\n keywords: CPP_KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\nmodule.exports = c;\n"],"names":["optional","re","args","map","x","source","join","concat","module","exports","hljs","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","literal","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","name","aliases","disableAutodetect","preprocessor","strings"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/c.js?v=062fd29b76965186e158","mappings":"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","sources":["webpack:///text/node_modules/highlight.js/lib/languages/c.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' +\n 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set ' +\n 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos ' +\n 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp ' +\n 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ' +\n 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow ' +\n 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp ' +\n 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ' +\n 'vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary',\n literal: 'true false nullptr NULL'\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [\n 'h'\n ],\n keywords: CPP_KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\nmodule.exports = c;\n"],"names":["optional","re","args","map","x","source","join","concat","module","exports","hljs","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","literal","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","name","aliases","disableAutodetect","preprocessor","strings"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/cal.js.map b/js/highlight/cal.js.map
index 30e78b870a8..9886cecefaf 100644
--- a/js/highlight/cal.js.map
+++ b/js/highlight/cal.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/cal.js?v=53c4da115fdbffc2f2de","mappings":"2GAuGAA,EAAOC,QA/FP,SAAaC,GACX,MAAMC,EACJ,yHAGIC,EAAgB,CACpBF,EAAKG,oBACLH,EAAKI,QACH,KACA,KACA,CACEC,UAAW,IAGfL,EAAKI,QACH,OACA,OACA,CACEC,UAAW,MAIXC,EAAS,CACbC,UAAW,SACXC,MAAO,IACPC,IAAK,IACLC,SAAU,CAAC,CACTF,MAAO,QAGLG,EAAc,CAClBJ,UAAW,SACXC,MAAO,WAaHI,EAAY,CAChBL,UAAW,WACXM,cAAe,YACfJ,IAAK,OACLK,SAAU,eACVJ,SAAU,CACRV,EAAKe,WACL,CACER,UAAW,SACXC,MAAO,KACPC,IAAK,KACLK,SAAUb,EACVS,SAAU,CACRJ,EACAK,KAGJK,OAAOd,IAGLe,EAAS,CACbV,UAAW,QACXC,MAAO,gGACPU,aAAa,EACbR,SAAU,CACRV,EAAKe,WACLH,IAIJ,MAAO,CACLO,KAAM,OACNC,kBAAkB,EAClBN,SAAU,CACRO,QAASpB,EACTqB,QA5Ea,cA8EfC,QAAS,OACTb,SAAU,CACRJ,EACAK,EAnDS,CACXJ,UAAW,SACXC,MAAO,4BACPH,UAAW,GAEe,CAC1BE,UAAW,SACXC,MAAO,IACPC,IAAK,KA8CHT,EAAKwB,YACLP,EACAL","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cal.js"],"sourcesContent":["/*\nLanguage: C/AL\nAuthor: Kenneth Fuglsang Christensen \nDescription: Provides highlighting of Microsoft Dynamics NAV C/AL code files\nWebsite: https://docs.microsoft.com/en-us/dynamics-nav/programming-in-c-al\n*/\n\n/** @type LanguageFn */\nfunction cal(hljs) {\n const KEYWORDS =\n 'div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to ' +\n 'until while with var';\n const LITERALS = 'false true';\n const COMMENT_MODES = [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(\n /\\{/,\n /\\}/,\n {\n relevance: 0\n }\n ),\n hljs.COMMENT(\n /\\(\\*/,\n /\\*\\)/,\n {\n relevance: 10\n }\n )\n ];\n const STRING = {\n className: 'string',\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/\n }]\n };\n const CHAR_STRING = {\n className: 'string',\n begin: /(#\\d+)+/\n };\n const DATE = {\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(DT|D|T)',\n relevance: 0\n };\n const DBL_QUOTED_VARIABLE = {\n className: 'string', // not a string technically but makes sense to be highlighted in the same style\n begin: '\"',\n end: '\"'\n };\n\n const PROCEDURE = {\n className: 'function',\n beginKeywords: 'procedure',\n end: /[:;]/,\n keywords: 'procedure|10',\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n STRING,\n CHAR_STRING\n ]\n }\n ].concat(COMMENT_MODES)\n };\n\n const OBJECT = {\n className: 'class',\n begin: 'OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\\\d+) ([^\\\\r\\\\n]+)',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n PROCEDURE\n ]\n };\n\n return {\n name: 'C/AL',\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n illegal: /\\/\\*/,\n contains: [\n STRING,\n CHAR_STRING,\n DATE,\n DBL_QUOTED_VARIABLE,\n hljs.NUMBER_MODE,\n OBJECT,\n PROCEDURE\n ]\n };\n}\n\nmodule.exports = cal;\n"],"names":["module","exports","hljs","KEYWORDS","COMMENT_MODES","C_LINE_COMMENT_MODE","COMMENT","relevance","STRING","className","begin","end","contains","CHAR_STRING","PROCEDURE","beginKeywords","keywords","TITLE_MODE","concat","OBJECT","returnBegin","name","case_insensitive","keyword","literal","illegal","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/cal.js?v=53c4da115fdbffc2f2de","mappings":"2GAuGAA,EAAOC,QA/FP,SAAaC,GACX,MAAMC,EACJ,yHAGIC,EAAgB,CACpBF,EAAKG,oBACLH,EAAKI,QACH,KACA,KACA,CACEC,UAAW,IAGfL,EAAKI,QACH,OACA,OACA,CACEC,UAAW,MAIXC,EAAS,CACbC,UAAW,SACXC,MAAO,IACPC,IAAK,IACLC,SAAU,CAAC,CACTF,MAAO,QAGLG,EAAc,CAClBJ,UAAW,SACXC,MAAO,WAaHI,EAAY,CAChBL,UAAW,WACXM,cAAe,YACfJ,IAAK,OACLK,SAAU,eACVJ,SAAU,CACRV,EAAKe,WACL,CACER,UAAW,SACXC,MAAO,KACPC,IAAK,KACLK,SAAUb,EACVS,SAAU,CACRJ,EACAK,KAGJK,OAAOd,IAGLe,EAAS,CACbV,UAAW,QACXC,MAAO,gGACPU,aAAa,EACbR,SAAU,CACRV,EAAKe,WACLH,IAIJ,MAAO,CACLO,KAAM,OACNC,kBAAkB,EAClBN,SAAU,CACRO,QAASpB,EACTqB,QA5Ea,cA8EfC,QAAS,OACTb,SAAU,CACRJ,EACAK,EAnDS,CACXJ,UAAW,SACXC,MAAO,4BACPH,UAAW,GAEe,CAC1BE,UAAW,SACXC,MAAO,IACPC,IAAK,KA8CHT,EAAKwB,YACLP,EACAL,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cal.js"],"sourcesContent":["/*\nLanguage: C/AL\nAuthor: Kenneth Fuglsang Christensen \nDescription: Provides highlighting of Microsoft Dynamics NAV C/AL code files\nWebsite: https://docs.microsoft.com/en-us/dynamics-nav/programming-in-c-al\n*/\n\n/** @type LanguageFn */\nfunction cal(hljs) {\n const KEYWORDS =\n 'div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to ' +\n 'until while with var';\n const LITERALS = 'false true';\n const COMMENT_MODES = [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(\n /\\{/,\n /\\}/,\n {\n relevance: 0\n }\n ),\n hljs.COMMENT(\n /\\(\\*/,\n /\\*\\)/,\n {\n relevance: 10\n }\n )\n ];\n const STRING = {\n className: 'string',\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/\n }]\n };\n const CHAR_STRING = {\n className: 'string',\n begin: /(#\\d+)+/\n };\n const DATE = {\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(DT|D|T)',\n relevance: 0\n };\n const DBL_QUOTED_VARIABLE = {\n className: 'string', // not a string technically but makes sense to be highlighted in the same style\n begin: '\"',\n end: '\"'\n };\n\n const PROCEDURE = {\n className: 'function',\n beginKeywords: 'procedure',\n end: /[:;]/,\n keywords: 'procedure|10',\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n STRING,\n CHAR_STRING\n ]\n }\n ].concat(COMMENT_MODES)\n };\n\n const OBJECT = {\n className: 'class',\n begin: 'OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\\\d+) ([^\\\\r\\\\n]+)',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n PROCEDURE\n ]\n };\n\n return {\n name: 'C/AL',\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n illegal: /\\/\\*/,\n contains: [\n STRING,\n CHAR_STRING,\n DATE,\n DBL_QUOTED_VARIABLE,\n hljs.NUMBER_MODE,\n OBJECT,\n PROCEDURE\n ]\n };\n}\n\nmodule.exports = cal;\n"],"names":["module","exports","hljs","KEYWORDS","COMMENT_MODES","C_LINE_COMMENT_MODE","COMMENT","relevance","STRING","className","begin","end","contains","CHAR_STRING","PROCEDURE","beginKeywords","keywords","TITLE_MODE","concat","OBJECT","returnBegin","name","case_insensitive","keyword","literal","illegal","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/capnproto.js.map b/js/highlight/capnproto.js.map
index 6628d38d136..2c9dd8a2797 100644
--- a/js/highlight/capnproto.js.map
+++ b/js/highlight/capnproto.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/capnproto.js?v=9e7efe184f2fc3a5af4d","mappings":"iHA+DAA,EAAOC,QAtDP,SAAmBC,GACjB,MAAO,CACLC,KAAM,cACNC,QAAS,CAAC,SACVC,SAAU,CACRC,QACE,sGACFC,SACE,6HAEFC,QACE,cAEJC,SAAU,CACRP,EAAKQ,kBACLR,EAAKS,YACLT,EAAKU,kBACL,CACEC,UAAW,OACXC,MAAO,iBACPC,QAAS,MAEX,CACEF,UAAW,SACXC,MAAO,UAET,CACED,UAAW,QACXG,cAAe,cACfC,IAAK,KACLF,QAAS,KACTN,SAAU,CAACP,EAAKgB,QAAQhB,EAAKiB,WAAY,CACvCC,OAAQ,CACNC,gBAAgB,EAChBC,YAAY,OAIlB,CACET,UAAW,QACXG,cAAe,YACfC,IAAK,KACLF,QAAS,KACTN,SAAU,CAACP,EAAKgB,QAAQhB,EAAKiB,WAAY,CACvCC,OAAQ,CACNC,gBAAgB,EAChBC,YAAY","sources":["webpack:///text/node_modules/highlight.js/lib/languages/capnproto.js"],"sourcesContent":["/*\nLanguage: Cap’n Proto\nAuthor: Oleg Efimov \nDescription: Cap’n Proto message definition format\nWebsite: https://capnproto.org/capnp-tool.html\nCategory: protocols\n*/\n\n/** @type LanguageFn */\nfunction capnproto(hljs) {\n return {\n name: 'Cap’n Proto',\n aliases: ['capnp'],\n keywords: {\n keyword:\n 'struct enum interface union group import using const annotation extends in of on as with from fixed',\n built_in:\n 'Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 ' +\n 'Text Data AnyPointer AnyStruct Capability List',\n literal:\n 'true false'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'meta',\n begin: /@0x[\\w\\d]{16};/,\n illegal: /\\n/\n },\n {\n className: 'symbol',\n begin: /@\\d+\\b/\n },\n {\n className: 'class',\n beginKeywords: 'struct enum',\n end: /\\{/,\n illegal: /\\n/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n starts: {\n endsWithParent: true,\n excludeEnd: true\n } // hack: eating everything after the first title\n })]\n },\n {\n className: 'class',\n beginKeywords: 'interface',\n end: /\\{/,\n illegal: /\\n/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n starts: {\n endsWithParent: true,\n excludeEnd: true\n } // hack: eating everything after the first title\n })]\n }\n ]\n };\n}\n\nmodule.exports = capnproto;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","QUOTE_STRING_MODE","NUMBER_MODE","HASH_COMMENT_MODE","className","begin","illegal","beginKeywords","end","inherit","TITLE_MODE","starts","endsWithParent","excludeEnd"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/capnproto.js?v=9e7efe184f2fc3a5af4d","mappings":"iHA+DAA,EAAOC,QAtDP,SAAmBC,GACjB,MAAO,CACLC,KAAM,cACNC,QAAS,CAAC,SACVC,SAAU,CACRC,QACE,sGACFC,SACE,6HAEFC,QACE,cAEJC,SAAU,CACRP,EAAKQ,kBACLR,EAAKS,YACLT,EAAKU,kBACL,CACEC,UAAW,OACXC,MAAO,iBACPC,QAAS,MAEX,CACEF,UAAW,SACXC,MAAO,UAET,CACED,UAAW,QACXG,cAAe,cACfC,IAAK,KACLF,QAAS,KACTN,SAAU,CAACP,EAAKgB,QAAQhB,EAAKiB,WAAY,CACvCC,OAAQ,CACNC,gBAAgB,EAChBC,YAAY,OAIlB,CACET,UAAW,QACXG,cAAe,YACfC,IAAK,KACLF,QAAS,KACTN,SAAU,CAACP,EAAKgB,QAAQhB,EAAKiB,WAAY,CACvCC,OAAQ,CACNC,gBAAgB,EAChBC,YAAY,QAMxB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/capnproto.js"],"sourcesContent":["/*\nLanguage: Cap’n Proto\nAuthor: Oleg Efimov \nDescription: Cap’n Proto message definition format\nWebsite: https://capnproto.org/capnp-tool.html\nCategory: protocols\n*/\n\n/** @type LanguageFn */\nfunction capnproto(hljs) {\n return {\n name: 'Cap’n Proto',\n aliases: ['capnp'],\n keywords: {\n keyword:\n 'struct enum interface union group import using const annotation extends in of on as with from fixed',\n built_in:\n 'Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 ' +\n 'Text Data AnyPointer AnyStruct Capability List',\n literal:\n 'true false'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'meta',\n begin: /@0x[\\w\\d]{16};/,\n illegal: /\\n/\n },\n {\n className: 'symbol',\n begin: /@\\d+\\b/\n },\n {\n className: 'class',\n beginKeywords: 'struct enum',\n end: /\\{/,\n illegal: /\\n/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n starts: {\n endsWithParent: true,\n excludeEnd: true\n } // hack: eating everything after the first title\n })]\n },\n {\n className: 'class',\n beginKeywords: 'interface',\n end: /\\{/,\n illegal: /\\n/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n starts: {\n endsWithParent: true,\n excludeEnd: true\n } // hack: eating everything after the first title\n })]\n }\n ]\n };\n}\n\nmodule.exports = capnproto;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","QUOTE_STRING_MODE","NUMBER_MODE","HASH_COMMENT_MODE","className","begin","illegal","beginKeywords","end","inherit","TITLE_MODE","starts","endsWithParent","excludeEnd"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/ceylon.js.map b/js/highlight/ceylon.js.map
index 9a227089fe5..159177adb48 100644
--- a/js/highlight/ceylon.js.map
+++ b/js/highlight/ceylon.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/ceylon.js?v=43da80a84f2eb93f720b","mappings":"6GAiFAA,EAAOC,QA1EP,SAAgBC,GAEd,MAAMC,EACJ,iRAWIC,EAAQ,CACZC,UAAW,QACXC,cAAc,EACdC,YAAY,EACZC,MAAO,KACPC,IAAK,KACLC,SAAUP,EACVQ,UAAW,IAEPC,EAAc,CAClB,CAEEP,UAAW,SACXG,MAAO,MACPC,IAAK,MACLE,UAAW,IAEb,CAEEN,UAAW,SACXG,MAAO,IACPC,IAAK,IACLI,SAAU,CAACT,IAEb,CAEEC,UAAW,SACXG,MAAO,IACPC,IAAK,KAEP,CAEEJ,UAAW,SACXG,MAAO,gFACPG,UAAW,IAKf,OAFAP,EAAMS,SAAWD,EAEV,CACLE,KAAM,SACNJ,SAAU,CACRK,QAASZ,0HACTa,KA5CF,oCA8CAC,QAAS,yBACTJ,SAAU,CACRX,EAAKgB,oBACLhB,EAAKiB,QAAQ,OAAQ,OAAQ,CAC3BN,SAAU,CAAC,UAEb,CAEER,UAAW,OACXG,MAAO,4BAETY,OAAOR","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ceylon.js"],"sourcesContent":["/*\nLanguage: Ceylon\nAuthor: Lucas Werkmeister \nWebsite: https://ceylon-lang.org\n*/\n\n/** @type LanguageFn */\nfunction ceylon(hljs) {\n // 2.3. Identifiers and keywords\n const KEYWORDS =\n 'assembly module package import alias class interface object given value ' +\n 'assign void function new of extends satisfies abstracts in out return ' +\n 'break continue throw assert dynamic if else switch case for while try ' +\n 'catch finally then let this outer super is exists nonempty';\n // 7.4.1 Declaration Modifiers\n const DECLARATION_MODIFIERS =\n 'shared abstract formal default actual variable late native deprecated ' +\n 'final sealed annotation suppressWarnings small';\n // 7.4.2 Documentation\n const DOCUMENTATION =\n 'doc by license see throws tagged';\n const SUBST = {\n className: 'subst',\n excludeBegin: true,\n excludeEnd: true,\n begin: /``/,\n end: /``/,\n keywords: KEYWORDS,\n relevance: 10\n };\n const EXPRESSIONS = [\n {\n // verbatim string\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n // string literal or template\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [SUBST]\n },\n {\n // character literal\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n // numeric literal\n className: 'number',\n begin: '#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?',\n relevance: 0\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n return {\n name: 'Ceylon',\n keywords: {\n keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,\n meta: DOCUMENTATION\n },\n illegal: '\\\\$[^01]|#[^0-9a-fA-F]',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT('/\\\\*', '\\\\*/', {\n contains: ['self']\n }),\n {\n // compiler annotation\n className: 'meta',\n begin: '@[a-z]\\\\w*(?::\"[^\"]*\")?'\n }\n ].concat(EXPRESSIONS)\n };\n}\n\nmodule.exports = ceylon;\n"],"names":["module","exports","hljs","KEYWORDS","SUBST","className","excludeBegin","excludeEnd","begin","end","keywords","relevance","EXPRESSIONS","contains","name","keyword","meta","illegal","C_LINE_COMMENT_MODE","COMMENT","concat"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/ceylon.js?v=43da80a84f2eb93f720b","mappings":"6GAiFAA,EAAOC,QA1EP,SAAgBC,GAEd,MAAMC,EACJ,iRAWIC,EAAQ,CACZC,UAAW,QACXC,cAAc,EACdC,YAAY,EACZC,MAAO,KACPC,IAAK,KACLC,SAAUP,EACVQ,UAAW,IAEPC,EAAc,CAClB,CAEEP,UAAW,SACXG,MAAO,MACPC,IAAK,MACLE,UAAW,IAEb,CAEEN,UAAW,SACXG,MAAO,IACPC,IAAK,IACLI,SAAU,CAACT,IAEb,CAEEC,UAAW,SACXG,MAAO,IACPC,IAAK,KAEP,CAEEJ,UAAW,SACXG,MAAO,gFACPG,UAAW,IAKf,OAFAP,EAAMS,SAAWD,EAEV,CACLE,KAAM,SACNJ,SAAU,CACRK,QAASZ,0HACTa,KA5CF,oCA8CAC,QAAS,yBACTJ,SAAU,CACRX,EAAKgB,oBACLhB,EAAKiB,QAAQ,OAAQ,OAAQ,CAC3BN,SAAU,CAAC,UAEb,CAEER,UAAW,OACXG,MAAO,4BAETY,OAAOR,GAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ceylon.js"],"sourcesContent":["/*\nLanguage: Ceylon\nAuthor: Lucas Werkmeister \nWebsite: https://ceylon-lang.org\n*/\n\n/** @type LanguageFn */\nfunction ceylon(hljs) {\n // 2.3. Identifiers and keywords\n const KEYWORDS =\n 'assembly module package import alias class interface object given value ' +\n 'assign void function new of extends satisfies abstracts in out return ' +\n 'break continue throw assert dynamic if else switch case for while try ' +\n 'catch finally then let this outer super is exists nonempty';\n // 7.4.1 Declaration Modifiers\n const DECLARATION_MODIFIERS =\n 'shared abstract formal default actual variable late native deprecated ' +\n 'final sealed annotation suppressWarnings small';\n // 7.4.2 Documentation\n const DOCUMENTATION =\n 'doc by license see throws tagged';\n const SUBST = {\n className: 'subst',\n excludeBegin: true,\n excludeEnd: true,\n begin: /``/,\n end: /``/,\n keywords: KEYWORDS,\n relevance: 10\n };\n const EXPRESSIONS = [\n {\n // verbatim string\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n // string literal or template\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [SUBST]\n },\n {\n // character literal\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n // numeric literal\n className: 'number',\n begin: '#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?',\n relevance: 0\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n return {\n name: 'Ceylon',\n keywords: {\n keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,\n meta: DOCUMENTATION\n },\n illegal: '\\\\$[^01]|#[^0-9a-fA-F]',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT('/\\\\*', '\\\\*/', {\n contains: ['self']\n }),\n {\n // compiler annotation\n className: 'meta',\n begin: '@[a-z]\\\\w*(?::\"[^\"]*\")?'\n }\n ].concat(EXPRESSIONS)\n };\n}\n\nmodule.exports = ceylon;\n"],"names":["module","exports","hljs","KEYWORDS","SUBST","className","excludeBegin","excludeEnd","begin","end","keywords","relevance","EXPRESSIONS","contains","name","keyword","meta","illegal","C_LINE_COMMENT_MODE","COMMENT","concat"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/clean.js.map b/js/highlight/clean.js.map
index 5ad0c1b6a29..c8c04d9d96b 100644
--- a/js/highlight/clean.js.map
+++ b/js/highlight/clean.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/clean.js?v=71225d5d4380dd7048b4","mappings":"6GAuCAA,EAAOC,QA/BP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,QAAS,CACP,MACA,OAEFC,SAAU,CACRC,QACE,6MAIFC,SACE,qBACFC,QACE,cAEJC,SAAU,CACRP,EAAKQ,oBACLR,EAAKS,qBACLT,EAAKU,iBACLV,EAAKW,kBACLX,EAAKY,cACL,CACEC,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clean.js"],"sourcesContent":["/*\nLanguage: Clean\nAuthor: Camil Staps \nCategory: functional\nWebsite: http://clean.cs.ru.nl\n*/\n\n/** @type LanguageFn */\nfunction clean(hljs) {\n return {\n name: 'Clean',\n aliases: [\n 'icl',\n 'dcl'\n ],\n keywords: {\n keyword:\n 'if let in with where case of class instance otherwise ' +\n 'implementation definition system module from import qualified as ' +\n 'special code inline foreign export ccall stdcall generic derive ' +\n 'infix infixl infixr',\n built_in:\n 'Int Real Char Bool',\n literal:\n 'True False'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n { // relevance booster\n begin: '->|<-[|:]?|#!?|>>=|\\\\{\\\\||\\\\|\\\\}|:==|=:|<>'\n }\n ]\n };\n}\n\nmodule.exports = clean;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","C_NUMBER_MODE","begin"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/clean.js?v=71225d5d4380dd7048b4","mappings":"6GAuCAA,EAAOC,QA/BP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,QAAS,CACP,MACA,OAEFC,SAAU,CACRC,QACE,6MAIFC,SACE,qBACFC,QACE,cAEJC,SAAU,CACRP,EAAKQ,oBACLR,EAAKS,qBACLT,EAAKU,iBACLV,EAAKW,kBACLX,EAAKY,cACL,CACEC,MAAO,+CAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clean.js"],"sourcesContent":["/*\nLanguage: Clean\nAuthor: Camil Staps \nCategory: functional\nWebsite: http://clean.cs.ru.nl\n*/\n\n/** @type LanguageFn */\nfunction clean(hljs) {\n return {\n name: 'Clean',\n aliases: [\n 'icl',\n 'dcl'\n ],\n keywords: {\n keyword:\n 'if let in with where case of class instance otherwise ' +\n 'implementation definition system module from import qualified as ' +\n 'special code inline foreign export ccall stdcall generic derive ' +\n 'infix infixl infixr',\n built_in:\n 'Int Real Char Bool',\n literal:\n 'True False'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n { // relevance booster\n begin: '->|<-[|:]?|#!?|>>=|\\\\{\\\\||\\\\|\\\\}|:==|=:|<>'\n }\n ]\n };\n}\n\nmodule.exports = clean;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","built_in","literal","contains","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","C_NUMBER_MODE","begin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/clojure-repl.js.map b/js/highlight/clojure-repl.js.map
index 4f0ce2c8291..dc4b9664634 100644
--- a/js/highlight/clojure-repl.js.map
+++ b/js/highlight/clojure-repl.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/clojure-repl.js?v=3d6923be929c0dfc5d9b","mappings":"oHA0BAA,EAAOC,QAhBP,SAAqBC,GACnB,MAAO,CACLC,KAAM,eACNC,SAAU,CACR,CACEC,UAAW,OACXC,MAAO,sBACPC,OAAQ,CACNC,IAAK,IACLC,YAAa","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clojure-repl.js"],"sourcesContent":["/*\nLanguage: Clojure REPL\nDescription: Clojure REPL sessions\nAuthor: Ivan Sagalaev \nRequires: clojure.js\nWebsite: https://clojure.org\nCategory: lisp\n*/\n\n/** @type LanguageFn */\nfunction clojureRepl(hljs) {\n return {\n name: 'Clojure REPL',\n contains: [\n {\n className: 'meta',\n begin: /^([\\w.-]+|\\s*#_)?=>/,\n starts: {\n end: /$/,\n subLanguage: 'clojure'\n }\n }\n ]\n };\n}\n\nmodule.exports = clojureRepl;\n"],"names":["module","exports","hljs","name","contains","className","begin","starts","end","subLanguage"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/clojure-repl.js?v=3d6923be929c0dfc5d9b","mappings":"oHA0BAA,EAAOC,QAhBP,SAAqBC,GACnB,MAAO,CACLC,KAAM,eACNC,SAAU,CACR,CACEC,UAAW,OACXC,MAAO,sBACPC,OAAQ,CACNC,IAAK,IACLC,YAAa,aAKvB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clojure-repl.js"],"sourcesContent":["/*\nLanguage: Clojure REPL\nDescription: Clojure REPL sessions\nAuthor: Ivan Sagalaev \nRequires: clojure.js\nWebsite: https://clojure.org\nCategory: lisp\n*/\n\n/** @type LanguageFn */\nfunction clojureRepl(hljs) {\n return {\n name: 'Clojure REPL',\n contains: [\n {\n className: 'meta',\n begin: /^([\\w.-]+|\\s*#_)?=>/,\n starts: {\n end: /$/,\n subLanguage: 'clojure'\n }\n }\n ]\n };\n}\n\nmodule.exports = clojureRepl;\n"],"names":["module","exports","hljs","name","contains","className","begin","starts","end","subLanguage"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/clojure.js.map b/js/highlight/clojure.js.map
index a9de9d47d48..6cb0777d33a 100644
--- a/js/highlight/clojure.js.map
+++ b/js/highlight/clojure.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/clojure.js?v=0ff7a321eaadebf5e5fb","mappings":"+GA6JAA,EAAOC,QApJP,SAAiBC,GACf,MAAMC,EAAc,wBACdC,EAAY,IAAMD,EAAc,KAAOA,EAAc,WACrDE,EAAU,6FACVC,EAAW,CACfC,SAAUH,EACV,eAEEC,++EAgCEG,EAAS,CACbC,MAAOL,EACPM,UAAW,GAEPC,EAAS,CACbC,UAAW,SACXH,MARuB,sBASvBC,UAAW,GAEPG,EAASX,EAAKY,QAAQZ,EAAKa,kBAAmB,CAClDC,QAAS,OAELC,EAAUf,EAAKe,QACnB,IACA,IACA,CACEP,UAAW,IAGTQ,EAAU,CACdN,UAAW,UACXH,MAAO,wBAEHU,EAAa,CACjBV,MAAO,WACPW,IAAK,YAEDC,EAAO,CACXT,UAAW,UACXH,MAAO,MAAQL,GAEXkB,EAAWpB,EAAKe,QAAQ,SAAU,OAClCM,EAAM,CACVX,UAAW,SACXH,MAAO,WAAaL,GAEhBoB,EAAO,CACXf,MAAO,MACPW,IAAK,OAEDK,EAAO,CACXC,gBAAgB,EAChBhB,UAAW,GAEPiB,EAAO,CACXrB,SAAUA,EACVM,UAAW,OACXH,MAAOL,EACPM,UAAW,EACXkB,OAAQH,GAEJI,EAAmB,CACvBL,EACAX,EACAQ,EACAC,EACAL,EACAM,EACAJ,EACAR,EACAO,EACAV,GAGIsB,EAAS,CACbC,cAAe1B,EACf2B,QAAS5B,EACTgB,IAAK,gCACLa,SAAU,CACR,CACErB,UAAW,QACXH,MAAOL,EACPM,UAAW,EACXwB,YAAY,EAEZC,YAAY,IAEdC,OAAOP,IAaX,OAVAL,EAAKS,SAAW,CACd/B,EAAKe,QAAQ,UAAW,IACxBa,EACAH,EACAF,GAEFA,EAAKQ,SAAWJ,EAChBV,EAAWc,SAAWJ,EACtBP,EAASW,SAAW,CAAEd,GAEf,CACLkB,KAAM,UACNC,QAAS,CAAE,OACXtB,QAAS,KACTiB,SAAU,CACRT,EACAX,EACAQ,EACAC,EACAL,EACAM,EACAJ,EACAR,EACAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clojure.js"],"sourcesContent":["/*\nLanguage: Clojure\nDescription: Clojure syntax (based on lisp.js)\nAuthor: mfornos\nWebsite: https://clojure.org\nCategory: lisp\n*/\n\n/** @type LanguageFn */\nfunction clojure(hljs) {\n const SYMBOLSTART = 'a-zA-Z_\\\\-!.?+*=<>\\'';\n const SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';\n const globals = 'def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord';\n const keywords = {\n $pattern: SYMBOL_RE,\n 'builtin-name':\n // Clojure keywords\n globals + ' ' +\n 'cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem ' +\n 'quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? ' +\n 'set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? ' +\n 'class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? ' +\n 'string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . ' +\n 'inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last ' +\n 'drop-while while intern condp case reduced cycle split-at split-with repeat replicate ' +\n 'iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext ' +\n 'nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends ' +\n 'add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler ' +\n 'set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter ' +\n 'monitor-exit macroexpand macroexpand-1 for dosync and or ' +\n 'when when-not when-let comp juxt partial sequence memoize constantly complement identity assert ' +\n 'peek pop doto proxy first rest cons cast coll last butlast ' +\n 'sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import ' +\n 'refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! ' +\n 'assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger ' +\n 'bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline ' +\n 'flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking ' +\n 'assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! ' +\n 'reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! ' +\n 'new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty ' +\n 'hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list ' +\n 'disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer ' +\n 'chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate ' +\n 'unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta ' +\n 'lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize'\n };\n\n const SIMPLE_NUMBER_RE = '[-+]?\\\\d+(\\\\.\\\\d+)?';\n\n const SYMBOL = {\n begin: SYMBOL_RE,\n relevance: 0\n };\n const NUMBER = {\n className: 'number',\n begin: SIMPLE_NUMBER_RE,\n relevance: 0\n };\n const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null\n });\n const COMMENT = hljs.COMMENT(\n ';',\n '$',\n {\n relevance: 0\n }\n );\n const LITERAL = {\n className: 'literal',\n begin: /\\b(true|false|nil)\\b/\n };\n const COLLECTION = {\n begin: '[\\\\[\\\\{]',\n end: '[\\\\]\\\\}]'\n };\n const HINT = {\n className: 'comment',\n begin: '\\\\^' + SYMBOL_RE\n };\n const HINT_COL = hljs.COMMENT('\\\\^\\\\{', '\\\\}');\n const KEY = {\n className: 'symbol',\n begin: '[:]{1,2}' + SYMBOL_RE\n };\n const LIST = {\n begin: '\\\\(',\n end: '\\\\)'\n };\n const BODY = {\n endsWithParent: true,\n relevance: 0\n };\n const NAME = {\n keywords: keywords,\n className: 'name',\n begin: SYMBOL_RE,\n relevance: 0,\n starts: BODY\n };\n const DEFAULT_CONTAINS = [\n LIST,\n STRING,\n HINT,\n HINT_COL,\n COMMENT,\n KEY,\n COLLECTION,\n NUMBER,\n LITERAL,\n SYMBOL\n ];\n\n const GLOBAL = {\n beginKeywords: globals,\n lexemes: SYMBOL_RE,\n end: '(\\\\[|#|\\\\d|\"|:|\\\\{|\\\\)|\\\\(|$)',\n contains: [\n {\n className: 'title',\n begin: SYMBOL_RE,\n relevance: 0,\n excludeEnd: true,\n // we can only have a single title\n endsParent: true\n }\n ].concat(DEFAULT_CONTAINS)\n };\n\n LIST.contains = [\n hljs.COMMENT('comment', ''),\n GLOBAL,\n NAME,\n BODY\n ];\n BODY.contains = DEFAULT_CONTAINS;\n COLLECTION.contains = DEFAULT_CONTAINS;\n HINT_COL.contains = [ COLLECTION ];\n\n return {\n name: 'Clojure',\n aliases: [ 'clj' ],\n illegal: /\\S/,\n contains: [\n LIST,\n STRING,\n HINT,\n HINT_COL,\n COMMENT,\n KEY,\n COLLECTION,\n NUMBER,\n LITERAL\n ]\n };\n}\n\nmodule.exports = clojure;\n"],"names":["module","exports","hljs","SYMBOLSTART","SYMBOL_RE","globals","keywords","$pattern","SYMBOL","begin","relevance","NUMBER","className","STRING","inherit","QUOTE_STRING_MODE","illegal","COMMENT","LITERAL","COLLECTION","end","HINT","HINT_COL","KEY","LIST","BODY","endsWithParent","NAME","starts","DEFAULT_CONTAINS","GLOBAL","beginKeywords","lexemes","contains","excludeEnd","endsParent","concat","name","aliases"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/clojure.js?v=0ff7a321eaadebf5e5fb","mappings":"+GA6JAA,EAAOC,QApJP,SAAiBC,GACf,MAAMC,EAAc,wBACdC,EAAY,IAAMD,EAAc,KAAOA,EAAc,WACrDE,EAAU,6FACVC,EAAW,CACfC,SAAUH,EACV,eAEEC,++EAgCEG,EAAS,CACbC,MAAOL,EACPM,UAAW,GAEPC,EAAS,CACbC,UAAW,SACXH,MARuB,sBASvBC,UAAW,GAEPG,EAASX,EAAKY,QAAQZ,EAAKa,kBAAmB,CAClDC,QAAS,OAELC,EAAUf,EAAKe,QACnB,IACA,IACA,CACEP,UAAW,IAGTQ,EAAU,CACdN,UAAW,UACXH,MAAO,wBAEHU,EAAa,CACjBV,MAAO,WACPW,IAAK,YAEDC,EAAO,CACXT,UAAW,UACXH,MAAO,MAAQL,GAEXkB,EAAWpB,EAAKe,QAAQ,SAAU,OAClCM,EAAM,CACVX,UAAW,SACXH,MAAO,WAAaL,GAEhBoB,EAAO,CACXf,MAAO,MACPW,IAAK,OAEDK,EAAO,CACXC,gBAAgB,EAChBhB,UAAW,GAEPiB,EAAO,CACXrB,SAAUA,EACVM,UAAW,OACXH,MAAOL,EACPM,UAAW,EACXkB,OAAQH,GAEJI,EAAmB,CACvBL,EACAX,EACAQ,EACAC,EACAL,EACAM,EACAJ,EACAR,EACAO,EACAV,GAGIsB,EAAS,CACbC,cAAe1B,EACf2B,QAAS5B,EACTgB,IAAK,gCACLa,SAAU,CACR,CACErB,UAAW,QACXH,MAAOL,EACPM,UAAW,EACXwB,YAAY,EAEZC,YAAY,IAEdC,OAAOP,IAaX,OAVAL,EAAKS,SAAW,CACd/B,EAAKe,QAAQ,UAAW,IACxBa,EACAH,EACAF,GAEFA,EAAKQ,SAAWJ,EAChBV,EAAWc,SAAWJ,EACtBP,EAASW,SAAW,CAAEd,GAEf,CACLkB,KAAM,UACNC,QAAS,CAAE,OACXtB,QAAS,KACTiB,SAAU,CACRT,EACAX,EACAQ,EACAC,EACAL,EACAM,EACAJ,EACAR,EACAO,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/clojure.js"],"sourcesContent":["/*\nLanguage: Clojure\nDescription: Clojure syntax (based on lisp.js)\nAuthor: mfornos\nWebsite: https://clojure.org\nCategory: lisp\n*/\n\n/** @type LanguageFn */\nfunction clojure(hljs) {\n const SYMBOLSTART = 'a-zA-Z_\\\\-!.?+*=<>\\'';\n const SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';\n const globals = 'def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord';\n const keywords = {\n $pattern: SYMBOL_RE,\n 'builtin-name':\n // Clojure keywords\n globals + ' ' +\n 'cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem ' +\n 'quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? ' +\n 'set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? ' +\n 'class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? ' +\n 'string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . ' +\n 'inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last ' +\n 'drop-while while intern condp case reduced cycle split-at split-with repeat replicate ' +\n 'iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext ' +\n 'nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends ' +\n 'add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler ' +\n 'set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter ' +\n 'monitor-exit macroexpand macroexpand-1 for dosync and or ' +\n 'when when-not when-let comp juxt partial sequence memoize constantly complement identity assert ' +\n 'peek pop doto proxy first rest cons cast coll last butlast ' +\n 'sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import ' +\n 'refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! ' +\n 'assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger ' +\n 'bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline ' +\n 'flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking ' +\n 'assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! ' +\n 'reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! ' +\n 'new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty ' +\n 'hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list ' +\n 'disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer ' +\n 'chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate ' +\n 'unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta ' +\n 'lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize'\n };\n\n const SIMPLE_NUMBER_RE = '[-+]?\\\\d+(\\\\.\\\\d+)?';\n\n const SYMBOL = {\n begin: SYMBOL_RE,\n relevance: 0\n };\n const NUMBER = {\n className: 'number',\n begin: SIMPLE_NUMBER_RE,\n relevance: 0\n };\n const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null\n });\n const COMMENT = hljs.COMMENT(\n ';',\n '$',\n {\n relevance: 0\n }\n );\n const LITERAL = {\n className: 'literal',\n begin: /\\b(true|false|nil)\\b/\n };\n const COLLECTION = {\n begin: '[\\\\[\\\\{]',\n end: '[\\\\]\\\\}]'\n };\n const HINT = {\n className: 'comment',\n begin: '\\\\^' + SYMBOL_RE\n };\n const HINT_COL = hljs.COMMENT('\\\\^\\\\{', '\\\\}');\n const KEY = {\n className: 'symbol',\n begin: '[:]{1,2}' + SYMBOL_RE\n };\n const LIST = {\n begin: '\\\\(',\n end: '\\\\)'\n };\n const BODY = {\n endsWithParent: true,\n relevance: 0\n };\n const NAME = {\n keywords: keywords,\n className: 'name',\n begin: SYMBOL_RE,\n relevance: 0,\n starts: BODY\n };\n const DEFAULT_CONTAINS = [\n LIST,\n STRING,\n HINT,\n HINT_COL,\n COMMENT,\n KEY,\n COLLECTION,\n NUMBER,\n LITERAL,\n SYMBOL\n ];\n\n const GLOBAL = {\n beginKeywords: globals,\n lexemes: SYMBOL_RE,\n end: '(\\\\[|#|\\\\d|\"|:|\\\\{|\\\\)|\\\\(|$)',\n contains: [\n {\n className: 'title',\n begin: SYMBOL_RE,\n relevance: 0,\n excludeEnd: true,\n // we can only have a single title\n endsParent: true\n }\n ].concat(DEFAULT_CONTAINS)\n };\n\n LIST.contains = [\n hljs.COMMENT('comment', ''),\n GLOBAL,\n NAME,\n BODY\n ];\n BODY.contains = DEFAULT_CONTAINS;\n COLLECTION.contains = DEFAULT_CONTAINS;\n HINT_COL.contains = [ COLLECTION ];\n\n return {\n name: 'Clojure',\n aliases: [ 'clj' ],\n illegal: /\\S/,\n contains: [\n LIST,\n STRING,\n HINT,\n HINT_COL,\n COMMENT,\n KEY,\n COLLECTION,\n NUMBER,\n LITERAL\n ]\n };\n}\n\nmodule.exports = clojure;\n"],"names":["module","exports","hljs","SYMBOLSTART","SYMBOL_RE","globals","keywords","$pattern","SYMBOL","begin","relevance","NUMBER","className","STRING","inherit","QUOTE_STRING_MODE","illegal","COMMENT","LITERAL","COLLECTION","end","HINT","HINT_COL","KEY","LIST","BODY","endsWithParent","NAME","starts","DEFAULT_CONTAINS","GLOBAL","beginKeywords","lexemes","contains","excludeEnd","endsParent","concat","name","aliases"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/cmake.js.map b/js/highlight/cmake.js.map
index ea171e05344..bd491c9bd80 100644
--- a/js/highlight/cmake.js.map
+++ b/js/highlight/cmake.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/cmake.js?v=bb6eea18e36693d3ee13","mappings":"6GA+DAA,EAAOC,QAvDP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,QAAS,CAAC,YACVC,kBAAkB,EAClBC,SAAU,CACRC,QAEE,woEAkCJC,SAAU,CACR,CACEC,UAAW,WACXC,MAAO,OACPC,IAAK,MAEPT,EAAKU,kBACLV,EAAKW,kBACLX,EAAKY","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cmake.js"],"sourcesContent":["/*\nLanguage: CMake\nDescription: CMake is an open-source cross-platform system for build automation.\nAuthor: Igor Kalnitsky \nWebsite: https://cmake.org\n*/\n\n/** @type LanguageFn */\nfunction cmake(hljs) {\n return {\n name: 'CMake',\n aliases: ['cmake.in'],\n case_insensitive: true,\n keywords: {\n keyword:\n // scripting commands\n 'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments ' +\n 'cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ' +\n 'endwhile execute_process file find_file find_library find_package find_path ' +\n 'find_program foreach function get_cmake_property get_directory_property ' +\n 'get_filename_component get_property if include include_guard list macro ' +\n 'mark_as_advanced math message option return separate_arguments ' +\n 'set_directory_properties set_property set site_name string unset variable_watch while ' +\n // project commands\n 'add_compile_definitions add_compile_options add_custom_command add_custom_target ' +\n 'add_definitions add_dependencies add_executable add_library add_link_options ' +\n 'add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ' +\n 'define_property enable_language enable_testing export fltk_wrap_ui ' +\n 'get_source_file_property get_target_property get_test_property include_directories ' +\n 'include_external_msproject include_regular_expression install link_directories ' +\n 'link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ' +\n 'set_source_files_properties set_target_properties set_tests_properties source_group ' +\n 'target_compile_definitions target_compile_features target_compile_options ' +\n 'target_include_directories target_link_directories target_link_libraries ' +\n 'target_link_options target_sources try_compile try_run ' +\n // CTest commands\n 'ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ' +\n 'ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ' +\n 'ctest_test ctest_update ctest_upload ' +\n // deprecated commands\n 'build_name exec_program export_library_dependencies install_files install_programs ' +\n 'install_targets load_command make_directory output_required_files remove ' +\n 'subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file ' +\n 'qt5_use_modules qt5_use_package qt5_wrap_cpp ' +\n // core keywords\n 'on off true false and or not command policy target test exists is_newer_than ' +\n 'is_directory is_symlink is_absolute matches less greater equal less_equal ' +\n 'greater_equal strless strgreater strequal strless_equal strgreater_equal version_less ' +\n 'version_greater version_equal version_less_equal version_greater_equal in_list defined'\n },\n contains: [\n {\n className: 'variable',\n begin: /\\$\\{/,\n end: /\\}/\n },\n hljs.HASH_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = cmake;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","keywords","keyword","contains","className","begin","end","HASH_COMMENT_MODE","QUOTE_STRING_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/cmake.js?v=bb6eea18e36693d3ee13","mappings":"6GA+DAA,EAAOC,QAvDP,SAAeC,GACb,MAAO,CACLC,KAAM,QACNC,QAAS,CAAC,YACVC,kBAAkB,EAClBC,SAAU,CACRC,QAEE,woEAkCJC,SAAU,CACR,CACEC,UAAW,WACXC,MAAO,OACPC,IAAK,MAEPT,EAAKU,kBACLV,EAAKW,kBACLX,EAAKY,aAGX,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cmake.js"],"sourcesContent":["/*\nLanguage: CMake\nDescription: CMake is an open-source cross-platform system for build automation.\nAuthor: Igor Kalnitsky \nWebsite: https://cmake.org\n*/\n\n/** @type LanguageFn */\nfunction cmake(hljs) {\n return {\n name: 'CMake',\n aliases: ['cmake.in'],\n case_insensitive: true,\n keywords: {\n keyword:\n // scripting commands\n 'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments ' +\n 'cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ' +\n 'endwhile execute_process file find_file find_library find_package find_path ' +\n 'find_program foreach function get_cmake_property get_directory_property ' +\n 'get_filename_component get_property if include include_guard list macro ' +\n 'mark_as_advanced math message option return separate_arguments ' +\n 'set_directory_properties set_property set site_name string unset variable_watch while ' +\n // project commands\n 'add_compile_definitions add_compile_options add_custom_command add_custom_target ' +\n 'add_definitions add_dependencies add_executable add_library add_link_options ' +\n 'add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ' +\n 'define_property enable_language enable_testing export fltk_wrap_ui ' +\n 'get_source_file_property get_target_property get_test_property include_directories ' +\n 'include_external_msproject include_regular_expression install link_directories ' +\n 'link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ' +\n 'set_source_files_properties set_target_properties set_tests_properties source_group ' +\n 'target_compile_definitions target_compile_features target_compile_options ' +\n 'target_include_directories target_link_directories target_link_libraries ' +\n 'target_link_options target_sources try_compile try_run ' +\n // CTest commands\n 'ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ' +\n 'ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ' +\n 'ctest_test ctest_update ctest_upload ' +\n // deprecated commands\n 'build_name exec_program export_library_dependencies install_files install_programs ' +\n 'install_targets load_command make_directory output_required_files remove ' +\n 'subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file ' +\n 'qt5_use_modules qt5_use_package qt5_wrap_cpp ' +\n // core keywords\n 'on off true false and or not command policy target test exists is_newer_than ' +\n 'is_directory is_symlink is_absolute matches less greater equal less_equal ' +\n 'greater_equal strless strgreater strequal strless_equal strgreater_equal version_less ' +\n 'version_greater version_equal version_less_equal version_greater_equal in_list defined'\n },\n contains: [\n {\n className: 'variable',\n begin: /\\$\\{/,\n end: /\\}/\n },\n hljs.HASH_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = cmake;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","keywords","keyword","contains","className","begin","end","HASH_COMMENT_MODE","QUOTE_STRING_MODE","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/coffeescript.js.map b/js/highlight/coffeescript.js.map
index a2f461feaf1..3fb24f9843f 100644
--- a/js/highlight/coffeescript.js.map
+++ b/js/highlight/coffeescript.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/coffeescript.js?v=6e6181f1de7fa33148ed","mappings":"mHAAA,MAAMA,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIC,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAoFIC,EAAY,GAAGC,OAlCI,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGyB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UA9EY,CACZ,OACA,WACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,UACA,QACA,SACA,MACA,MACA,UACA,UACA,QACA,UACA,OACA,UACA,eACA,aACA,aACA,YACA,cACA,cACA,eACA,QACA,aACA,oBACA,cACA,gBACA,iBACA,UAGkB,CAClB,YACA,gBACA,aACA,iBACA,cACA,YACA,aAmQFC,EAAOC,QA7MP,SAAsBC,GACpB,MAgCMC,EAAa,CACjBC,QAASR,EAASG,OAvBI,CACtB,OACA,SACA,QACA,OACA,KACA,OACA,MACA,KACA,KACA,OACA,QAY0CM,QAHzBC,EAPQ,CACzB,MACA,QACA,MACA,WACA,UAGCC,IAAQD,EAAKE,SAASD,KAGvBE,QAASZ,EAASE,OA9BI,CACtB,MACA,KACA,KACA,QA2BAW,SAAUZ,EAAUC,OAnCG,CACvB,MACA,WA4BgB,IAACO,EAOnB,MAAMK,EAAc,2BACdC,EAAQ,CACZC,UAAW,QACXC,MAAO,MACPC,IAAK,KACLC,SAAUb,GAENc,EAAc,CAClBf,EAAKgB,mBACLhB,EAAKiB,QAAQjB,EAAKkB,cAAe,CAC/BC,OAAQ,CACNN,IAAK,WACLO,UAAW,KAGf,CACET,UAAW,SACXU,SAAU,CACR,CACET,MAAO,MACPC,IAAK,MACLS,SAAU,CAACtB,EAAKuB,mBAElB,CACEX,MAAO,IACPC,IAAK,IACLS,SAAU,CAACtB,EAAKuB,mBAElB,CACEX,MAAO,MACPC,IAAK,MACLS,SAAU,CACRtB,EAAKuB,iBACLb,IAGJ,CACEE,MAAO,IACPC,IAAK,IACLS,SAAU,CACRtB,EAAKuB,iBACLb,MAKR,CACEC,UAAW,SACXU,SAAU,CACR,CACET,MAAO,MACPC,IAAK,MACLS,SAAU,CACRZ,EACAV,EAAKwB,oBAGT,CACEZ,MAAO,sBACPQ,UAAW,GAEb,CAGER,MAAO,8CAIb,CACEA,MAAO,IAAMH,GAEf,CACEgB,YAAa,aACbC,cAAc,EACdC,YAAY,EACZN,SAAU,CACR,CACET,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,IACPC,IAAK,QAKbH,EAAMY,SAAWP,EAEjB,MAAMa,EAAQ5B,EAAKiB,QAAQjB,EAAK6B,WAAY,CAC1CjB,MAAOH,IAEHqB,EAAqB,0BACrBC,EAAS,CACbpB,UAAW,SACXC,MAAO,YACPoB,aAAa,EAGbV,SAAU,CAAC,CACTV,MAAO,KACPC,IAAK,KACLC,SAAUb,EACVqB,SAAU,CAAC,QAAQzB,OAAOkB,MAI9B,MAAO,CACLkB,KAAM,eACNC,QAAS,CACP,SACA,OACA,QAEFpB,SAAUb,EACVkC,QAAS,OACTb,SAAUP,EAAYlB,OAAO,CAC3BG,EAAKoC,QAAQ,MAAO,OACpBpC,EAAKwB,kBACL,CACEb,UAAW,WACXC,MAAO,QAAUH,EAAc,YAAcqB,EAC7CjB,IAAK,QACLmB,aAAa,EACbV,SAAU,CACRM,EACAG,IAGJ,CAEEnB,MAAO,aACPQ,UAAW,EACXE,SAAU,CAAC,CACTX,UAAW,WACXC,MAAOkB,EACPjB,IAAK,QACLmB,aAAa,EACbV,SAAU,CAACS,MAGf,CACEpB,UAAW,QACX0B,cAAe,QACfxB,IAAK,IACLsB,QAAS,YACTb,SAAU,CACR,CACEe,cAAe,UACfC,gBAAgB,EAChBH,QAAS,YACTb,SAAU,CAACM,IAEbA,IAGJ,CACEhB,MAAOH,EAAc,IACrBI,IAAK,IACLmB,aAAa,EACbO,WAAW,EACXnB,UAAW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/coffeescript.js"],"sourcesContent":["const KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\nconst TYPES = [\n \"Intl\",\n \"DataView\",\n \"Number\",\n \"Math\",\n \"Date\",\n \"String\",\n \"RegExp\",\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Error\",\n \"Symbol\",\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n \"Proxy\",\n \"Reflect\",\n \"JSON\",\n \"Promise\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"ArrayBuffer\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n BUILT_IN_VARIABLES,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: CoffeeScript\nAuthor: Dmytrii Nagirniak \nContributors: Oleg Efimov , Cédric Néhémie \nDescription: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/\nCategory: common, scripting\nWebsite: https://coffeescript.org\n*/\n\n/** @type LanguageFn */\nfunction coffeescript(hljs) {\n const COFFEE_BUILT_INS = [\n 'npm',\n 'print'\n ];\n const COFFEE_LITERALS = [\n 'yes',\n 'no',\n 'on',\n 'off'\n ];\n const COFFEE_KEYWORDS = [\n 'then',\n 'unless',\n 'until',\n 'loop',\n 'by',\n 'when',\n 'and',\n 'or',\n 'is',\n 'isnt',\n 'not'\n ];\n const NOT_VALID_KEYWORDS = [\n \"var\",\n \"const\",\n \"let\",\n \"function\",\n \"static\"\n ];\n const excluding = (list) =>\n (kw) => !list.includes(kw);\n const KEYWORDS$1 = {\n keyword: KEYWORDS.concat(COFFEE_KEYWORDS).filter(excluding(NOT_VALID_KEYWORDS)),\n literal: LITERALS.concat(COFFEE_LITERALS),\n built_in: BUILT_INS.concat(COFFEE_BUILT_INS)\n };\n const JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1\n };\n const EXPRESSIONS = [\n hljs.BINARY_NUMBER_MODE,\n hljs.inherit(hljs.C_NUMBER_MODE, {\n starts: {\n end: '(\\\\s*/)?',\n relevance: 0\n }\n }), // a number tries to eat the following slash to prevent treating it as a regexp\n {\n className: 'string',\n variants: [\n {\n begin: /'''/,\n end: /'''/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n }\n ]\n },\n {\n className: 'regexp',\n variants: [\n {\n begin: '///',\n end: '///',\n contains: [\n SUBST,\n hljs.HASH_COMMENT_MODE\n ]\n },\n {\n begin: '//[gim]{0,3}(?=\\\\W)',\n relevance: 0\n },\n {\n // regex can't start with space to parse x / 2 / 3 as two divisions\n // regex can't start with *, and it supports an \"illegal\" in the main mode\n begin: /\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)/\n }\n ]\n },\n {\n begin: '@' + JS_IDENT_RE // relevance booster\n },\n {\n subLanguage: 'javascript',\n excludeBegin: true,\n excludeEnd: true,\n variants: [\n {\n begin: '```',\n end: '```'\n },\n {\n begin: '`',\n end: '`'\n }\n ]\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n const TITLE = hljs.inherit(hljs.TITLE_MODE, {\n begin: JS_IDENT_RE\n });\n const POSSIBLE_PARAMS_RE = '(\\\\(.*\\\\)\\\\s*)?\\\\B[-=]>';\n const PARAMS = {\n className: 'params',\n begin: '\\\\([^\\\\(]',\n returnBegin: true,\n /* We need another contained nameless mode to not have every nested\n pair of parens to be called \"params\" */\n contains: [{\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: ['self'].concat(EXPRESSIONS)\n }]\n };\n\n return {\n name: 'CoffeeScript',\n aliases: [\n 'coffee',\n 'cson',\n 'iced'\n ],\n keywords: KEYWORDS$1,\n illegal: /\\/\\*/,\n contains: EXPRESSIONS.concat([\n hljs.COMMENT('###', '###'),\n hljs.HASH_COMMENT_MODE,\n {\n className: 'function',\n begin: '^\\\\s*' + JS_IDENT_RE + '\\\\s*=\\\\s*' + POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [\n TITLE,\n PARAMS\n ]\n },\n {\n // anonymous function start\n begin: /[:\\(,=]\\s*/,\n relevance: 0,\n contains: [{\n className: 'function',\n begin: POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [PARAMS]\n }]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '$',\n illegal: /[:=\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends',\n endsWithParent: true,\n illegal: /[:=\"\\[\\]]/,\n contains: [TITLE]\n },\n TITLE\n ]\n },\n {\n begin: JS_IDENT_RE + ':',\n end: ':',\n returnBegin: true,\n returnEnd: true,\n relevance: 0\n }\n ])\n };\n}\n\nmodule.exports = coffeescript;\n"],"names":["KEYWORDS","LITERALS","BUILT_INS","concat","module","exports","hljs","KEYWORDS$1","keyword","filter","list","kw","includes","literal","built_in","JS_IDENT_RE","SUBST","className","begin","end","keywords","EXPRESSIONS","BINARY_NUMBER_MODE","inherit","C_NUMBER_MODE","starts","relevance","variants","contains","BACKSLASH_ESCAPE","HASH_COMMENT_MODE","subLanguage","excludeBegin","excludeEnd","TITLE","TITLE_MODE","POSSIBLE_PARAMS_RE","PARAMS","returnBegin","name","aliases","illegal","COMMENT","beginKeywords","endsWithParent","returnEnd"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/coffeescript.js?v=6e6181f1de7fa33148ed","mappings":"mHAAA,MAAMA,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIC,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAoFIC,EAAY,GAAGC,OAlCI,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGyB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UA9EY,CACZ,OACA,WACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,UACA,QACA,SACA,MACA,MACA,UACA,UACA,QACA,UACA,OACA,UACA,eACA,aACA,aACA,YACA,cACA,cACA,eACA,QACA,aACA,oBACA,cACA,gBACA,iBACA,UAGkB,CAClB,YACA,gBACA,aACA,iBACA,cACA,YACA,aAmQFC,EAAOC,QA7MP,SAAsBC,GACpB,MAgCMC,EAAa,CACjBC,QAASR,EAASG,OAvBI,CACtB,OACA,SACA,QACA,OACA,KACA,OACA,MACA,KACA,KACA,OACA,QAY0CM,QAHzBC,EAPQ,CACzB,MACA,QACA,MACA,WACA,UAGCC,IAAQD,EAAKE,SAASD,KAGvBE,QAASZ,EAASE,OA9BI,CACtB,MACA,KACA,KACA,QA2BAW,SAAUZ,EAAUC,OAnCG,CACvB,MACA,WA4BgB,IAACO,EAOnB,MAAMK,EAAc,2BACdC,EAAQ,CACZC,UAAW,QACXC,MAAO,MACPC,IAAK,KACLC,SAAUb,GAENc,EAAc,CAClBf,EAAKgB,mBACLhB,EAAKiB,QAAQjB,EAAKkB,cAAe,CAC/BC,OAAQ,CACNN,IAAK,WACLO,UAAW,KAGf,CACET,UAAW,SACXU,SAAU,CACR,CACET,MAAO,MACPC,IAAK,MACLS,SAAU,CAACtB,EAAKuB,mBAElB,CACEX,MAAO,IACPC,IAAK,IACLS,SAAU,CAACtB,EAAKuB,mBAElB,CACEX,MAAO,MACPC,IAAK,MACLS,SAAU,CACRtB,EAAKuB,iBACLb,IAGJ,CACEE,MAAO,IACPC,IAAK,IACLS,SAAU,CACRtB,EAAKuB,iBACLb,MAKR,CACEC,UAAW,SACXU,SAAU,CACR,CACET,MAAO,MACPC,IAAK,MACLS,SAAU,CACRZ,EACAV,EAAKwB,oBAGT,CACEZ,MAAO,sBACPQ,UAAW,GAEb,CAGER,MAAO,8CAIb,CACEA,MAAO,IAAMH,GAEf,CACEgB,YAAa,aACbC,cAAc,EACdC,YAAY,EACZN,SAAU,CACR,CACET,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,IACPC,IAAK,QAKbH,EAAMY,SAAWP,EAEjB,MAAMa,EAAQ5B,EAAKiB,QAAQjB,EAAK6B,WAAY,CAC1CjB,MAAOH,IAEHqB,EAAqB,0BACrBC,EAAS,CACbpB,UAAW,SACXC,MAAO,YACPoB,aAAa,EAGbV,SAAU,CAAC,CACTV,MAAO,KACPC,IAAK,KACLC,SAAUb,EACVqB,SAAU,CAAC,QAAQzB,OAAOkB,MAI9B,MAAO,CACLkB,KAAM,eACNC,QAAS,CACP,SACA,OACA,QAEFpB,SAAUb,EACVkC,QAAS,OACTb,SAAUP,EAAYlB,OAAO,CAC3BG,EAAKoC,QAAQ,MAAO,OACpBpC,EAAKwB,kBACL,CACEb,UAAW,WACXC,MAAO,QAAUH,EAAc,YAAcqB,EAC7CjB,IAAK,QACLmB,aAAa,EACbV,SAAU,CACRM,EACAG,IAGJ,CAEEnB,MAAO,aACPQ,UAAW,EACXE,SAAU,CAAC,CACTX,UAAW,WACXC,MAAOkB,EACPjB,IAAK,QACLmB,aAAa,EACbV,SAAU,CAACS,MAGf,CACEpB,UAAW,QACX0B,cAAe,QACfxB,IAAK,IACLsB,QAAS,YACTb,SAAU,CACR,CACEe,cAAe,UACfC,gBAAgB,EAChBH,QAAS,YACTb,SAAU,CAACM,IAEbA,IAGJ,CACEhB,MAAOH,EAAc,IACrBI,IAAK,IACLmB,aAAa,EACbO,WAAW,EACXnB,UAAW,KAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/coffeescript.js"],"sourcesContent":["const KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\nconst TYPES = [\n \"Intl\",\n \"DataView\",\n \"Number\",\n \"Math\",\n \"Date\",\n \"String\",\n \"RegExp\",\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Error\",\n \"Symbol\",\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n \"Proxy\",\n \"Reflect\",\n \"JSON\",\n \"Promise\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"ArrayBuffer\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"BigInt\"\n];\n\nconst ERROR_TYPES = [\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n BUILT_IN_VARIABLES,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: CoffeeScript\nAuthor: Dmytrii Nagirniak \nContributors: Oleg Efimov , Cédric Néhémie \nDescription: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/\nCategory: common, scripting\nWebsite: https://coffeescript.org\n*/\n\n/** @type LanguageFn */\nfunction coffeescript(hljs) {\n const COFFEE_BUILT_INS = [\n 'npm',\n 'print'\n ];\n const COFFEE_LITERALS = [\n 'yes',\n 'no',\n 'on',\n 'off'\n ];\n const COFFEE_KEYWORDS = [\n 'then',\n 'unless',\n 'until',\n 'loop',\n 'by',\n 'when',\n 'and',\n 'or',\n 'is',\n 'isnt',\n 'not'\n ];\n const NOT_VALID_KEYWORDS = [\n \"var\",\n \"const\",\n \"let\",\n \"function\",\n \"static\"\n ];\n const excluding = (list) =>\n (kw) => !list.includes(kw);\n const KEYWORDS$1 = {\n keyword: KEYWORDS.concat(COFFEE_KEYWORDS).filter(excluding(NOT_VALID_KEYWORDS)),\n literal: LITERALS.concat(COFFEE_LITERALS),\n built_in: BUILT_INS.concat(COFFEE_BUILT_INS)\n };\n const JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1\n };\n const EXPRESSIONS = [\n hljs.BINARY_NUMBER_MODE,\n hljs.inherit(hljs.C_NUMBER_MODE, {\n starts: {\n end: '(\\\\s*/)?',\n relevance: 0\n }\n }), // a number tries to eat the following slash to prevent treating it as a regexp\n {\n className: 'string',\n variants: [\n {\n begin: /'''/,\n end: /'''/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n },\n {\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n }\n ]\n },\n {\n className: 'regexp',\n variants: [\n {\n begin: '///',\n end: '///',\n contains: [\n SUBST,\n hljs.HASH_COMMENT_MODE\n ]\n },\n {\n begin: '//[gim]{0,3}(?=\\\\W)',\n relevance: 0\n },\n {\n // regex can't start with space to parse x / 2 / 3 as two divisions\n // regex can't start with *, and it supports an \"illegal\" in the main mode\n begin: /\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)/\n }\n ]\n },\n {\n begin: '@' + JS_IDENT_RE // relevance booster\n },\n {\n subLanguage: 'javascript',\n excludeBegin: true,\n excludeEnd: true,\n variants: [\n {\n begin: '```',\n end: '```'\n },\n {\n begin: '`',\n end: '`'\n }\n ]\n }\n ];\n SUBST.contains = EXPRESSIONS;\n\n const TITLE = hljs.inherit(hljs.TITLE_MODE, {\n begin: JS_IDENT_RE\n });\n const POSSIBLE_PARAMS_RE = '(\\\\(.*\\\\)\\\\s*)?\\\\B[-=]>';\n const PARAMS = {\n className: 'params',\n begin: '\\\\([^\\\\(]',\n returnBegin: true,\n /* We need another contained nameless mode to not have every nested\n pair of parens to be called \"params\" */\n contains: [{\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: ['self'].concat(EXPRESSIONS)\n }]\n };\n\n return {\n name: 'CoffeeScript',\n aliases: [\n 'coffee',\n 'cson',\n 'iced'\n ],\n keywords: KEYWORDS$1,\n illegal: /\\/\\*/,\n contains: EXPRESSIONS.concat([\n hljs.COMMENT('###', '###'),\n hljs.HASH_COMMENT_MODE,\n {\n className: 'function',\n begin: '^\\\\s*' + JS_IDENT_RE + '\\\\s*=\\\\s*' + POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [\n TITLE,\n PARAMS\n ]\n },\n {\n // anonymous function start\n begin: /[:\\(,=]\\s*/,\n relevance: 0,\n contains: [{\n className: 'function',\n begin: POSSIBLE_PARAMS_RE,\n end: '[-=]>',\n returnBegin: true,\n contains: [PARAMS]\n }]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '$',\n illegal: /[:=\"\\[\\]]/,\n contains: [\n {\n beginKeywords: 'extends',\n endsWithParent: true,\n illegal: /[:=\"\\[\\]]/,\n contains: [TITLE]\n },\n TITLE\n ]\n },\n {\n begin: JS_IDENT_RE + ':',\n end: ':',\n returnBegin: true,\n returnEnd: true,\n relevance: 0\n }\n ])\n };\n}\n\nmodule.exports = coffeescript;\n"],"names":["KEYWORDS","LITERALS","BUILT_INS","concat","module","exports","hljs","KEYWORDS$1","keyword","filter","list","kw","includes","literal","built_in","JS_IDENT_RE","SUBST","className","begin","end","keywords","EXPRESSIONS","BINARY_NUMBER_MODE","inherit","C_NUMBER_MODE","starts","relevance","variants","contains","BACKSLASH_ESCAPE","HASH_COMMENT_MODE","subLanguage","excludeBegin","excludeEnd","TITLE","TITLE_MODE","POSSIBLE_PARAMS_RE","PARAMS","returnBegin","name","aliases","illegal","COMMENT","beginKeywords","endsWithParent","returnEnd"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/coq.js.map b/js/highlight/coq.js.map
index 8d1a743d526..7cc45b6b4c1 100644
--- a/js/highlight/coq.js.map
+++ b/js/highlight/coq.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/coq.js?v=c39819510b96d6cfb79b","mappings":"2GA8EAA,EAAOC,QAtEP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,SAAU,CACRC,QACE,svDAyBFC,SACE,y5CAsBJC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,QAAQ,SAAU,UACvBP,EAAKQ,cACL,CACEC,UAAW,OACXC,cAAc,EACdC,MAAO,UACPC,IAAK,QAEP,CACED,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/coq.js"],"sourcesContent":["/*\nLanguage: Coq\nAuthor: Stephan Boyer \nCategory: functional\nWebsite: https://coq.inria.fr\n*/\n\n/** @type LanguageFn */\nfunction coq(hljs) {\n return {\n name: 'Coq',\n keywords: {\n keyword:\n '_|0 as at cofix else end exists exists2 fix for forall fun if IF in let ' +\n 'match mod Prop return Set then Type using where with ' +\n 'Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo ' +\n 'Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ' +\n 'Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture ' +\n 'Conjectures Constant constr Constraint Constructors Context Corollary ' +\n 'CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent ' +\n 'Derive Drop eauto End Equality Eval Example Existential Existentials ' +\n 'Existing Export exporting Extern Extract Extraction Fact Field Fields File ' +\n 'Fixpoint Focus for From Function Functional Generalizable Global Goal Grab ' +\n 'Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident ' +\n 'Identity If Immediate Implicit Import Include Inductive Infix Info Initial ' +\n 'Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear ' +\n 'Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML ' +\n 'Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation ' +\n 'Obligations Opaque Open Optimize Options Parameter Parameters Parametric ' +\n 'Path Paths pattern Polymorphic Preterm Print Printing Program Projections ' +\n 'Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark ' +\n 'Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save ' +\n 'Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern ' +\n 'SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies ' +\n 'Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time ' +\n 'Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused ' +\n 'Unfold Universe Universes Unset Unshelve using Variable Variables Variant ' +\n 'Verbose Visibility where with',\n built_in:\n 'abstract absurd admit after apply as assert assumption at auto autorewrite ' +\n 'autounfold before bottom btauto by case case_eq cbn cbv change ' +\n 'classical_left classical_right clear clearbody cofix compare compute ' +\n 'congruence constr_eq constructor contradict contradiction cut cutrewrite ' +\n 'cycle decide decompose dependent destruct destruction dintuition ' +\n 'discriminate discrR do double dtauto eapply eassumption eauto ecase ' +\n 'econstructor edestruct ediscriminate eelim eexact eexists einduction ' +\n 'einjection eleft elim elimtype enough equality erewrite eright ' +\n 'esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail ' +\n 'field field_simplify field_simplify_eq first firstorder fix fold fourier ' +\n 'functional generalize generalizing gfail give_up has_evar hnf idtac in ' +\n 'induction injection instantiate intro intro_pattern intros intuition ' +\n 'inversion inversion_clear is_evar is_var lapply lazy left lia lra move ' +\n 'native_compute nia nsatz omega once pattern pose progress proof psatz quote ' +\n 'record red refine reflexivity remember rename repeat replace revert ' +\n 'revgoals rewrite rewrite_strat right ring ring_simplify rtauto set ' +\n 'setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry ' +\n 'setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve ' +\n 'specialize split split_Rabs split_Rmult stepl stepr subst sum swap ' +\n 'symmetry tactic tauto time timeout top transitivity trivial try tryif ' +\n 'unfold unify until using vm_compute with'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.COMMENT('\\\\(\\\\*', '\\\\*\\\\)'),\n hljs.C_NUMBER_MODE,\n {\n className: 'type',\n excludeBegin: true,\n begin: '\\\\|\\\\s*',\n end: '\\\\w+'\n },\n { // relevance booster\n begin: /[-=]>/\n }\n ]\n };\n}\n\nmodule.exports = coq;\n"],"names":["module","exports","hljs","name","keywords","keyword","built_in","contains","QUOTE_STRING_MODE","COMMENT","C_NUMBER_MODE","className","excludeBegin","begin","end"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/coq.js?v=c39819510b96d6cfb79b","mappings":"2GA8EAA,EAAOC,QAtEP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,SAAU,CACRC,QACE,svDAyBFC,SACE,y5CAsBJC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,QAAQ,SAAU,UACvBP,EAAKQ,cACL,CACEC,UAAW,OACXC,cAAc,EACdC,MAAO,UACPC,IAAK,QAEP,CACED,MAAO,UAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/coq.js"],"sourcesContent":["/*\nLanguage: Coq\nAuthor: Stephan Boyer \nCategory: functional\nWebsite: https://coq.inria.fr\n*/\n\n/** @type LanguageFn */\nfunction coq(hljs) {\n return {\n name: 'Coq',\n keywords: {\n keyword:\n '_|0 as at cofix else end exists exists2 fix for forall fun if IF in let ' +\n 'match mod Prop return Set then Type using where with ' +\n 'Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo ' +\n 'Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ' +\n 'Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture ' +\n 'Conjectures Constant constr Constraint Constructors Context Corollary ' +\n 'CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent ' +\n 'Derive Drop eauto End Equality Eval Example Existential Existentials ' +\n 'Existing Export exporting Extern Extract Extraction Fact Field Fields File ' +\n 'Fixpoint Focus for From Function Functional Generalizable Global Goal Grab ' +\n 'Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident ' +\n 'Identity If Immediate Implicit Import Include Inductive Infix Info Initial ' +\n 'Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear ' +\n 'Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML ' +\n 'Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation ' +\n 'Obligations Opaque Open Optimize Options Parameter Parameters Parametric ' +\n 'Path Paths pattern Polymorphic Preterm Print Printing Program Projections ' +\n 'Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark ' +\n 'Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save ' +\n 'Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern ' +\n 'SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies ' +\n 'Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time ' +\n 'Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused ' +\n 'Unfold Universe Universes Unset Unshelve using Variable Variables Variant ' +\n 'Verbose Visibility where with',\n built_in:\n 'abstract absurd admit after apply as assert assumption at auto autorewrite ' +\n 'autounfold before bottom btauto by case case_eq cbn cbv change ' +\n 'classical_left classical_right clear clearbody cofix compare compute ' +\n 'congruence constr_eq constructor contradict contradiction cut cutrewrite ' +\n 'cycle decide decompose dependent destruct destruction dintuition ' +\n 'discriminate discrR do double dtauto eapply eassumption eauto ecase ' +\n 'econstructor edestruct ediscriminate eelim eexact eexists einduction ' +\n 'einjection eleft elim elimtype enough equality erewrite eright ' +\n 'esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail ' +\n 'field field_simplify field_simplify_eq first firstorder fix fold fourier ' +\n 'functional generalize generalizing gfail give_up has_evar hnf idtac in ' +\n 'induction injection instantiate intro intro_pattern intros intuition ' +\n 'inversion inversion_clear is_evar is_var lapply lazy left lia lra move ' +\n 'native_compute nia nsatz omega once pattern pose progress proof psatz quote ' +\n 'record red refine reflexivity remember rename repeat replace revert ' +\n 'revgoals rewrite rewrite_strat right ring ring_simplify rtauto set ' +\n 'setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry ' +\n 'setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve ' +\n 'specialize split split_Rabs split_Rmult stepl stepr subst sum swap ' +\n 'symmetry tactic tauto time timeout top transitivity trivial try tryif ' +\n 'unfold unify until using vm_compute with'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.COMMENT('\\\\(\\\\*', '\\\\*\\\\)'),\n hljs.C_NUMBER_MODE,\n {\n className: 'type',\n excludeBegin: true,\n begin: '\\\\|\\\\s*',\n end: '\\\\w+'\n },\n { // relevance booster\n begin: /[-=]>/\n }\n ]\n };\n}\n\nmodule.exports = coq;\n"],"names":["module","exports","hljs","name","keywords","keyword","built_in","contains","QUOTE_STRING_MODE","COMMENT","C_NUMBER_MODE","className","excludeBegin","begin","end"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/cos.js.map b/js/highlight/cos.js.map
index fd6fa3bbe8d..81dbedd9be1 100644
--- a/js/highlight/cos.js.map
+++ b/js/highlight/cos.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/cos.js?v=74a18b2f35747e898a1f","mappings":"2GAyIAA,EAAOC,QAjIP,SAAaC,GAiEX,MAAO,CACLC,KAAM,sBACNC,kBAAkB,EAClBC,QAAS,CACP,OAEFC,SAnDA,gbAoDAC,SAAU,CA3DI,CACdC,UAAW,SACXC,MAAO,8BACPC,UAAW,GAfG,CACdF,UAAW,SACXG,SAAU,CAAC,CACTF,MAAO,IACPG,IAAK,IACLL,SAAU,CAAC,CACTE,MAAO,KACPC,UAAW,OAmEbR,EAAKW,oBACLX,EAAKY,qBACL,CACEN,UAAW,UACXC,MAAO,IACPG,IAAK,IACLF,UAAW,GAEb,CACEF,UAAW,WACXC,MAAO,8BAET,CACED,UAAW,WACXC,MAAO,mBAET,CACED,UAAW,WACXC,MAAO,wBAET,CACED,UAAW,SACXC,MAAO,qBAET,CACED,UAAW,UACXC,MAAO,gCAIT,CACEA,MAAO,SACPG,IAAK,KACLG,cAAc,EACdC,YAAY,EACZC,YAAa,OAEf,CACER,MAAO,4BACPG,IAAK,IACLG,cAAc,EACdC,YAAY,EACZC,YAAa,cAEf,CAEER,MAAO,aACPG,IAAK,QACLK,YAAa","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cos.js"],"sourcesContent":["/*\nLanguage: Caché Object Script\nAuthor: Nikita Savchenko \nCategory: enterprise, scripting\nWebsite: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls\n*/\n\n/** @type LanguageFn */\nfunction cos(hljs) {\n const STRINGS = {\n className: 'string',\n variants: [{\n begin: '\"',\n end: '\"',\n contains: [{ // escaped\n begin: \"\\\"\\\"\",\n relevance: 0\n }]\n }]\n };\n\n const NUMBERS = {\n className: \"number\",\n begin: \"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)\",\n relevance: 0\n };\n\n const COS_KEYWORDS =\n 'property parameter class classmethod clientmethod extends as break ' +\n 'catch close continue do d|0 else elseif for goto halt hang h|0 if job ' +\n 'j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 ' +\n 'tcommit throw trollback try tstart use view while write w|0 xecute x|0 ' +\n 'zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert ' +\n 'zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit ' +\n 'zsync ascii';\n\n // registered function - no need in them due to all functions are highlighted,\n // but I'll just leave this here.\n\n // \"$bit\", \"$bitcount\",\n // \"$bitfind\", \"$bitlogic\", \"$case\", \"$char\", \"$classmethod\", \"$classname\",\n // \"$compile\", \"$data\", \"$decimal\", \"$double\", \"$extract\", \"$factor\",\n // \"$find\", \"$fnumber\", \"$get\", \"$increment\", \"$inumber\", \"$isobject\",\n // \"$isvaliddouble\", \"$isvalidnum\", \"$justify\", \"$length\", \"$list\",\n // \"$listbuild\", \"$listdata\", \"$listfind\", \"$listfromstring\", \"$listget\",\n // \"$listlength\", \"$listnext\", \"$listsame\", \"$listtostring\", \"$listvalid\",\n // \"$locate\", \"$match\", \"$method\", \"$name\", \"$nconvert\", \"$next\",\n // \"$normalize\", \"$now\", \"$number\", \"$order\", \"$parameter\", \"$piece\",\n // \"$prefetchoff\", \"$prefetchon\", \"$property\", \"$qlength\", \"$qsubscript\",\n // \"$query\", \"$random\", \"$replace\", \"$reverse\", \"$sconvert\", \"$select\",\n // \"$sortbegin\", \"$sortend\", \"$stack\", \"$text\", \"$translate\", \"$view\",\n // \"$wascii\", \"$wchar\", \"$wextract\", \"$wfind\", \"$wiswide\", \"$wlength\",\n // \"$wreverse\", \"$xecute\", \"$zabs\", \"$zarccos\", \"$zarcsin\", \"$zarctan\",\n // \"$zcos\", \"$zcot\", \"$zcsc\", \"$zdate\", \"$zdateh\", \"$zdatetime\",\n // \"$zdatetimeh\", \"$zexp\", \"$zhex\", \"$zln\", \"$zlog\", \"$zpower\", \"$zsec\",\n // \"$zsin\", \"$zsqr\", \"$ztan\", \"$ztime\", \"$ztimeh\", \"$zboolean\",\n // \"$zconvert\", \"$zcrc\", \"$zcyc\", \"$zdascii\", \"$zdchar\", \"$zf\",\n // \"$ziswide\", \"$zlascii\", \"$zlchar\", \"$zname\", \"$zposition\", \"$zqascii\",\n // \"$zqchar\", \"$zsearch\", \"$zseek\", \"$zstrip\", \"$zwascii\", \"$zwchar\",\n // \"$zwidth\", \"$zwpack\", \"$zwbpack\", \"$zwunpack\", \"$zwbunpack\", \"$zzenkaku\",\n // \"$change\", \"$mv\", \"$mvat\", \"$mvfmt\", \"$mvfmts\", \"$mviconv\",\n // \"$mviconvs\", \"$mvinmat\", \"$mvlover\", \"$mvoconv\", \"$mvoconvs\", \"$mvraise\",\n // \"$mvtrans\", \"$mvv\", \"$mvname\", \"$zbitand\", \"$zbitcount\", \"$zbitfind\",\n // \"$zbitget\", \"$zbitlen\", \"$zbitnot\", \"$zbitor\", \"$zbitset\", \"$zbitstr\",\n // \"$zbitxor\", \"$zincrement\", \"$znext\", \"$zorder\", \"$zprevious\", \"$zsort\",\n // \"device\", \"$ecode\", \"$estack\", \"$etrap\", \"$halt\", \"$horolog\",\n // \"$io\", \"$job\", \"$key\", \"$namespace\", \"$principal\", \"$quit\", \"$roles\",\n // \"$storage\", \"$system\", \"$test\", \"$this\", \"$tlevel\", \"$username\",\n // \"$x\", \"$y\", \"$za\", \"$zb\", \"$zchild\", \"$zeof\", \"$zeos\", \"$zerror\",\n // \"$zhorolog\", \"$zio\", \"$zjob\", \"$zmode\", \"$znspace\", \"$zparent\", \"$zpi\",\n // \"$zpos\", \"$zreference\", \"$zstorage\", \"$ztimestamp\", \"$ztimezone\",\n // \"$ztrap\", \"$zversion\"\n\n return {\n name: 'Caché Object Script',\n case_insensitive: true,\n aliases: [\n \"cls\"\n ],\n keywords: COS_KEYWORDS,\n contains: [\n NUMBERS,\n STRINGS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: \"comment\",\n begin: /;/,\n end: \"$\",\n relevance: 0\n },\n { // Functions and user-defined functions: write $ztime(60*60*3), $$myFunc(10), $$^Val(1)\n className: \"built_in\",\n begin: /(?:\\$\\$?|\\.\\.)\\^?[a-zA-Z]+/\n },\n { // Macro command: quit $$$OK\n className: \"built_in\",\n begin: /\\$\\$\\$[a-zA-Z]+/\n },\n { // Special (global) variables: write %request.Content; Built-in classes: %Library.Integer\n className: \"built_in\",\n begin: /%[a-z]+(?:\\.[a-z]+)*/\n },\n { // Global variable: set ^globalName = 12 write ^globalName\n className: \"symbol\",\n begin: /\\^%?[a-zA-Z][\\w]*/\n },\n { // Some control constructions: do ##class(Package.ClassName).Method(), ##super()\n className: \"keyword\",\n begin: /##class|##super|#define|#dim/\n },\n // sub-languages: are not fully supported by hljs by 11/15/2015\n // left for the future implementation.\n {\n begin: /&sql\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n subLanguage: \"sql\"\n },\n {\n begin: /&(js|jscript|javascript),\n end: />/,\n excludeBegin: true,\n excludeEnd: true,\n subLanguage: \"javascript\"\n },\n {\n // this brakes first and last tag, but this is the only way to embed a valid html\n begin: /&html<\\s*,\n end: />\\s*>/,\n subLanguage: \"xml\"\n }\n ]\n };\n}\n\nmodule.exports = cos;\n"],"names":["module","exports","hljs","name","case_insensitive","aliases","keywords","contains","className","begin","relevance","variants","end","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","excludeBegin","excludeEnd","subLanguage"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/cos.js?v=74a18b2f35747e898a1f","mappings":"2GAyIAA,EAAOC,QAjIP,SAAaC,GAiEX,MAAO,CACLC,KAAM,sBACNC,kBAAkB,EAClBC,QAAS,CACP,OAEFC,SAnDA,gbAoDAC,SAAU,CA3DI,CACdC,UAAW,SACXC,MAAO,8BACPC,UAAW,GAfG,CACdF,UAAW,SACXG,SAAU,CAAC,CACTF,MAAO,IACPG,IAAK,IACLL,SAAU,CAAC,CACTE,MAAO,KACPC,UAAW,OAmEbR,EAAKW,oBACLX,EAAKY,qBACL,CACEN,UAAW,UACXC,MAAO,IACPG,IAAK,IACLF,UAAW,GAEb,CACEF,UAAW,WACXC,MAAO,8BAET,CACED,UAAW,WACXC,MAAO,mBAET,CACED,UAAW,WACXC,MAAO,wBAET,CACED,UAAW,SACXC,MAAO,qBAET,CACED,UAAW,UACXC,MAAO,gCAIT,CACEA,MAAO,SACPG,IAAK,KACLG,cAAc,EACdC,YAAY,EACZC,YAAa,OAEf,CACER,MAAO,4BACPG,IAAK,IACLG,cAAc,EACdC,YAAY,EACZC,YAAa,cAEf,CAEER,MAAO,aACPG,IAAK,QACLK,YAAa,QAIrB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cos.js"],"sourcesContent":["/*\nLanguage: Caché Object Script\nAuthor: Nikita Savchenko \nCategory: enterprise, scripting\nWebsite: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls\n*/\n\n/** @type LanguageFn */\nfunction cos(hljs) {\n const STRINGS = {\n className: 'string',\n variants: [{\n begin: '\"',\n end: '\"',\n contains: [{ // escaped\n begin: \"\\\"\\\"\",\n relevance: 0\n }]\n }]\n };\n\n const NUMBERS = {\n className: \"number\",\n begin: \"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)\",\n relevance: 0\n };\n\n const COS_KEYWORDS =\n 'property parameter class classmethod clientmethod extends as break ' +\n 'catch close continue do d|0 else elseif for goto halt hang h|0 if job ' +\n 'j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 ' +\n 'tcommit throw trollback try tstart use view while write w|0 xecute x|0 ' +\n 'zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert ' +\n 'zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit ' +\n 'zsync ascii';\n\n // registered function - no need in them due to all functions are highlighted,\n // but I'll just leave this here.\n\n // \"$bit\", \"$bitcount\",\n // \"$bitfind\", \"$bitlogic\", \"$case\", \"$char\", \"$classmethod\", \"$classname\",\n // \"$compile\", \"$data\", \"$decimal\", \"$double\", \"$extract\", \"$factor\",\n // \"$find\", \"$fnumber\", \"$get\", \"$increment\", \"$inumber\", \"$isobject\",\n // \"$isvaliddouble\", \"$isvalidnum\", \"$justify\", \"$length\", \"$list\",\n // \"$listbuild\", \"$listdata\", \"$listfind\", \"$listfromstring\", \"$listget\",\n // \"$listlength\", \"$listnext\", \"$listsame\", \"$listtostring\", \"$listvalid\",\n // \"$locate\", \"$match\", \"$method\", \"$name\", \"$nconvert\", \"$next\",\n // \"$normalize\", \"$now\", \"$number\", \"$order\", \"$parameter\", \"$piece\",\n // \"$prefetchoff\", \"$prefetchon\", \"$property\", \"$qlength\", \"$qsubscript\",\n // \"$query\", \"$random\", \"$replace\", \"$reverse\", \"$sconvert\", \"$select\",\n // \"$sortbegin\", \"$sortend\", \"$stack\", \"$text\", \"$translate\", \"$view\",\n // \"$wascii\", \"$wchar\", \"$wextract\", \"$wfind\", \"$wiswide\", \"$wlength\",\n // \"$wreverse\", \"$xecute\", \"$zabs\", \"$zarccos\", \"$zarcsin\", \"$zarctan\",\n // \"$zcos\", \"$zcot\", \"$zcsc\", \"$zdate\", \"$zdateh\", \"$zdatetime\",\n // \"$zdatetimeh\", \"$zexp\", \"$zhex\", \"$zln\", \"$zlog\", \"$zpower\", \"$zsec\",\n // \"$zsin\", \"$zsqr\", \"$ztan\", \"$ztime\", \"$ztimeh\", \"$zboolean\",\n // \"$zconvert\", \"$zcrc\", \"$zcyc\", \"$zdascii\", \"$zdchar\", \"$zf\",\n // \"$ziswide\", \"$zlascii\", \"$zlchar\", \"$zname\", \"$zposition\", \"$zqascii\",\n // \"$zqchar\", \"$zsearch\", \"$zseek\", \"$zstrip\", \"$zwascii\", \"$zwchar\",\n // \"$zwidth\", \"$zwpack\", \"$zwbpack\", \"$zwunpack\", \"$zwbunpack\", \"$zzenkaku\",\n // \"$change\", \"$mv\", \"$mvat\", \"$mvfmt\", \"$mvfmts\", \"$mviconv\",\n // \"$mviconvs\", \"$mvinmat\", \"$mvlover\", \"$mvoconv\", \"$mvoconvs\", \"$mvraise\",\n // \"$mvtrans\", \"$mvv\", \"$mvname\", \"$zbitand\", \"$zbitcount\", \"$zbitfind\",\n // \"$zbitget\", \"$zbitlen\", \"$zbitnot\", \"$zbitor\", \"$zbitset\", \"$zbitstr\",\n // \"$zbitxor\", \"$zincrement\", \"$znext\", \"$zorder\", \"$zprevious\", \"$zsort\",\n // \"device\", \"$ecode\", \"$estack\", \"$etrap\", \"$halt\", \"$horolog\",\n // \"$io\", \"$job\", \"$key\", \"$namespace\", \"$principal\", \"$quit\", \"$roles\",\n // \"$storage\", \"$system\", \"$test\", \"$this\", \"$tlevel\", \"$username\",\n // \"$x\", \"$y\", \"$za\", \"$zb\", \"$zchild\", \"$zeof\", \"$zeos\", \"$zerror\",\n // \"$zhorolog\", \"$zio\", \"$zjob\", \"$zmode\", \"$znspace\", \"$zparent\", \"$zpi\",\n // \"$zpos\", \"$zreference\", \"$zstorage\", \"$ztimestamp\", \"$ztimezone\",\n // \"$ztrap\", \"$zversion\"\n\n return {\n name: 'Caché Object Script',\n case_insensitive: true,\n aliases: [\n \"cls\"\n ],\n keywords: COS_KEYWORDS,\n contains: [\n NUMBERS,\n STRINGS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: \"comment\",\n begin: /;/,\n end: \"$\",\n relevance: 0\n },\n { // Functions and user-defined functions: write $ztime(60*60*3), $$myFunc(10), $$^Val(1)\n className: \"built_in\",\n begin: /(?:\\$\\$?|\\.\\.)\\^?[a-zA-Z]+/\n },\n { // Macro command: quit $$$OK\n className: \"built_in\",\n begin: /\\$\\$\\$[a-zA-Z]+/\n },\n { // Special (global) variables: write %request.Content; Built-in classes: %Library.Integer\n className: \"built_in\",\n begin: /%[a-z]+(?:\\.[a-z]+)*/\n },\n { // Global variable: set ^globalName = 12 write ^globalName\n className: \"symbol\",\n begin: /\\^%?[a-zA-Z][\\w]*/\n },\n { // Some control constructions: do ##class(Package.ClassName).Method(), ##super()\n className: \"keyword\",\n begin: /##class|##super|#define|#dim/\n },\n // sub-languages: are not fully supported by hljs by 11/15/2015\n // left for the future implementation.\n {\n begin: /&sql\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n subLanguage: \"sql\"\n },\n {\n begin: /&(js|jscript|javascript),\n end: />/,\n excludeBegin: true,\n excludeEnd: true,\n subLanguage: \"javascript\"\n },\n {\n // this brakes first and last tag, but this is the only way to embed a valid html\n begin: /&html<\\s*,\n end: />\\s*>/,\n subLanguage: \"xml\"\n }\n ]\n };\n}\n\nmodule.exports = cos;\n"],"names":["module","exports","hljs","name","case_insensitive","aliases","keywords","contains","className","begin","relevance","variants","end","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","excludeBegin","excludeEnd","subLanguage"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/cpp.js.map b/js/highlight/cpp.js.map
index cf7a43f298a..4655348fadb 100644
--- a/js/highlight/cpp.js.map
+++ b/js/highlight/cpp.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/cpp.js?v=ad08ed7df166597ca2e2","mappings":"2GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,MAOzB,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,KA4B4BM,KAAK,IA0ajDC,EAAOC,QA/ZP,SAAaC,GAIX,MAAMC,EAAsBD,EAAKE,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBjB,EAASgB,GACT,gBAAkBhB,EAJS,YAK7B,IACMkB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEH,EAAKc,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXb,EAAKe,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEbjB,EAAKoB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAD,EAAKqB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOd,EAASgB,GAAgBN,EAAKuB,SACrCN,UAAW,GAGPO,EAAiBlC,EAASgB,GAAgBN,EAAKuB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOZ,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKuB,UA9QQhC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAMwC,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAD,EAAKqB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBvC,OAAO,CACnC,CACEY,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBvC,OAAO,CAAE,SACvCyB,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAD,EAAKqB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGX,OACXwC,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAOJ,EAAKuB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBjC,EAAKsB,eAIbvB,QAAS,CACP0C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cpp.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\nmodule.exports = cpp;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/cpp.js?v=ad08ed7df166597ca2e2","mappings":"2GA4BA,SAASA,EAASC,GAChB,OAAOC,EAAO,IAAKD,EAAI,KACzB,CAMA,SAASC,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OA5BjBL,EA4BwBI,GA1BpB,iBAAPJ,EAAwBA,EAE5BA,EAAGK,OAHM,KADlB,IAAgBL,CA4B0B,IAAEM,KAAK,GAEjD,CAwaAC,EAAOC,QA/ZP,SAAaC,GAIX,MAAMC,EAAsBD,EAAKE,QAAQ,KAAM,IAAK,CAClDC,SAAU,CACR,CACEC,MAAO,WAIPC,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,uBAEvBjB,EAASgB,GACT,gBAAkBhB,EAJS,YAK7B,IACMkB,EAAsB,CAC1BC,UAAW,UACXL,MAAO,sBAMHM,EAAU,CACdD,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,cACPQ,IAAK,IACLC,QAAS,MACTV,SAAU,CAAEH,EAAKc,mBAEnB,CACEV,MAAO,sEACPQ,IAAK,IACLC,QAAS,KAEXb,EAAKe,kBAAkB,CACrBX,MAAO,mCACPQ,IAAK,0BAKLI,EAAU,CACdP,UAAW,SACXE,SAAU,CACR,CACEP,MAAO,iBAET,CACEA,MAAO,yFAET,CACEA,MAAO,wFAGXa,UAAW,GAGPC,EAAe,CACnBT,UAAW,OACXL,MAAO,eACPQ,IAAK,IACLO,SAAU,CACR,eACE,0FAGJhB,SAAU,CACR,CACEC,MAAO,OACPa,UAAW,GAEbjB,EAAKoB,QAAQV,EAAS,CACpBD,UAAW,gBAEb,CACEA,UAAW,cACXL,MAAO,SAETH,EACAD,EAAKqB,uBAIHC,EAAa,CACjBb,UAAW,QACXL,MAAOd,EAASgB,GAAgBN,EAAKuB,SACrCN,UAAW,GAGPO,EAAiBlC,EAASgB,GAAgBN,EAAKuB,SAAW,UAsH1DE,EAAe,CACnBC,QAAS,y0BAYTC,SAAU,4BACVC,iBAlIuB,CACvB,OACA,QACA,OACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,WACA,QACA,OACA,QACA,QACA,SACA,MACA,MACA,OACA,SACA,WACA,WACA,gBACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,OACA,QACA,QACA,MACA,SACA,UACA,SACA,SACA,SACA,SACA,OACA,MACA,SACA,UACA,OACA,QACA,OACA,MACA,WACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,gBACA,qBACA,qBACA,iBACA,YACA,QACA,aACA,QACA,YACA,MACA,OACA,WACA,UACA,WACA,OACA,mBACA,aACA,UACA,YACA,MACA,SACA,UACA,MACA,OACA,OACA,OACA,QACA,SACA,SACA,eACA,gBACA,iBAkBAC,QAAS,2BAGLC,EAAoB,CACxBrB,UAAW,oBACXQ,UAAW,EACXE,SAAUM,EACVrB,MAAOZ,EACL,KACA,eACA,SACA,UACA,YACAQ,EAAKuB,UA9QQhC,EA+QH,QA9QPC,EAAO,MAAOD,EAAI,QAD3B,IAAmBA,EAkRjB,MAAMwC,EAAsB,CAC1BD,EACAZ,EACAV,EACAP,EACAD,EAAKqB,qBACLL,EACAN,GAIIsB,EAAqB,CAIzBrB,SAAU,CACR,CACEP,MAAO,IACPQ,IAAK,KAEP,CACER,MAAO,KACPQ,IAAK,MAEP,CACEqB,cAAe,wBACfrB,IAAK,MAGTO,SAAUM,EACVtB,SAAU4B,EAAoBvC,OAAO,CACnC,CACEY,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVtB,SAAU4B,EAAoBvC,OAAO,CAAE,SACvCyB,UAAW,KAGfA,UAAW,GAGPiB,EAAuB,CAC3BzB,UAAW,WACXL,MAAO,IAAMG,EAAmB,eAAiBiB,EACjDW,aAAa,EACbvB,IAAK,QACLwB,YAAY,EACZjB,SAAUM,EACVZ,QAAS,iBACTV,SAAU,CACR,CACEC,MAAOC,EACPc,SAAUM,EACVR,UAAW,GAEb,CACEb,MAAOoB,EACPW,aAAa,EACbhC,SAAU,CAAEmB,GACZL,UAAW,GAIb,CACEb,MAAO,KACPa,UAAW,GAGb,CACEb,MAAO,IACPiC,gBAAgB,EAChBlC,SAAU,CACRO,EACAM,IAGJ,CACEP,UAAW,SACXL,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACRF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,EAEA,CACEJ,MAAO,KACPQ,IAAK,KACLO,SAAUM,EACVR,UAAW,EACXd,SAAU,CACR,OACAF,EACAD,EAAKqB,qBACLX,EACAM,EACAR,MAKRA,EACAP,EACAD,EAAKqB,qBACLH,IAIJ,MAAO,CACLoB,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEFpB,SAAUM,EACVZ,QAAS,KACT2B,iBAAkB,CAChB,oBAAqB,YAEvBrC,SAAU,GAAGX,OACXwC,EACAE,EACAJ,EACAC,EACA,CACEb,EACA,CACEd,MAAO,uKACPQ,IAAK,IACLO,SAAUM,EACVtB,SAAU,CACR,OACAK,IAGJ,CACEJ,MAAOJ,EAAKuB,SAAW,KACvBJ,SAAUM,GAEZ,CACEhB,UAAW,QACXwB,cAAe,0BACfrB,IAAK,WACLT,SAAU,CACR,CACE8B,cAAe,sBAEjBjC,EAAKsB,eAIbvB,QAAS,CACP0C,aAAcvB,EACdwB,QAAShC,EACTS,SAAUM,GAGhB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/cpp.js"],"sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', {\n contains: [\n {\n begin: /\\\\\\n/\n }\n ]\n });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(' +\n DECLTYPE_AUTO_RE + '|' +\n optional(NAMESPACE_RE) +\n '[a-zA-Z_]\\\\w*' + optional(TEMPLATE_ARGUMENT_RE) +\n ')';\n const CPP_PRIMITIVE_TYPES = {\n className: 'keyword',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: {\n 'meta-keyword':\n 'if else elif endif define undef warning error line ' +\n 'pragma _Pragma ifdef ifndef include'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const COMMON_CPP_HINTS = [\n 'asin',\n 'atan2',\n 'atan',\n 'calloc',\n 'ceil',\n 'cosh',\n 'cos',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'auto_ptr',\n 'deque',\n 'list',\n 'queue',\n 'stack',\n 'vector',\n 'map',\n 'set',\n 'pair',\n 'bitset',\n 'multiset',\n 'multimap',\n 'unordered_set',\n 'fscanf',\n 'future',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'tolower',\n 'toupper',\n 'labs',\n 'ldexp',\n 'log10',\n 'log',\n 'malloc',\n 'realloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'scanf',\n 'sinh',\n 'sin',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'tanh',\n 'tan',\n 'unordered_map',\n 'unordered_multiset',\n 'unordered_multimap',\n 'priority_queue',\n 'make_pair',\n 'array',\n 'shared_ptr',\n 'abort',\n 'terminate',\n 'abs',\n 'acos',\n 'vfprintf',\n 'vprintf',\n 'vsprintf',\n 'endl',\n 'initializer_list',\n 'unique_ptr',\n 'complex',\n 'imaginary',\n 'std',\n 'string',\n 'wstring',\n 'cin',\n 'cout',\n 'cerr',\n 'clog',\n 'stdin',\n 'stdout',\n 'stderr',\n 'stringstream',\n 'istringstream',\n 'ostringstream'\n ];\n\n const CPP_KEYWORDS = {\n keyword: 'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof ' +\n 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' +\n 'unsigned long volatile static protected bool template mutable if public friend ' +\n 'do goto auto void enum else break extern using asm case typeid wchar_t ' +\n 'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n 'switch continue inline delete alignas alignof constexpr consteval constinit decltype ' +\n 'concept co_await co_return co_yield requires ' +\n 'noexcept static_assert thread_local restrict final override ' +\n 'atomic_bool atomic_char atomic_schar ' +\n 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' +\n 'atomic_ullong new throw return ' +\n 'and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',\n built_in: '_Bool _Complex _Imaginary',\n _relevance_hints: COMMON_CPP_HINTS,\n literal: 'true false nullptr NULL'\n };\n\n const FUNCTION_DISPATCH = {\n className: \"function.dispatch\",\n relevance: 0,\n keywords: CPP_KEYWORDS,\n begin: concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!while)/,\n hljs.IDENT_RE,\n lookahead(/\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '',\n classNameAliases: {\n \"function.dispatch\": \"built_in\"\n },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n {\n beginKeywords: \"final class struct\"\n },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: CPP_KEYWORDS\n }\n };\n}\n\nmodule.exports = cpp;\n"],"names":["optional","re","concat","args","map","x","source","join","module","exports","hljs","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","CPP_PRIMITIVE_TYPES","className","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","CPP_KEYWORDS","keyword","built_in","_relevance_hints","literal","FUNCTION_DISPATCH","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","name","aliases","classNameAliases","preprocessor","strings"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/crmsh.js.map b/js/highlight/crmsh.js.map
index 7df678befb0..ecc4b7c4029 100644
--- a/js/highlight/crmsh.js.map
+++ b/js/highlight/crmsh.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/crmsh.js?v=ec26a272d9782da0b519","mappings":"6GAqGAA,EAAOC,QA5FP,SAAeC,GACb,MACMC,EAAW,qHAWjB,MAAO,CACLC,KAAM,QACNC,QAAS,CACP,MACA,QAEFC,kBAAkB,EAClBC,SAAU,CACRC,QAASC,6MACTC,QAXa,6EAafC,SAAU,CACRT,EAAKU,kBACL,CACEC,cAAe,OACfC,OAAQ,CACNC,IAAK,mBACLD,OAAQ,CACNE,UAAW,QACXD,IAAK,2BAIX,CACEF,cApCY,yBAqCZC,OAAQ,CACNE,UAAW,QACXD,IAAK,wBACLD,OAAQ,CACNC,IAAK,8BAIX,CACEE,MAAO,OAASd,EAASe,MAAM,KAAKC,KAAK,KAAO,QAChDZ,SAAUJ,EACVW,OAAQ,CACNE,UAAW,QACXD,IAAK,sBAGT,CACEF,cAlDgB,oCAmDhBC,OAAQ,CACNE,UAAW,QACXD,IAAK,qBAGTb,EAAKkB,kBACL,CACEJ,UAAW,OACXC,MAAO,sCACPI,UAAW,GAEb,CACEL,UAAW,SACXC,MAAO,+BACPI,UAAW,GAEb,CACEL,UAAW,UACXC,MAAO,qBACPI,UAAW,GAEb,CACEL,UAAW,OACXC,MAAO,wBACPI,UAAW,GAEb,CACEL,UAAW,MACXC,MAAO,MACPF,IAAK,MACLM,UAAW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/crmsh.js"],"sourcesContent":["/*\nLanguage: crmsh\nAuthor: Kristoffer Gronlund \nWebsite: http://crmsh.github.io\nDescription: Syntax Highlighting for the crmsh DSL\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction crmsh(hljs) {\n const RESOURCES = 'primitive rsc_template';\n const COMMANDS = 'group clone ms master location colocation order fencing_topology ' +\n 'rsc_ticket acl_target acl_group user role ' +\n 'tag xml';\n const PROPERTY_SETS = 'property rsc_defaults op_defaults';\n const KEYWORDS = 'params meta operations op rule attributes utilization';\n const OPERATORS = 'read write deny defined not_defined in_range date spec in ' +\n 'ref reference attribute type xpath version and or lt gt tag ' +\n 'lte gte eq ne \\\\';\n const TYPES = 'number string';\n const LITERALS = 'Master Started Slave Stopped start promote demote stop monitor true false';\n\n return {\n name: 'crmsh',\n aliases: [\n 'crm',\n 'pcmk'\n ],\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS + ' ' + OPERATORS + ' ' + TYPES,\n literal: LITERALS\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n beginKeywords: 'node',\n starts: {\n end: '\\\\s*([\\\\w_-]+:)?',\n starts: {\n className: 'title',\n end: '\\\\s*[\\\\$\\\\w_][\\\\w_-]*'\n }\n }\n },\n {\n beginKeywords: RESOURCES,\n starts: {\n className: 'title',\n end: '\\\\s*[\\\\$\\\\w_][\\\\w_-]*',\n starts: {\n end: '\\\\s*@?[\\\\w_][\\\\w_\\\\.:-]*'\n }\n }\n },\n {\n begin: '\\\\b(' + COMMANDS.split(' ').join('|') + ')\\\\s+',\n keywords: COMMANDS,\n starts: {\n className: 'title',\n end: '[\\\\$\\\\w_][\\\\w_-]*'\n }\n },\n {\n beginKeywords: PROPERTY_SETS,\n starts: {\n className: 'title',\n end: '\\\\s*([\\\\w_-]+:)?'\n }\n },\n hljs.QUOTE_STRING_MODE,\n {\n className: 'meta',\n begin: '(ocf|systemd|service|lsb):[\\\\w_:-]+',\n relevance: 0\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(ms|s|h|m)?',\n relevance: 0\n },\n {\n className: 'literal',\n begin: '[-]?(infinity|inf)',\n relevance: 0\n },\n {\n className: 'attr',\n begin: /([A-Za-z$_#][\\w_-]+)=/,\n relevance: 0\n },\n {\n className: 'tag',\n begin: '?',\n end: '/?>',\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = crmsh;\n"],"names":["module","exports","hljs","COMMANDS","name","aliases","case_insensitive","keywords","keyword","KEYWORDS","literal","contains","HASH_COMMENT_MODE","beginKeywords","starts","end","className","begin","split","join","QUOTE_STRING_MODE","relevance"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/crmsh.js?v=ec26a272d9782da0b519","mappings":"6GAqGAA,EAAOC,QA5FP,SAAeC,GACb,MACMC,EAAW,qHAWjB,MAAO,CACLC,KAAM,QACNC,QAAS,CACP,MACA,QAEFC,kBAAkB,EAClBC,SAAU,CACRC,QAASC,6MACTC,QAXa,6EAafC,SAAU,CACRT,EAAKU,kBACL,CACEC,cAAe,OACfC,OAAQ,CACNC,IAAK,mBACLD,OAAQ,CACNE,UAAW,QACXD,IAAK,2BAIX,CACEF,cApCY,yBAqCZC,OAAQ,CACNE,UAAW,QACXD,IAAK,wBACLD,OAAQ,CACNC,IAAK,8BAIX,CACEE,MAAO,OAASd,EAASe,MAAM,KAAKC,KAAK,KAAO,QAChDZ,SAAUJ,EACVW,OAAQ,CACNE,UAAW,QACXD,IAAK,sBAGT,CACEF,cAlDgB,oCAmDhBC,OAAQ,CACNE,UAAW,QACXD,IAAK,qBAGTb,EAAKkB,kBACL,CACEJ,UAAW,OACXC,MAAO,sCACPI,UAAW,GAEb,CACEL,UAAW,SACXC,MAAO,+BACPI,UAAW,GAEb,CACEL,UAAW,UACXC,MAAO,qBACPI,UAAW,GAEb,CACEL,UAAW,OACXC,MAAO,wBACPI,UAAW,GAEb,CACEL,UAAW,MACXC,MAAO,MACPF,IAAK,MACLM,UAAW,IAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/crmsh.js"],"sourcesContent":["/*\nLanguage: crmsh\nAuthor: Kristoffer Gronlund \nWebsite: http://crmsh.github.io\nDescription: Syntax Highlighting for the crmsh DSL\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction crmsh(hljs) {\n const RESOURCES = 'primitive rsc_template';\n const COMMANDS = 'group clone ms master location colocation order fencing_topology ' +\n 'rsc_ticket acl_target acl_group user role ' +\n 'tag xml';\n const PROPERTY_SETS = 'property rsc_defaults op_defaults';\n const KEYWORDS = 'params meta operations op rule attributes utilization';\n const OPERATORS = 'read write deny defined not_defined in_range date spec in ' +\n 'ref reference attribute type xpath version and or lt gt tag ' +\n 'lte gte eq ne \\\\';\n const TYPES = 'number string';\n const LITERALS = 'Master Started Slave Stopped start promote demote stop monitor true false';\n\n return {\n name: 'crmsh',\n aliases: [\n 'crm',\n 'pcmk'\n ],\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS + ' ' + OPERATORS + ' ' + TYPES,\n literal: LITERALS\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n beginKeywords: 'node',\n starts: {\n end: '\\\\s*([\\\\w_-]+:)?',\n starts: {\n className: 'title',\n end: '\\\\s*[\\\\$\\\\w_][\\\\w_-]*'\n }\n }\n },\n {\n beginKeywords: RESOURCES,\n starts: {\n className: 'title',\n end: '\\\\s*[\\\\$\\\\w_][\\\\w_-]*',\n starts: {\n end: '\\\\s*@?[\\\\w_][\\\\w_\\\\.:-]*'\n }\n }\n },\n {\n begin: '\\\\b(' + COMMANDS.split(' ').join('|') + ')\\\\s+',\n keywords: COMMANDS,\n starts: {\n className: 'title',\n end: '[\\\\$\\\\w_][\\\\w_-]*'\n }\n },\n {\n beginKeywords: PROPERTY_SETS,\n starts: {\n className: 'title',\n end: '\\\\s*([\\\\w_-]+:)?'\n }\n },\n hljs.QUOTE_STRING_MODE,\n {\n className: 'meta',\n begin: '(ocf|systemd|service|lsb):[\\\\w_:-]+',\n relevance: 0\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(ms|s|h|m)?',\n relevance: 0\n },\n {\n className: 'literal',\n begin: '[-]?(infinity|inf)',\n relevance: 0\n },\n {\n className: 'attr',\n begin: /([A-Za-z$_#][\\w_-]+)=/,\n relevance: 0\n },\n {\n className: 'tag',\n begin: '?',\n end: '/?>',\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = crmsh;\n"],"names":["module","exports","hljs","COMMANDS","name","aliases","case_insensitive","keywords","keyword","KEYWORDS","literal","contains","HASH_COMMENT_MODE","beginKeywords","starts","end","className","begin","split","join","QUOTE_STRING_MODE","relevance"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/crystal.js.map b/js/highlight/crystal.js.map
index fa1d6da5718..399bf81b18c 100644
--- a/js/highlight/crystal.js.map
+++ b/js/highlight/crystal.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/crystal.js?v=22a8072ddd7e969dad2b","mappings":"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","sources":["webpack:///text/node_modules/highlight.js/lib/languages/crystal.js"],"sourcesContent":["/*\nLanguage: Crystal\nAuthor: TSUYUSATO Kitsune \nWebsite: https://crystal-lang.org\n*/\n\n/** @type LanguageFn */\nfunction crystal(hljs) {\n const INT_SUFFIX = '(_?[ui](8|16|32|64|128))?';\n const FLOAT_SUFFIX = '(_?f(32|64))?';\n const CRYSTAL_IDENT_RE = '[a-zA-Z_]\\\\w*[!?=]?';\n const CRYSTAL_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\\\*\\\\*|\\\\[\\\\][=?]?';\n const CRYSTAL_PATH_RE = '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?';\n const CRYSTAL_KEYWORDS = {\n $pattern: CRYSTAL_IDENT_RE,\n keyword:\n 'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +\n 'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +\n 'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ' +\n '__DIR__ __END_LINE__ __FILE__ __LINE__',\n literal: 'false nil true'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: CRYSTAL_KEYWORDS\n };\n const EXPANSION = {\n className: 'template-variable',\n variants: [\n {\n begin: '\\\\{\\\\{',\n end: '\\\\}\\\\}'\n },\n {\n begin: '\\\\{%',\n end: '%\\\\}'\n }\n ],\n keywords: CRYSTAL_KEYWORDS\n };\n\n function recursiveParen(begin, end) {\n const\n contains = [\n {\n begin: begin,\n end: end\n }\n ];\n contains[0].contains = contains;\n return contains;\n }\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: '%[Qwi]?\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%[Qwi]?\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%[Qwi]?\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%[Qwi]?<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%[Qwi]?\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-\\w+$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const Q_STRING = {\n className: 'string',\n variants: [\n {\n begin: '%q\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%q\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%q\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%q<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%q\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-'\\w+'$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const REGEXP = {\n begin: '(?!%\\\\})(' + hljs.RE_STARTERS_RE + '|\\\\n|\\\\b(case|if|select|unless|until|when|while)\\\\b)\\\\s*',\n keywords: 'case if select unless until when while',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '//[a-z]*',\n relevance: 0\n },\n {\n begin: '/(?!\\\\/)',\n end: '/[a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n };\n const REGEXP2 = {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '%r\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%r\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%r\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%r<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%r\\\\|',\n end: '\\\\|'\n }\n ],\n relevance: 0\n };\n const ATTRIBUTE = {\n className: 'meta',\n begin: '@\\\\[',\n end: '\\\\]',\n contains: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n className: 'meta-string'\n })\n ]\n };\n const CRYSTAL_DEFAULT_CONTAINS = [\n EXPANSION,\n STRING,\n Q_STRING,\n REGEXP2,\n REGEXP,\n ATTRIBUTE,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class module struct',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n }),\n { // relevance booster for inheritance\n begin: '<'\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'lib enum union',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })\n ]\n },\n {\n beginKeywords: 'annotation',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })\n ],\n relevance: 2\n },\n {\n className: 'function',\n beginKeywords: 'def',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ]\n },\n {\n className: 'function',\n beginKeywords: 'fun macro',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ],\n relevance: 2\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':',\n contains: [\n STRING,\n {\n begin: CRYSTAL_METHOD_RE\n }\n ],\n relevance: 0\n },\n {\n className: 'number',\n variants: [\n {\n begin: '\\\\b0b([01_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b0o([0-7_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b([1-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)'\n },\n {\n begin: '\\\\b([1-9][0-9_]*|0)' + INT_SUFFIX\n }\n ],\n relevance: 0\n }\n ];\n SUBST.contains = CRYSTAL_DEFAULT_CONTAINS;\n EXPANSION.contains = CRYSTAL_DEFAULT_CONTAINS.slice(1); // without EXPANSION\n\n return {\n name: 'Crystal',\n aliases: [ 'cr' ],\n keywords: CRYSTAL_KEYWORDS,\n contains: CRYSTAL_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = crystal;\n"],"names":["module","exports","hljs","INT_SUFFIX","CRYSTAL_METHOD_RE","CRYSTAL_PATH_RE","CRYSTAL_KEYWORDS","$pattern","keyword","literal","SUBST","className","begin","end","keywords","EXPANSION","variants","recursiveParen","contains","STRING","BACKSLASH_ESCAPE","relevance","Q_STRING","REGEXP","RE_STARTERS_RE","CRYSTAL_DEFAULT_CONTAINS","inherit","QUOTE_STRING_MODE","HASH_COMMENT_MODE","beginKeywords","illegal","TITLE_MODE","endsParent","UNDERSCORE_IDENT_RE","slice","name","aliases"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/crystal.js?v=22a8072ddd7e969dad2b","mappings":"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","sources":["webpack:///text/node_modules/highlight.js/lib/languages/crystal.js"],"sourcesContent":["/*\nLanguage: Crystal\nAuthor: TSUYUSATO Kitsune \nWebsite: https://crystal-lang.org\n*/\n\n/** @type LanguageFn */\nfunction crystal(hljs) {\n const INT_SUFFIX = '(_?[ui](8|16|32|64|128))?';\n const FLOAT_SUFFIX = '(_?f(32|64))?';\n const CRYSTAL_IDENT_RE = '[a-zA-Z_]\\\\w*[!?=]?';\n const CRYSTAL_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\\\*\\\\*|\\\\[\\\\][=?]?';\n const CRYSTAL_PATH_RE = '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?';\n const CRYSTAL_KEYWORDS = {\n $pattern: CRYSTAL_IDENT_RE,\n keyword:\n 'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' +\n 'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' +\n 'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ' +\n '__DIR__ __END_LINE__ __FILE__ __LINE__',\n literal: 'false nil true'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: CRYSTAL_KEYWORDS\n };\n const EXPANSION = {\n className: 'template-variable',\n variants: [\n {\n begin: '\\\\{\\\\{',\n end: '\\\\}\\\\}'\n },\n {\n begin: '\\\\{%',\n end: '%\\\\}'\n }\n ],\n keywords: CRYSTAL_KEYWORDS\n };\n\n function recursiveParen(begin, end) {\n const\n contains = [\n {\n begin: begin,\n end: end\n }\n ];\n contains[0].contains = contains;\n return contains;\n }\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: '%[Qwi]?\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%[Qwi]?\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%[Qwi]?\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%[Qwi]?<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%[Qwi]?\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-\\w+$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const Q_STRING = {\n className: 'string',\n variants: [\n {\n begin: '%q\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%q\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%q\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%q<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%q\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-'\\w+'$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const REGEXP = {\n begin: '(?!%\\\\})(' + hljs.RE_STARTERS_RE + '|\\\\n|\\\\b(case|if|select|unless|until|when|while)\\\\b)\\\\s*',\n keywords: 'case if select unless until when while',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '//[a-z]*',\n relevance: 0\n },\n {\n begin: '/(?!\\\\/)',\n end: '/[a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n };\n const REGEXP2 = {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '%r\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%r\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%r\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%r<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%r\\\\|',\n end: '\\\\|'\n }\n ],\n relevance: 0\n };\n const ATTRIBUTE = {\n className: 'meta',\n begin: '@\\\\[',\n end: '\\\\]',\n contains: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n className: 'meta-string'\n })\n ]\n };\n const CRYSTAL_DEFAULT_CONTAINS = [\n EXPANSION,\n STRING,\n Q_STRING,\n REGEXP2,\n REGEXP,\n ATTRIBUTE,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class module struct',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n }),\n { // relevance booster for inheritance\n begin: '<'\n }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'lib enum union',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })\n ]\n },\n {\n beginKeywords: 'annotation',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })\n ],\n relevance: 2\n },\n {\n className: 'function',\n beginKeywords: 'def',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ]\n },\n {\n className: 'function',\n beginKeywords: 'fun macro',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ],\n relevance: 2\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':',\n contains: [\n STRING,\n {\n begin: CRYSTAL_METHOD_RE\n }\n ],\n relevance: 0\n },\n {\n className: 'number',\n variants: [\n {\n begin: '\\\\b0b([01_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b0o([0-7_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX\n },\n {\n begin: '\\\\b([1-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)'\n },\n {\n begin: '\\\\b([1-9][0-9_]*|0)' + INT_SUFFIX\n }\n ],\n relevance: 0\n }\n ];\n SUBST.contains = CRYSTAL_DEFAULT_CONTAINS;\n EXPANSION.contains = CRYSTAL_DEFAULT_CONTAINS.slice(1); // without EXPANSION\n\n return {\n name: 'Crystal',\n aliases: [ 'cr' ],\n keywords: CRYSTAL_KEYWORDS,\n contains: CRYSTAL_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = crystal;\n"],"names":["module","exports","hljs","INT_SUFFIX","CRYSTAL_METHOD_RE","CRYSTAL_PATH_RE","CRYSTAL_KEYWORDS","$pattern","keyword","literal","SUBST","className","begin","end","keywords","EXPANSION","variants","recursiveParen","contains","STRING","BACKSLASH_ESCAPE","relevance","Q_STRING","REGEXP","RE_STARTERS_RE","CRYSTAL_DEFAULT_CONTAINS","inherit","QUOTE_STRING_MODE","HASH_COMMENT_MODE","beginKeywords","illegal","TITLE_MODE","endsParent","UNDERSCORE_IDENT_RE","slice","name","aliases"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/csharp.js.map b/js/highlight/csharp.js.map
index b43c21d8a4e..62d0a38df21 100644
--- a/js/highlight/csharp.js.map
+++ b/js/highlight/csharp.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/csharp.js?v=0efe866f49e12f8de1a1","mappings":"4GAwbAA,EAAOC,QA/aP,SAAgBC,GACd,MA2IMC,EAAW,CACfC,QA/FsB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,SAwCyBC,OAtCC,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,UAKAC,SA7IwB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,UA0HAC,QAvGuB,CACvB,UACA,QACA,OACA,SAqGIC,EAAaN,EAAKO,QAAQP,EAAKM,WAAY,CAC/CE,MAAO,uBAEHC,EAAU,CACdC,UAAW,SACXC,SAAU,CACR,CACEH,MAAO,iBAET,CACEA,MAAO,mEAET,CACEA,MAAO,wFAGXI,UAAW,GAEPC,EAAkB,CACtBH,UAAW,SACXF,MAAO,KACPM,IAAK,IACLC,SAAU,CACR,CACEP,MAAO,QAIPQ,EAAwBhB,EAAKO,QAAQM,EAAiB,CAC1DI,QAAS,OAELC,EAAQ,CACZR,UAAW,QACXF,MAAO,KACPM,IAAK,KACLK,SAAUlB,GAENmB,EAAcpB,EAAKO,QAAQW,EAAO,CACtCD,QAAS,OAELI,EAAsB,CAC1BX,UAAW,SACXF,MAAO,MACPM,IAAK,IACLG,QAAS,KACTF,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAETR,EAAKsB,iBACLF,IAGEG,EAA+B,CACnCb,UAAW,SACXF,MAAO,OACPM,IAAK,IACLC,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAETU,IAGEM,EAAqCxB,EAAKO,QAAQgB,EAA8B,CACpFN,QAAS,KACTF,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAETY,KAGJF,EAAMH,SAAW,CACfQ,EACAF,EACAR,EACAb,EAAKyB,iBACLzB,EAAK0B,kBACLjB,EACAT,EAAK2B,sBAEPP,EAAYL,SAAW,CACrBS,EACAH,EACAL,EACAhB,EAAKyB,iBACLzB,EAAK0B,kBACLjB,EACAT,EAAKO,QAAQP,EAAK2B,qBAAsB,CACtCV,QAAS,QAGb,MAAMW,EAAS,CACbjB,SAAU,CACRY,EACAF,EACAR,EACAb,EAAKyB,iBACLzB,EAAK0B,oBAIHG,EAAmB,CACvBrB,MAAO,IACPM,IAAK,IACLC,SAAU,CACR,CACEe,cAAe,UAEjBxB,IAGEyB,EAAgB/B,EAAKgC,SAAW,KAAOhC,EAAKgC,SAAW,aAAehC,EAAKgC,SAAW,iBACtFC,EAAgB,CAGpBzB,MAAO,IAAMR,EAAKgC,SAClBpB,UAAW,GAGb,MAAO,CACLsB,KAAM,KACNC,QAAS,CACP,KACA,MAEFhB,SAAUlB,EACVgB,QAAS,KACTF,SAAU,CACRf,EAAKoC,QACH,MACA,IACA,CACEC,aAAa,EACbtB,SAAU,CACR,CACEL,UAAW,SACXC,SAAU,CACR,CACEH,MAAO,MACPI,UAAW,GAEb,CACEJ,MAAO,kBAET,CACEA,MAAO,MACPM,IAAK,UAOjBd,EAAKsC,oBACLtC,EAAK2B,qBACL,CACEjB,UAAW,OACXF,MAAO,IACPM,IAAK,IACLK,SAAU,CACR,eAAgB,wFAGpBS,EACAnB,EACA,CACEqB,cAAe,kBACflB,UAAW,EACXE,IAAK,QACLG,QAAS,UACTF,SAAU,CACR,CACEe,cAAe,eAEjBxB,EACAuB,EACA7B,EAAKsC,oBACLtC,EAAK2B,uBAGT,CACEG,cAAe,YACflB,UAAW,EACXE,IAAK,QACLG,QAAS,SACTF,SAAU,CACRT,EACAN,EAAKsC,oBACLtC,EAAK2B,uBAGT,CACEG,cAAe,SACflB,UAAW,EACXE,IAAK,QACLG,QAAS,SACTF,SAAU,CACRT,EACAuB,EACA7B,EAAKsC,oBACLtC,EAAK2B,uBAGT,CAEEjB,UAAW,OACXF,MAAO,WACP+B,cAAc,EACdzB,IAAK,MACL0B,YAAY,EACZzB,SAAU,CACR,CACEL,UAAW,cACXF,MAAO,IACPM,IAAK,OAIX,CAGEgB,cAAe,8BACflB,UAAW,GAEb,CACEF,UAAW,WACXF,MAAO,IAAMuB,EAAgB,SAAW/B,EAAKgC,SAAW,qBACxDK,aAAa,EACbvB,IAAK,WACL0B,YAAY,EACZrB,SAAUlB,EACVc,SAAU,CAER,CACEe,cArXiB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,WAsW0CW,KAAK,KACvC7B,UAAW,GAEb,CACEJ,MAAOR,EAAKgC,SAAW,qBACvBK,aAAa,EACbtB,SAAU,CACRf,EAAKM,WACLuB,GAEFjB,UAAW,GAEb,CACEF,UAAW,SACXF,MAAO,KACPM,IAAK,KACLyB,cAAc,EACdC,YAAY,EACZrB,SAAUlB,EACVW,UAAW,EACXG,SAAU,CACRa,EACAnB,EACAT,EAAK2B,uBAGT3B,EAAKsC,oBACLtC,EAAK2B,uBAGTM","sources":["webpack:///text/node_modules/highlight.js/lib/languages/csharp.js"],"sourcesContent":["/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/en-us/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'equals',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'remove',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, {\n begin: '[a-zA-Z](\\\\.?\\\\w)*'\n });\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [\n {\n begin: '\"\"'\n }\n ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, {\n illegal: /\\n/\n });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, {\n illegal: /\\n/\n });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n {\n begin: '\"\"'\n },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n {\n begin: '\"\"'\n },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, {\n illegal: /\\n/\n })\n ];\n const STRING = {\n variants: [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n {\n beginKeywords: \"in out\"\n },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n {\n begin: ''\n },\n {\n begin: '?',\n end: '>'\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'\n }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n {\n beginKeywords: \"where class\"\n },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'meta-string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<.+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<.+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nmodule.exports = csharp;\n"],"names":["module","exports","hljs","KEYWORDS","keyword","concat","built_in","literal","TITLE_MODE","inherit","begin","NUMBERS","className","variants","relevance","VERBATIM_STRING","end","contains","VERBATIM_STRING_NO_LF","illegal","SUBST","keywords","SUBST_NO_LF","INTERPOLATED_STRING","BACKSLASH_ESCAPE","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","APOS_STRING_MODE","QUOTE_STRING_MODE","C_BLOCK_COMMENT_MODE","STRING","GENERIC_MODIFIER","beginKeywords","TYPE_IDENT_RE","IDENT_RE","AT_IDENTIFIER","name","aliases","COMMENT","returnBegin","C_LINE_COMMENT_MODE","excludeBegin","excludeEnd","join"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/csharp.js?v=0efe866f49e12f8de1a1","mappings":"4GAwbAA,EAAOC,QA/aP,SAAgBC,GACd,MA2IMC,EAAW,CACfC,QA/FsB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,SAwCyBC,OAtCC,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,UAKAC,SA7IwB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,UA0HAC,QAvGuB,CACvB,UACA,QACA,OACA,SAqGIC,EAAaN,EAAKO,QAAQP,EAAKM,WAAY,CAC/CE,MAAO,uBAEHC,EAAU,CACdC,UAAW,SACXC,SAAU,CACR,CACEH,MAAO,iBAET,CACEA,MAAO,mEAET,CACEA,MAAO,wFAGXI,UAAW,GAEPC,EAAkB,CACtBH,UAAW,SACXF,MAAO,KACPM,IAAK,IACLC,SAAU,CACR,CACEP,MAAO,QAIPQ,EAAwBhB,EAAKO,QAAQM,EAAiB,CAC1DI,QAAS,OAELC,EAAQ,CACZR,UAAW,QACXF,MAAO,KACPM,IAAK,KACLK,SAAUlB,GAENmB,EAAcpB,EAAKO,QAAQW,EAAO,CACtCD,QAAS,OAELI,EAAsB,CAC1BX,UAAW,SACXF,MAAO,MACPM,IAAK,IACLG,QAAS,KACTF,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAETR,EAAKsB,iBACLF,IAGEG,EAA+B,CACnCb,UAAW,SACXF,MAAO,OACPM,IAAK,IACLC,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAETU,IAGEM,EAAqCxB,EAAKO,QAAQgB,EAA8B,CACpFN,QAAS,KACTF,SAAU,CACR,CACEP,MAAO,QAET,CACEA,MAAO,QAET,CACEA,MAAO,MAETY,KAGJF,EAAMH,SAAW,CACfQ,EACAF,EACAR,EACAb,EAAKyB,iBACLzB,EAAK0B,kBACLjB,EACAT,EAAK2B,sBAEPP,EAAYL,SAAW,CACrBS,EACAH,EACAL,EACAhB,EAAKyB,iBACLzB,EAAK0B,kBACLjB,EACAT,EAAKO,QAAQP,EAAK2B,qBAAsB,CACtCV,QAAS,QAGb,MAAMW,EAAS,CACbjB,SAAU,CACRY,EACAF,EACAR,EACAb,EAAKyB,iBACLzB,EAAK0B,oBAIHG,EAAmB,CACvBrB,MAAO,IACPM,IAAK,IACLC,SAAU,CACR,CACEe,cAAe,UAEjBxB,IAGEyB,EAAgB/B,EAAKgC,SAAW,KAAOhC,EAAKgC,SAAW,aAAehC,EAAKgC,SAAW,iBACtFC,EAAgB,CAGpBzB,MAAO,IAAMR,EAAKgC,SAClBpB,UAAW,GAGb,MAAO,CACLsB,KAAM,KACNC,QAAS,CACP,KACA,MAEFhB,SAAUlB,EACVgB,QAAS,KACTF,SAAU,CACRf,EAAKoC,QACH,MACA,IACA,CACEC,aAAa,EACbtB,SAAU,CACR,CACEL,UAAW,SACXC,SAAU,CACR,CACEH,MAAO,MACPI,UAAW,GAEb,CACEJ,MAAO,kBAET,CACEA,MAAO,MACPM,IAAK,UAOjBd,EAAKsC,oBACLtC,EAAK2B,qBACL,CACEjB,UAAW,OACXF,MAAO,IACPM,IAAK,IACLK,SAAU,CACR,eAAgB,wFAGpBS,EACAnB,EACA,CACEqB,cAAe,kBACflB,UAAW,EACXE,IAAK,QACLG,QAAS,UACTF,SAAU,CACR,CACEe,cAAe,eAEjBxB,EACAuB,EACA7B,EAAKsC,oBACLtC,EAAK2B,uBAGT,CACEG,cAAe,YACflB,UAAW,EACXE,IAAK,QACLG,QAAS,SACTF,SAAU,CACRT,EACAN,EAAKsC,oBACLtC,EAAK2B,uBAGT,CACEG,cAAe,SACflB,UAAW,EACXE,IAAK,QACLG,QAAS,SACTF,SAAU,CACRT,EACAuB,EACA7B,EAAKsC,oBACLtC,EAAK2B,uBAGT,CAEEjB,UAAW,OACXF,MAAO,WACP+B,cAAc,EACdzB,IAAK,MACL0B,YAAY,EACZzB,SAAU,CACR,CACEL,UAAW,cACXF,MAAO,IACPM,IAAK,OAIX,CAGEgB,cAAe,8BACflB,UAAW,GAEb,CACEF,UAAW,WACXF,MAAO,IAAMuB,EAAgB,SAAW/B,EAAKgC,SAAW,qBACxDK,aAAa,EACbvB,IAAK,WACL0B,YAAY,EACZrB,SAAUlB,EACVc,SAAU,CAER,CACEe,cArXiB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,WAsW0CW,KAAK,KACvC7B,UAAW,GAEb,CACEJ,MAAOR,EAAKgC,SAAW,qBACvBK,aAAa,EACbtB,SAAU,CACRf,EAAKM,WACLuB,GAEFjB,UAAW,GAEb,CACEF,UAAW,SACXF,MAAO,KACPM,IAAK,KACLyB,cAAc,EACdC,YAAY,EACZrB,SAAUlB,EACVW,UAAW,EACXG,SAAU,CACRa,EACAnB,EACAT,EAAK2B,uBAGT3B,EAAKsC,oBACLtC,EAAK2B,uBAGTM,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/csharp.js"],"sourcesContent":["/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/en-us/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'equals',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'remove',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, {\n begin: '[a-zA-Z](\\\\.?\\\\w)*'\n });\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(0b[01\\']+)'\n },\n {\n begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)'\n },\n {\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n }\n ],\n relevance: 0\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [\n {\n begin: '\"\"'\n }\n ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, {\n illegal: /\\n/\n });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, {\n illegal: /\\n/\n });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n {\n begin: '\"\"'\n },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n {\n begin: /\\{\\{/\n },\n {\n begin: /\\}\\}/\n },\n {\n begin: '\"\"'\n },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, {\n illegal: /\\n/\n })\n ];\n const STRING = {\n variants: [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n {\n beginKeywords: \"in out\"\n },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n {\n begin: ''\n },\n {\n begin: '?',\n end: '>'\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'\n }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n {\n beginKeywords: \"where class\"\n },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'meta-string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<.+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<.+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nmodule.exports = csharp;\n"],"names":["module","exports","hljs","KEYWORDS","keyword","concat","built_in","literal","TITLE_MODE","inherit","begin","NUMBERS","className","variants","relevance","VERBATIM_STRING","end","contains","VERBATIM_STRING_NO_LF","illegal","SUBST","keywords","SUBST_NO_LF","INTERPOLATED_STRING","BACKSLASH_ESCAPE","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","APOS_STRING_MODE","QUOTE_STRING_MODE","C_BLOCK_COMMENT_MODE","STRING","GENERIC_MODIFIER","beginKeywords","TYPE_IDENT_RE","IDENT_RE","AT_IDENTIFIER","name","aliases","COMMENT","returnBegin","C_LINE_COMMENT_MODE","excludeBegin","excludeEnd","join"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/csp.js.map b/js/highlight/csp.js.map
index 03ee13b20ee..173217cb459 100644
--- a/js/highlight/csp.js.map
+++ b/js/highlight/csp.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/csp.js?v=043cec96608f2cfcf047","mappings":"2GAoCAA,EAAOC,QA1BP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAU,yBACVC,QAAS,+KAIXC,SAAU,CACR,CACEC,UAAW,SACXC,MAAO,IACPC,IAAK,KAEP,CACEF,UAAW,YACXC,MAAO,WACPC,IAAK,IACLC,YAAY","sources":["webpack:///text/node_modules/highlight.js/lib/languages/csp.js"],"sourcesContent":["/*\nLanguage: CSP\nDescription: Content Security Policy definition highlighting\nAuthor: Taras \nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP\n\nvim: ts=2 sw=2 st=2\n*/\n\n/** @type LanguageFn */\nfunction csp(hljs) {\n return {\n name: 'CSP',\n case_insensitive: false,\n keywords: {\n $pattern: '[a-zA-Z][a-zA-Z0-9_-]*',\n keyword: 'base-uri child-src connect-src default-src font-src form-action ' +\n 'frame-ancestors frame-src img-src media-src object-src plugin-types ' +\n 'report-uri sandbox script-src style-src'\n },\n contains: [\n {\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n className: 'attribute',\n begin: '^Content',\n end: ':',\n excludeEnd: true\n }\n ]\n };\n}\n\nmodule.exports = csp;\n"],"names":["module","exports","hljs","name","case_insensitive","keywords","$pattern","keyword","contains","className","begin","end","excludeEnd"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/csp.js?v=043cec96608f2cfcf047","mappings":"2GAoCAA,EAAOC,QA1BP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,kBAAkB,EAClBC,SAAU,CACRC,SAAU,yBACVC,QAAS,+KAIXC,SAAU,CACR,CACEC,UAAW,SACXC,MAAO,IACPC,IAAK,KAEP,CACEF,UAAW,YACXC,MAAO,WACPC,IAAK,IACLC,YAAY,IAIpB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/csp.js"],"sourcesContent":["/*\nLanguage: CSP\nDescription: Content Security Policy definition highlighting\nAuthor: Taras \nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP\n\nvim: ts=2 sw=2 st=2\n*/\n\n/** @type LanguageFn */\nfunction csp(hljs) {\n return {\n name: 'CSP',\n case_insensitive: false,\n keywords: {\n $pattern: '[a-zA-Z][a-zA-Z0-9_-]*',\n keyword: 'base-uri child-src connect-src default-src font-src form-action ' +\n 'frame-ancestors frame-src img-src media-src object-src plugin-types ' +\n 'report-uri sandbox script-src style-src'\n },\n contains: [\n {\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n className: 'attribute',\n begin: '^Content',\n end: ':',\n excludeEnd: true\n }\n ]\n };\n}\n\nmodule.exports = csp;\n"],"names":["module","exports","hljs","name","case_insensitive","keywords","$pattern","keyword","contains","className","begin","end","excludeEnd"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/css.js.map b/js/highlight/css.js.map
index dc20dd1e7a5..c5942ff23e5 100644
--- a/js/highlight/css.js.map
+++ b/js/highlight/css.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/css.js?v=115e6d0d4e5d8ec71143","mappings":"2GAAA,MAuBMA,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAsBF,SAASC,EAAUC,GACjB,OAOF,YAAmBC,GAEjB,OADeA,EAAKC,KAAKC,GApB3B,SAAgBH,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGI,OAHM,KAmBeA,CAAOD,KAAIE,KAAK,IARxCC,CAAO,MAAON,EAAI,KA8J3BO,EAAOC,QA3IP,SAAaC,GACX,MAAMC,EArdM,CAACD,IACN,CACLE,UAAW,CACTC,UAAW,OACXC,MAAO,cAETC,SAAU,CACRF,UAAW,SACXC,MAAO,oCAETE,wBAAyB,CACvBH,UAAW,gBACXC,MAAO,KACPG,IAAK,KACLC,QAAS,IACTC,SAAU,CACRT,EAAKU,iBACLV,EAAKW,sBAocGC,CAAMZ,GAWda,EAAU,CACdb,EAAKU,iBACLV,EAAKW,mBAGP,MAAO,CACLG,KAAM,MACNC,kBAAkB,EAClBP,QAAS,UACTQ,SAAU,CACRC,iBAAkB,WAEpBC,iBAAkB,CAGhBD,iBAAkB,gBAEpBR,SAAU,CACRT,EAAKmB,qBAxBa,CACpBf,MAAO,gCA2BLJ,EAAKoB,gBACL,CACEjB,UAAW,cACXC,MAAO,kBACPiB,UAAW,GAEb,CACElB,UAAW,iBACXC,MAAO,6BACPiB,UAAW,GAEbpB,EAAMK,wBACN,CACEH,UAAW,kBACXmB,SAAU,CACR,CACElB,MAAO,KAAOlB,EAAeU,KAAK,KAAO,KAE3C,CACEQ,MAAO,MAAQjB,EAAgBS,KAAK,KAAO,OAUjD,CACEO,UAAW,YACXC,MAAO,OAAShB,EAAWQ,KAAK,KAAO,QAGzC,CACEQ,MAAO,IACPG,IAAK,OACLE,SAAU,CACRR,EAAMI,SACNJ,EAAMC,UACNF,EAAKoB,mBACFP,EAIH,CACET,MAAO,mBACPG,IAAK,KACLc,UAAW,EACXL,SAAU,CACRO,SAAU,gBAEZd,SAAU,CACR,CACEN,UAAW,SAGXC,MAAO,OACPoB,gBAAgB,EAChBC,YAAY,KA3FA,CACxBtB,UAAW,WACXC,MAAO,kBAgGL,CACEA,MAAOd,EAAU,KACjBiB,IAAK,OACLc,UAAW,EACXb,QAAS,IACTC,SAAU,CACR,CACEN,UAAW,UACXC,MAlGa,qBAoGf,CACEA,MAAO,KACPoB,gBAAgB,EAChBC,YAAY,EACZJ,UAAW,EACXL,SAAU,CACRU,SAAU,UACVC,QA5GS,kBA6GTC,UAAW3C,EAAeW,KAAK,MAEjCa,SAAU,CACR,CACEL,MAAO,eACPD,UAAW,gBAEVU,EACHb,EAAKoB,oBAKb,CACEjB,UAAW,eACXC,MAAO,OAASpB,EAAKY,KAAK,KAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/css.js"],"sourcesContent":["const MODES = (hljs) => {\n return {\n IMPORTANT: {\n className: 'meta',\n begin: '!important'\n },\n HEXCOLOR: {\n className: 'number',\n begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})'\n },\n ATTRIBUTE_SELECTOR_MODE: {\n className: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n };\n};\n\nconst TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'p',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n];\n\nconst ATTRIBUTES = [\n 'align-content',\n 'align-items',\n 'align-self',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'auto',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'border',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'clear',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'content',\n 'counter-increment',\n 'counter-reset',\n 'cursor',\n 'direction',\n 'display',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-variant-ligatures',\n 'font-variation-settings',\n 'font-weight',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inherit',\n 'initial',\n 'justify-content',\n 'left',\n 'letter-spacing',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-bottom',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'max-height',\n 'max-width',\n 'min-height',\n 'min-width',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-bottom',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'resize',\n 'right',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-last',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-style',\n 'text-indent',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'unicode-bidi',\n 'vertical-align',\n 'visibility',\n 'white-space',\n 'widows',\n 'width',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'z-index'\n // reverse makes sure longer attributes `font-weight` are matched fully\n // instead of getting false positives on say `font`\n].reverse();\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: CSS\nCategory: common, css\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const modes = MODES(hljs);\n const FUNCTION_DISPATCH = {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n };\n const VENDOR_PREFIX = {\n begin: /-(webkit|moz|ms|o)-(?=[a-z])/\n };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: {\n keyframePosition: \"from to\"\n },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\"\n },\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n hljs.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n {\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n begin: '::(' + PSEUDO_ELEMENTS.join('|') + ')'\n }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: ':',\n end: '[;}]',\n contains: [\n modes.HEXCOLOR,\n modes.IMPORTANT,\n hljs.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: {\n built_in: \"url data-uri\"\n },\n contains: [\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n FUNCTION_DISPATCH\n ]\n },\n {\n begin: lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n hljs.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nmodule.exports = css;\n"],"names":["TAGS","MEDIA_FEATURES","PSEUDO_CLASSES","PSEUDO_ELEMENTS","ATTRIBUTES","reverse","lookahead","re","args","map","x","source","join","concat","module","exports","hljs","modes","IMPORTANT","className","begin","HEXCOLOR","ATTRIBUTE_SELECTOR_MODE","end","illegal","contains","APOS_STRING_MODE","QUOTE_STRING_MODE","MODES","STRINGS","name","case_insensitive","keywords","keyframePosition","classNameAliases","C_BLOCK_COMMENT_MODE","CSS_NUMBER_MODE","relevance","variants","built_in","endsWithParent","excludeEnd","$pattern","keyword","attribute"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/css.js?v=115e6d0d4e5d8ec71143","mappings":"2GAAA,MAuBMA,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,OACA,sBACA,aACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,SACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,QACA,OACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,oBACA,gBACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,eACA,yBACA,0BACA,cACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,UACA,UACA,kBACA,OACA,iBACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,gBACA,cACA,eACA,aACA,QACA,OACA,aACA,YACA,aACA,YACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,iBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,cACA,qBACA,iBACA,WACA,SACA,SACA,QACA,MACA,WACA,eACA,aACA,kBACA,kBACA,wBACA,uBACA,wBACA,cACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,cACA,SACA,QACA,aACA,eACA,YACA,WAGAC,UAsBF,SAASC,EAAUC,GACjB,OAOF,YAAmBC,GAEjB,OADeA,EAAKC,KAAKC,GApB3B,SAAgBH,GACd,OAAKA,EACa,iBAAPA,EAAwBA,EAE5BA,EAAGI,OAHM,IAIlB,CAeiCA,CAAOD,KAAIE,KAAK,GAEjD,CAVSC,CAAO,MAAON,EAAI,IAC3B,CA6JAO,EAAOC,QA3IP,SAAaC,GACX,MAAMC,EArdM,CAACD,IACN,CACLE,UAAW,CACTC,UAAW,OACXC,MAAO,cAETC,SAAU,CACRF,UAAW,SACXC,MAAO,oCAETE,wBAAyB,CACvBH,UAAW,gBACXC,MAAO,KACPG,IAAK,KACLC,QAAS,IACTC,SAAU,CACRT,EAAKU,iBACLV,EAAKW,sBAocGC,CAAMZ,GAWda,EAAU,CACdb,EAAKU,iBACLV,EAAKW,mBAGP,MAAO,CACLG,KAAM,MACNC,kBAAkB,EAClBP,QAAS,UACTQ,SAAU,CACRC,iBAAkB,WAEpBC,iBAAkB,CAGhBD,iBAAkB,gBAEpBR,SAAU,CACRT,EAAKmB,qBAxBa,CACpBf,MAAO,gCA2BLJ,EAAKoB,gBACL,CACEjB,UAAW,cACXC,MAAO,kBACPiB,UAAW,GAEb,CACElB,UAAW,iBACXC,MAAO,6BACPiB,UAAW,GAEbpB,EAAMK,wBACN,CACEH,UAAW,kBACXmB,SAAU,CACR,CACElB,MAAO,KAAOlB,EAAeU,KAAK,KAAO,KAE3C,CACEQ,MAAO,MAAQjB,EAAgBS,KAAK,KAAO,OAUjD,CACEO,UAAW,YACXC,MAAO,OAAShB,EAAWQ,KAAK,KAAO,QAGzC,CACEQ,MAAO,IACPG,IAAK,OACLE,SAAU,CACRR,EAAMI,SACNJ,EAAMC,UACNF,EAAKoB,mBACFP,EAIH,CACET,MAAO,mBACPG,IAAK,KACLc,UAAW,EACXL,SAAU,CACRO,SAAU,gBAEZd,SAAU,CACR,CACEN,UAAW,SAGXC,MAAO,OACPoB,gBAAgB,EAChBC,YAAY,KA3FA,CACxBtB,UAAW,WACXC,MAAO,kBAgGL,CACEA,MAAOd,EAAU,KACjBiB,IAAK,OACLc,UAAW,EACXb,QAAS,IACTC,SAAU,CACR,CACEN,UAAW,UACXC,MAlGa,qBAoGf,CACEA,MAAO,KACPoB,gBAAgB,EAChBC,YAAY,EACZJ,UAAW,EACXL,SAAU,CACRU,SAAU,UACVC,QA5GS,kBA6GTC,UAAW3C,EAAeW,KAAK,MAEjCa,SAAU,CACR,CACEL,MAAO,eACPD,UAAW,gBAEVU,EACHb,EAAKoB,oBAKb,CACEjB,UAAW,eACXC,MAAO,OAASpB,EAAKY,KAAK,KAAO,SAIzC,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/css.js"],"sourcesContent":["const MODES = (hljs) => {\n return {\n IMPORTANT: {\n className: 'meta',\n begin: '!important'\n },\n HEXCOLOR: {\n className: 'number',\n begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})'\n },\n ATTRIBUTE_SELECTOR_MODE: {\n className: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n };\n};\n\nconst TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'p',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n];\n\nconst ATTRIBUTES = [\n 'align-content',\n 'align-items',\n 'align-self',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'auto',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'border',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'clear',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'content',\n 'counter-increment',\n 'counter-reset',\n 'cursor',\n 'direction',\n 'display',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-variant-ligatures',\n 'font-variation-settings',\n 'font-weight',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inherit',\n 'initial',\n 'justify-content',\n 'left',\n 'letter-spacing',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-bottom',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'max-height',\n 'max-width',\n 'min-height',\n 'min-width',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-bottom',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'resize',\n 'right',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-last',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-style',\n 'text-indent',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'unicode-bidi',\n 'vertical-align',\n 'visibility',\n 'white-space',\n 'widows',\n 'width',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'z-index'\n // reverse makes sure longer attributes `font-weight` are matched fully\n // instead of getting false positives on say `font`\n].reverse();\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/*\nLanguage: CSS\nCategory: common, css\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const modes = MODES(hljs);\n const FUNCTION_DISPATCH = {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n };\n const VENDOR_PREFIX = {\n begin: /-(webkit|moz|ms|o)-(?=[a-z])/\n };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: {\n keyframePosition: \"from to\"\n },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\"\n },\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n hljs.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n {\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n begin: '::(' + PSEUDO_ELEMENTS.join('|') + ')'\n }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: ':',\n end: '[;}]',\n contains: [\n modes.HEXCOLOR,\n modes.IMPORTANT,\n hljs.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: {\n built_in: \"url data-uri\"\n },\n contains: [\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n FUNCTION_DISPATCH\n ]\n },\n {\n begin: lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n hljs.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nmodule.exports = css;\n"],"names":["TAGS","MEDIA_FEATURES","PSEUDO_CLASSES","PSEUDO_ELEMENTS","ATTRIBUTES","reverse","lookahead","re","args","map","x","source","join","concat","module","exports","hljs","modes","IMPORTANT","className","begin","HEXCOLOR","ATTRIBUTE_SELECTOR_MODE","end","illegal","contains","APOS_STRING_MODE","QUOTE_STRING_MODE","MODES","STRINGS","name","case_insensitive","keywords","keyframePosition","classNameAliases","C_BLOCK_COMMENT_MODE","CSS_NUMBER_MODE","relevance","variants","built_in","endsWithParent","excludeEnd","$pattern","keyword","attribute"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/d.js.map b/js/highlight/d.js.map
index 86fd548605f..c78f94f1a7e 100644
--- a/js/highlight/d.js.map
+++ b/js/highlight/d.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/d.js?v=e20dc6578c553c76df9e","mappings":"yGA8QAA,EAAOC,QApPP,SAAWC,GAMT,MAAMC,EAAa,CACjBC,SAAUF,EAAKG,oBACfC,QACE,6mBAQFC,SACE,2KAGFC,QACE,mBAwBEC,EAAa,2FAgBbC,EAAqB,yGAcrBC,EAAiB,CACrBC,UAAW,SACXC,MAAO,MAAQJ,EAAa,uBAC5BK,UAAW,GAOPC,EAAe,CACnBH,UAAW,SACXC,MAAO,udAEHJ,EAFG,gBAIPK,UAAW,GAQPE,EAAmB,CACvBJ,UAAW,SACXC,MAAO,KAAQH,EAAqB,MACpCO,IAAK,IACLC,QAAS,KAkBLC,EAAgB,CACpBP,UAAW,SACXC,MAAO,IACPO,SAAU,CAbc,CACxBP,MAAOH,EACPI,UAAW,IAYXG,IAAK,WAuFDI,EAAyBnB,EAAKoB,QAClC,SACA,SACA,CACEF,SAAU,CAAC,QACXN,UAAW,KAIf,MAAO,CACLS,KAAM,IACNC,SAAUrB,EACViB,SAAU,CACRlB,EAAKuB,oBACLvB,EAAKwB,qBACLL,EAvEsB,CACxBT,UAAW,SACXC,MAAO,iCACPC,UAAW,IAsETK,EAhGoC,CACtCP,UAAW,SACXC,MAAO,QACPI,IAAK,UACLH,UAAW,GAQ2B,CACtCF,UAAW,SACXC,MAAO,IACPI,IAAK,WAmBqB,CAC1BL,UAAW,SACXC,MAAO,QACPI,IAAK,QA+DHF,EACAJ,EACAK,EAzDoB,CACtBJ,UAAW,OACXC,MAAO,MACPI,IAAK,IACLH,UAAW,GAQyB,CACpCF,UAAW,OACXC,MAAO,UACPI,IAAK,IACLH,UAAW,GAQY,CACvBF,UAAW,UACXC,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/d.js"],"sourcesContent":["/*\nLanguage: D\nAuthor: Aleksandar Ruzicic \nDescription: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.\nVersion: 1.0a\nWebsite: https://dlang.org\nDate: 2012-04-08\n*/\n\n/**\n * Known issues:\n *\n * - invalid hex string literals will be recognized as a double quoted strings\n * but 'x' at the beginning of string will not be matched\n *\n * - delimited string literals are not checked for matching end delimiter\n * (not possible to do with js regexp)\n *\n * - content of token string is colored as a string (i.e. no keyword coloring inside a token string)\n * also, content of token string is not validated to contain only valid D tokens\n *\n * - special token sequence rule is not strictly following D grammar (anything following #line\n * up to the end of line is matched as special token sequence)\n */\n\n/** @type LanguageFn */\nfunction d(hljs) {\n /**\n * Language keywords\n *\n * @type {Object}\n */\n const D_KEYWORDS = {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n keyword:\n 'abstract alias align asm assert auto body break byte case cast catch class ' +\n 'const continue debug default delete deprecated do else enum export extern final ' +\n 'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' +\n 'interface invariant is lazy macro mixin module new nothrow out override package ' +\n 'pragma private protected public pure ref return scope shared static struct ' +\n 'super switch synchronized template this throw try typedef typeid typeof union ' +\n 'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' +\n '__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__',\n built_in:\n 'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' +\n 'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' +\n 'wstring',\n literal:\n 'false null true'\n };\n\n /**\n * Number literal regexps\n *\n * @type {String}\n */\n const decimal_integer_re = '(0|[1-9][\\\\d_]*)';\n const decimal_integer_nosus_re = '(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)';\n const binary_integer_re = '0[bB][01_]+';\n const hexadecimal_digits_re = '([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)';\n const hexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re;\n\n const decimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')';\n const decimal_float_re = '(' + decimal_integer_nosus_re + '(\\\\.\\\\d*|' + decimal_exponent_re + ')|' +\n '\\\\d+\\\\.' + decimal_integer_nosus_re + '|' +\n '\\\\.' + decimal_integer_re + decimal_exponent_re + '?' +\n ')';\n const hexadecimal_float_re = '(0[xX](' +\n hexadecimal_digits_re + '\\\\.' + hexadecimal_digits_re + '|' +\n '\\\\.?' + hexadecimal_digits_re +\n ')[pP][+-]?' + decimal_integer_nosus_re + ')';\n\n const integer_re = '(' +\n decimal_integer_re + '|' +\n binary_integer_re + '|' +\n hexadecimal_integer_re +\n ')';\n\n const float_re = '(' +\n hexadecimal_float_re + '|' +\n decimal_float_re +\n ')';\n\n /**\n * Escape sequence supported in D string and character literals\n *\n * @type {String}\n */\n const escape_sequence_re = '\\\\\\\\(' +\n '[\\'\"\\\\?\\\\\\\\abfnrtv]|' + // common escapes\n 'u[\\\\dA-Fa-f]{4}|' + // four hex digit unicode codepoint\n '[0-7]{1,3}|' + // one to three octal digit ascii char code\n 'x[\\\\dA-Fa-f]{2}|' + // two hex digit ascii char code\n 'U[\\\\dA-Fa-f]{8}' + // eight hex digit unicode codepoint\n ')|' +\n '&[a-zA-Z\\\\d]{2,};'; // named character entity\n\n /**\n * D integer number literals\n *\n * @type {Object}\n */\n const D_INTEGER_MODE = {\n className: 'number',\n begin: '\\\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?',\n relevance: 0\n };\n\n /**\n * [D_FLOAT_MODE description]\n * @type {Object}\n */\n const D_FLOAT_MODE = {\n className: 'number',\n begin: '\\\\b(' +\n float_re + '([fF]|L|i|[fF]i|Li)?|' +\n integer_re + '(i|[fF]i|Li)' +\n ')',\n relevance: 0\n };\n\n /**\n * D character literal\n *\n * @type {Object}\n */\n const D_CHARACTER_MODE = {\n className: 'string',\n begin: '\\'(' + escape_sequence_re + '|.)',\n end: '\\'',\n illegal: '.'\n };\n\n /**\n * D string escape sequence\n *\n * @type {Object}\n */\n const D_ESCAPE_SEQUENCE = {\n begin: escape_sequence_re,\n relevance: 0\n };\n\n /**\n * D double quoted string literal\n *\n * @type {Object}\n */\n const D_STRING_MODE = {\n className: 'string',\n begin: '\"',\n contains: [D_ESCAPE_SEQUENCE],\n end: '\"[cwd]?'\n };\n\n /**\n * D wysiwyg and delimited string literals\n *\n * @type {Object}\n */\n const D_WYSIWYG_DELIMITED_STRING_MODE = {\n className: 'string',\n begin: '[rq]\"',\n end: '\"[cwd]?',\n relevance: 5\n };\n\n /**\n * D alternate wysiwyg string literal\n *\n * @type {Object}\n */\n const D_ALTERNATE_WYSIWYG_STRING_MODE = {\n className: 'string',\n begin: '`',\n end: '`[cwd]?'\n };\n\n /**\n * D hexadecimal string literal\n *\n * @type {Object}\n */\n const D_HEX_STRING_MODE = {\n className: 'string',\n begin: 'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',\n relevance: 10\n };\n\n /**\n * D delimited string literal\n *\n * @type {Object}\n */\n const D_TOKEN_STRING_MODE = {\n className: 'string',\n begin: 'q\"\\\\{',\n end: '\\\\}\"'\n };\n\n /**\n * Hashbang support\n *\n * @type {Object}\n */\n const D_HASHBANG_MODE = {\n className: 'meta',\n begin: '^#!',\n end: '$',\n relevance: 5\n };\n\n /**\n * D special token sequence\n *\n * @type {Object}\n */\n const D_SPECIAL_TOKEN_SEQUENCE_MODE = {\n className: 'meta',\n begin: '#(line)',\n end: '$',\n relevance: 5\n };\n\n /**\n * D attributes\n *\n * @type {Object}\n */\n const D_ATTRIBUTE_MODE = {\n className: 'keyword',\n begin: '@[a-zA-Z_][a-zA-Z_\\\\d]*'\n };\n\n /**\n * D nesting comment\n *\n * @type {Object}\n */\n const D_NESTING_COMMENT_MODE = hljs.COMMENT(\n '\\\\/\\\\+',\n '\\\\+\\\\/',\n {\n contains: ['self'],\n relevance: 10\n }\n );\n\n return {\n name: 'D',\n keywords: D_KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n D_NESTING_COMMENT_MODE,\n D_HEX_STRING_MODE,\n D_STRING_MODE,\n D_WYSIWYG_DELIMITED_STRING_MODE,\n D_ALTERNATE_WYSIWYG_STRING_MODE,\n D_TOKEN_STRING_MODE,\n D_FLOAT_MODE,\n D_INTEGER_MODE,\n D_CHARACTER_MODE,\n D_HASHBANG_MODE,\n D_SPECIAL_TOKEN_SEQUENCE_MODE,\n D_ATTRIBUTE_MODE\n ]\n };\n}\n\nmodule.exports = d;\n"],"names":["module","exports","hljs","D_KEYWORDS","$pattern","UNDERSCORE_IDENT_RE","keyword","built_in","literal","integer_re","escape_sequence_re","D_INTEGER_MODE","className","begin","relevance","D_FLOAT_MODE","D_CHARACTER_MODE","end","illegal","D_STRING_MODE","contains","D_NESTING_COMMENT_MODE","COMMENT","name","keywords","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/d.js?v=e20dc6578c553c76df9e","mappings":"yGA8QAA,EAAOC,QApPP,SAAWC,GAMT,MAAMC,EAAa,CACjBC,SAAUF,EAAKG,oBACfC,QACE,6mBAQFC,SACE,2KAGFC,QACE,mBAwBEC,EAAa,2FAgBbC,EAAqB,yGAcrBC,EAAiB,CACrBC,UAAW,SACXC,MAAO,MAAQJ,EAAa,uBAC5BK,UAAW,GAOPC,EAAe,CACnBH,UAAW,SACXC,MAAO,udAEHJ,EAFG,gBAIPK,UAAW,GAQPE,EAAmB,CACvBJ,UAAW,SACXC,MAAO,KAAQH,EAAqB,MACpCO,IAAK,IACLC,QAAS,KAkBLC,EAAgB,CACpBP,UAAW,SACXC,MAAO,IACPO,SAAU,CAbc,CACxBP,MAAOH,EACPI,UAAW,IAYXG,IAAK,WAuFDI,EAAyBnB,EAAKoB,QAClC,SACA,SACA,CACEF,SAAU,CAAC,QACXN,UAAW,KAIf,MAAO,CACLS,KAAM,IACNC,SAAUrB,EACViB,SAAU,CACRlB,EAAKuB,oBACLvB,EAAKwB,qBACLL,EAvEsB,CACxBT,UAAW,SACXC,MAAO,iCACPC,UAAW,IAsETK,EAhGoC,CACtCP,UAAW,SACXC,MAAO,QACPI,IAAK,UACLH,UAAW,GAQ2B,CACtCF,UAAW,SACXC,MAAO,IACPI,IAAK,WAmBqB,CAC1BL,UAAW,SACXC,MAAO,QACPI,IAAK,QA+DHF,EACAJ,EACAK,EAzDoB,CACtBJ,UAAW,OACXC,MAAO,MACPI,IAAK,IACLH,UAAW,GAQyB,CACpCF,UAAW,OACXC,MAAO,UACPI,IAAK,IACLH,UAAW,GAQY,CACvBF,UAAW,UACXC,MAAO,4BAqCX,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/d.js"],"sourcesContent":["/*\nLanguage: D\nAuthor: Aleksandar Ruzicic \nDescription: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.\nVersion: 1.0a\nWebsite: https://dlang.org\nDate: 2012-04-08\n*/\n\n/**\n * Known issues:\n *\n * - invalid hex string literals will be recognized as a double quoted strings\n * but 'x' at the beginning of string will not be matched\n *\n * - delimited string literals are not checked for matching end delimiter\n * (not possible to do with js regexp)\n *\n * - content of token string is colored as a string (i.e. no keyword coloring inside a token string)\n * also, content of token string is not validated to contain only valid D tokens\n *\n * - special token sequence rule is not strictly following D grammar (anything following #line\n * up to the end of line is matched as special token sequence)\n */\n\n/** @type LanguageFn */\nfunction d(hljs) {\n /**\n * Language keywords\n *\n * @type {Object}\n */\n const D_KEYWORDS = {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n keyword:\n 'abstract alias align asm assert auto body break byte case cast catch class ' +\n 'const continue debug default delete deprecated do else enum export extern final ' +\n 'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' +\n 'interface invariant is lazy macro mixin module new nothrow out override package ' +\n 'pragma private protected public pure ref return scope shared static struct ' +\n 'super switch synchronized template this throw try typedef typeid typeof union ' +\n 'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' +\n '__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__',\n built_in:\n 'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' +\n 'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' +\n 'wstring',\n literal:\n 'false null true'\n };\n\n /**\n * Number literal regexps\n *\n * @type {String}\n */\n const decimal_integer_re = '(0|[1-9][\\\\d_]*)';\n const decimal_integer_nosus_re = '(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)';\n const binary_integer_re = '0[bB][01_]+';\n const hexadecimal_digits_re = '([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)';\n const hexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re;\n\n const decimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')';\n const decimal_float_re = '(' + decimal_integer_nosus_re + '(\\\\.\\\\d*|' + decimal_exponent_re + ')|' +\n '\\\\d+\\\\.' + decimal_integer_nosus_re + '|' +\n '\\\\.' + decimal_integer_re + decimal_exponent_re + '?' +\n ')';\n const hexadecimal_float_re = '(0[xX](' +\n hexadecimal_digits_re + '\\\\.' + hexadecimal_digits_re + '|' +\n '\\\\.?' + hexadecimal_digits_re +\n ')[pP][+-]?' + decimal_integer_nosus_re + ')';\n\n const integer_re = '(' +\n decimal_integer_re + '|' +\n binary_integer_re + '|' +\n hexadecimal_integer_re +\n ')';\n\n const float_re = '(' +\n hexadecimal_float_re + '|' +\n decimal_float_re +\n ')';\n\n /**\n * Escape sequence supported in D string and character literals\n *\n * @type {String}\n */\n const escape_sequence_re = '\\\\\\\\(' +\n '[\\'\"\\\\?\\\\\\\\abfnrtv]|' + // common escapes\n 'u[\\\\dA-Fa-f]{4}|' + // four hex digit unicode codepoint\n '[0-7]{1,3}|' + // one to three octal digit ascii char code\n 'x[\\\\dA-Fa-f]{2}|' + // two hex digit ascii char code\n 'U[\\\\dA-Fa-f]{8}' + // eight hex digit unicode codepoint\n ')|' +\n '&[a-zA-Z\\\\d]{2,};'; // named character entity\n\n /**\n * D integer number literals\n *\n * @type {Object}\n */\n const D_INTEGER_MODE = {\n className: 'number',\n begin: '\\\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?',\n relevance: 0\n };\n\n /**\n * [D_FLOAT_MODE description]\n * @type {Object}\n */\n const D_FLOAT_MODE = {\n className: 'number',\n begin: '\\\\b(' +\n float_re + '([fF]|L|i|[fF]i|Li)?|' +\n integer_re + '(i|[fF]i|Li)' +\n ')',\n relevance: 0\n };\n\n /**\n * D character literal\n *\n * @type {Object}\n */\n const D_CHARACTER_MODE = {\n className: 'string',\n begin: '\\'(' + escape_sequence_re + '|.)',\n end: '\\'',\n illegal: '.'\n };\n\n /**\n * D string escape sequence\n *\n * @type {Object}\n */\n const D_ESCAPE_SEQUENCE = {\n begin: escape_sequence_re,\n relevance: 0\n };\n\n /**\n * D double quoted string literal\n *\n * @type {Object}\n */\n const D_STRING_MODE = {\n className: 'string',\n begin: '\"',\n contains: [D_ESCAPE_SEQUENCE],\n end: '\"[cwd]?'\n };\n\n /**\n * D wysiwyg and delimited string literals\n *\n * @type {Object}\n */\n const D_WYSIWYG_DELIMITED_STRING_MODE = {\n className: 'string',\n begin: '[rq]\"',\n end: '\"[cwd]?',\n relevance: 5\n };\n\n /**\n * D alternate wysiwyg string literal\n *\n * @type {Object}\n */\n const D_ALTERNATE_WYSIWYG_STRING_MODE = {\n className: 'string',\n begin: '`',\n end: '`[cwd]?'\n };\n\n /**\n * D hexadecimal string literal\n *\n * @type {Object}\n */\n const D_HEX_STRING_MODE = {\n className: 'string',\n begin: 'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',\n relevance: 10\n };\n\n /**\n * D delimited string literal\n *\n * @type {Object}\n */\n const D_TOKEN_STRING_MODE = {\n className: 'string',\n begin: 'q\"\\\\{',\n end: '\\\\}\"'\n };\n\n /**\n * Hashbang support\n *\n * @type {Object}\n */\n const D_HASHBANG_MODE = {\n className: 'meta',\n begin: '^#!',\n end: '$',\n relevance: 5\n };\n\n /**\n * D special token sequence\n *\n * @type {Object}\n */\n const D_SPECIAL_TOKEN_SEQUENCE_MODE = {\n className: 'meta',\n begin: '#(line)',\n end: '$',\n relevance: 5\n };\n\n /**\n * D attributes\n *\n * @type {Object}\n */\n const D_ATTRIBUTE_MODE = {\n className: 'keyword',\n begin: '@[a-zA-Z_][a-zA-Z_\\\\d]*'\n };\n\n /**\n * D nesting comment\n *\n * @type {Object}\n */\n const D_NESTING_COMMENT_MODE = hljs.COMMENT(\n '\\\\/\\\\+',\n '\\\\+\\\\/',\n {\n contains: ['self'],\n relevance: 10\n }\n );\n\n return {\n name: 'D',\n keywords: D_KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n D_NESTING_COMMENT_MODE,\n D_HEX_STRING_MODE,\n D_STRING_MODE,\n D_WYSIWYG_DELIMITED_STRING_MODE,\n D_ALTERNATE_WYSIWYG_STRING_MODE,\n D_TOKEN_STRING_MODE,\n D_FLOAT_MODE,\n D_INTEGER_MODE,\n D_CHARACTER_MODE,\n D_HASHBANG_MODE,\n D_SPECIAL_TOKEN_SEQUENCE_MODE,\n D_ATTRIBUTE_MODE\n ]\n };\n}\n\nmodule.exports = d;\n"],"names":["module","exports","hljs","D_KEYWORDS","$pattern","UNDERSCORE_IDENT_RE","keyword","built_in","literal","integer_re","escape_sequence_re","D_INTEGER_MODE","className","begin","relevance","D_FLOAT_MODE","D_CHARACTER_MODE","end","illegal","D_STRING_MODE","contains","D_NESTING_COMMENT_MODE","COMMENT","name","keywords","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dart.js.map b/js/highlight/dart.js.map
index c332d5ede54..3f463c426dc 100644
--- a/js/highlight/dart.js.map
+++ b/js/highlight/dart.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dart.js?v=9218710803b503539db5","mappings":"4GAsMAA,EAAOC,QA5LP,SAAcC,GACZ,MAAMC,EAAQ,CACZC,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,sBAILC,EAAe,CACnBH,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,OACPE,IAAK,OAEPC,SAAU,qCAGNC,EAAS,CACbN,UAAW,SACXC,SAAU,CACR,CACEC,MAAO,OACPE,IAAK,OAEP,CACEF,MAAO,OACPE,IAAK,OAEP,CACEF,MAAO,KACPE,IAAK,IACLG,QAAS,OAEX,CACEL,MAAO,KACPE,IAAK,IACLG,QAAS,OAEX,CACEL,MAAO,MACPE,IAAK,MACLI,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,MACPE,IAAK,MACLI,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CACRV,EAAKW,iBACLV,EACAI,MAKRA,EAAaK,SAAW,CACtBV,EAAKY,cACLJ,GAGF,MAAMK,EAAiB,CAErB,aACA,WACA,WACA,WACA,WACA,WACA,OACA,MACA,QACA,SACA,UACA,SACA,MACA,YACA,SACA,eACA,aACA,SACA,OACA,MACA,OACA,SACA,MACA,MAEA,UACA,eAEIC,EAA0BD,EAAeE,KAAKC,GAAM,GAAGA,OAyB7D,MAAO,CACLC,KAAM,OACNV,SAzBe,CACfW,QAAS,6YAITC,SACEN,EACGO,OAAON,GACPM,OAAO,CAEN,QACA,OACA,UACA,QAEA,WACA,gBACA,mBACA,WAENC,SAAU,4BAMVX,SAAU,CACRF,EACAR,EAAKsB,QACH,eACA,OACA,CACEC,YAAa,WACbC,UAAW,IAGfxB,EAAKsB,QACH,WACA,IAAK,CACHZ,SAAU,CAAC,CACTa,YAAa,WACbnB,MAAO,IACPE,IAAK,IACLkB,UAAW,MAIjBxB,EAAKyB,oBACLzB,EAAK0B,qBACL,CACExB,UAAW,QACXyB,cAAe,kBACfrB,IAAK,KACLsB,YAAY,EACZlB,SAAU,CACR,CACEiB,cAAe,sBAEjB3B,EAAK6B,wBAGT7B,EAAKY,cACL,CACEV,UAAW,OACXE,MAAO,cAET,CACEA,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dart.js"],"sourcesContent":["/*\nLanguage: Dart\nRequires: markdown.js\nAuthor: Maxim Dikun \nDescription: Dart a modern, object-oriented language developed by Google. For more information see https://www.dartlang.org/\nWebsite: https://dart.dev\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction dart(hljs) {\n const SUBST = {\n className: 'subst',\n variants: [{\n begin: '\\\\$[A-Za-z0-9_]+'\n }]\n };\n\n const BRACED_SUBST = {\n className: 'subst',\n variants: [{\n begin: /\\$\\{/,\n end: /\\}/\n }],\n keywords: 'true false null this is new super'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: 'r\\'\\'\\'',\n end: '\\'\\'\\''\n },\n {\n begin: 'r\"\"\"',\n end: '\"\"\"'\n },\n {\n begin: 'r\\'',\n end: '\\'',\n illegal: '\\\\n'\n },\n {\n begin: 'r\"',\n end: '\"',\n illegal: '\\\\n'\n },\n {\n begin: '\\'\\'\\'',\n end: '\\'\\'\\'',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n }\n ]\n };\n BRACED_SUBST.contains = [\n hljs.C_NUMBER_MODE,\n STRING\n ];\n\n const BUILT_IN_TYPES = [\n // dart:core\n 'Comparable',\n 'DateTime',\n 'Duration',\n 'Function',\n 'Iterable',\n 'Iterator',\n 'List',\n 'Map',\n 'Match',\n 'Object',\n 'Pattern',\n 'RegExp',\n 'Set',\n 'Stopwatch',\n 'String',\n 'StringBuffer',\n 'StringSink',\n 'Symbol',\n 'Type',\n 'Uri',\n 'bool',\n 'double',\n 'int',\n 'num',\n // dart:html\n 'Element',\n 'ElementList'\n ];\n const NULLABLE_BUILT_IN_TYPES = BUILT_IN_TYPES.map((e) => `${e}?`);\n\n const KEYWORDS = {\n keyword: 'abstract as assert async await break case catch class const continue covariant default deferred do ' +\n 'dynamic else enum export extends extension external factory false final finally for Function get hide if ' +\n 'implements import in inferface is late library mixin new null on operator part required rethrow return set ' +\n 'show static super switch sync this throw true try typedef var void while with yield',\n built_in:\n BUILT_IN_TYPES\n .concat(NULLABLE_BUILT_IN_TYPES)\n .concat([\n // dart:core\n 'Never',\n 'Null',\n 'dynamic',\n 'print',\n // dart:html\n 'document',\n 'querySelector',\n 'querySelectorAll',\n 'window'\n ]),\n $pattern: /[A-Za-z][A-Za-z0-9_]*\\??/\n };\n\n return {\n name: 'Dart',\n keywords: KEYWORDS,\n contains: [\n STRING,\n hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n /\\*\\//,\n {\n subLanguage: 'markdown',\n relevance: 0\n }\n ),\n hljs.COMMENT(\n /\\/{3,} ?/,\n /$/, {\n contains: [{\n subLanguage: 'markdown',\n begin: '.',\n end: '$',\n relevance: 0\n }]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '@[A-Za-z]+'\n },\n {\n begin: '=>' // No markup, just a relevance booster\n }\n ]\n };\n}\n\nmodule.exports = dart;\n"],"names":["module","exports","hljs","SUBST","className","variants","begin","BRACED_SUBST","end","keywords","STRING","illegal","contains","BACKSLASH_ESCAPE","C_NUMBER_MODE","BUILT_IN_TYPES","NULLABLE_BUILT_IN_TYPES","map","e","name","keyword","built_in","concat","$pattern","COMMENT","subLanguage","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords","excludeEnd","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dart.js?v=9218710803b503539db5","mappings":"4GAsMAA,EAAOC,QA5LP,SAAcC,GACZ,MAAMC,EAAQ,CACZC,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,sBAILC,EAAe,CACnBH,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,OACPE,IAAK,OAEPC,SAAU,qCAGNC,EAAS,CACbN,UAAW,SACXC,SAAU,CACR,CACEC,MAAO,OACPE,IAAK,OAEP,CACEF,MAAO,OACPE,IAAK,OAEP,CACEF,MAAO,KACPE,IAAK,IACLG,QAAS,OAEX,CACEL,MAAO,KACPE,IAAK,IACLG,QAAS,OAEX,CACEL,MAAO,MACPE,IAAK,MACLI,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,MACPE,IAAK,MACLI,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CACRV,EAAKW,iBACLV,EACAI,IAGJ,CACED,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CACRV,EAAKW,iBACLV,EACAI,MAKRA,EAAaK,SAAW,CACtBV,EAAKY,cACLJ,GAGF,MAAMK,EAAiB,CAErB,aACA,WACA,WACA,WACA,WACA,WACA,OACA,MACA,QACA,SACA,UACA,SACA,MACA,YACA,SACA,eACA,aACA,SACA,OACA,MACA,OACA,SACA,MACA,MAEA,UACA,eAEIC,EAA0BD,EAAeE,KAAKC,GAAM,GAAGA,OAyB7D,MAAO,CACLC,KAAM,OACNV,SAzBe,CACfW,QAAS,6YAITC,SACEN,EACGO,OAAON,GACPM,OAAO,CAEN,QACA,OACA,UACA,QAEA,WACA,gBACA,mBACA,WAENC,SAAU,4BAMVX,SAAU,CACRF,EACAR,EAAKsB,QACH,eACA,OACA,CACEC,YAAa,WACbC,UAAW,IAGfxB,EAAKsB,QACH,WACA,IAAK,CACHZ,SAAU,CAAC,CACTa,YAAa,WACbnB,MAAO,IACPE,IAAK,IACLkB,UAAW,MAIjBxB,EAAKyB,oBACLzB,EAAK0B,qBACL,CACExB,UAAW,QACXyB,cAAe,kBACfrB,IAAK,KACLsB,YAAY,EACZlB,SAAU,CACR,CACEiB,cAAe,sBAEjB3B,EAAK6B,wBAGT7B,EAAKY,cACL,CACEV,UAAW,OACXE,MAAO,cAET,CACEA,MAAO,OAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dart.js"],"sourcesContent":["/*\nLanguage: Dart\nRequires: markdown.js\nAuthor: Maxim Dikun \nDescription: Dart a modern, object-oriented language developed by Google. For more information see https://www.dartlang.org/\nWebsite: https://dart.dev\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction dart(hljs) {\n const SUBST = {\n className: 'subst',\n variants: [{\n begin: '\\\\$[A-Za-z0-9_]+'\n }]\n };\n\n const BRACED_SUBST = {\n className: 'subst',\n variants: [{\n begin: /\\$\\{/,\n end: /\\}/\n }],\n keywords: 'true false null this is new super'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: 'r\\'\\'\\'',\n end: '\\'\\'\\''\n },\n {\n begin: 'r\"\"\"',\n end: '\"\"\"'\n },\n {\n begin: 'r\\'',\n end: '\\'',\n illegal: '\\\\n'\n },\n {\n begin: 'r\"',\n end: '\"',\n illegal: '\\\\n'\n },\n {\n begin: '\\'\\'\\'',\n end: '\\'\\'\\'',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n }\n ]\n };\n BRACED_SUBST.contains = [\n hljs.C_NUMBER_MODE,\n STRING\n ];\n\n const BUILT_IN_TYPES = [\n // dart:core\n 'Comparable',\n 'DateTime',\n 'Duration',\n 'Function',\n 'Iterable',\n 'Iterator',\n 'List',\n 'Map',\n 'Match',\n 'Object',\n 'Pattern',\n 'RegExp',\n 'Set',\n 'Stopwatch',\n 'String',\n 'StringBuffer',\n 'StringSink',\n 'Symbol',\n 'Type',\n 'Uri',\n 'bool',\n 'double',\n 'int',\n 'num',\n // dart:html\n 'Element',\n 'ElementList'\n ];\n const NULLABLE_BUILT_IN_TYPES = BUILT_IN_TYPES.map((e) => `${e}?`);\n\n const KEYWORDS = {\n keyword: 'abstract as assert async await break case catch class const continue covariant default deferred do ' +\n 'dynamic else enum export extends extension external factory false final finally for Function get hide if ' +\n 'implements import in inferface is late library mixin new null on operator part required rethrow return set ' +\n 'show static super switch sync this throw true try typedef var void while with yield',\n built_in:\n BUILT_IN_TYPES\n .concat(NULLABLE_BUILT_IN_TYPES)\n .concat([\n // dart:core\n 'Never',\n 'Null',\n 'dynamic',\n 'print',\n // dart:html\n 'document',\n 'querySelector',\n 'querySelectorAll',\n 'window'\n ]),\n $pattern: /[A-Za-z][A-Za-z0-9_]*\\??/\n };\n\n return {\n name: 'Dart',\n keywords: KEYWORDS,\n contains: [\n STRING,\n hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n /\\*\\//,\n {\n subLanguage: 'markdown',\n relevance: 0\n }\n ),\n hljs.COMMENT(\n /\\/{3,} ?/,\n /$/, {\n contains: [{\n subLanguage: 'markdown',\n begin: '.',\n end: '$',\n relevance: 0\n }]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n {\n beginKeywords: 'extends implements'\n },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '@[A-Za-z]+'\n },\n {\n begin: '=>' // No markup, just a relevance booster\n }\n ]\n };\n}\n\nmodule.exports = dart;\n"],"names":["module","exports","hljs","SUBST","className","variants","begin","BRACED_SUBST","end","keywords","STRING","illegal","contains","BACKSLASH_ESCAPE","C_NUMBER_MODE","BUILT_IN_TYPES","NULLABLE_BUILT_IN_TYPES","map","e","name","keyword","built_in","concat","$pattern","COMMENT","subLanguage","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords","excludeEnd","UNDERSCORE_TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/delphi.js.map b/js/highlight/delphi.js.map
index 9ef934d910b..0f1a99549b5 100644
--- a/js/highlight/delphi.js.map
+++ b/js/highlight/delphi.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/delphi.js?v=0b54cb13f30a122dbea7","mappings":"8GA6HAA,EAAOC,QAvHP,SAAgBC,GACd,MAAMC,EACJ,26BAWIC,EAAgB,CACpBF,EAAKG,oBACLH,EAAKI,QAAQ,KAAM,KAAM,CACvBC,UAAW,IAEbL,EAAKI,QAAQ,OAAQ,OAAQ,CAC3BC,UAAW,MAGTC,EAAY,CAChBC,UAAW,OACXC,SAAU,CACR,CACEC,MAAO,OACPC,IAAK,MAEP,CACED,MAAO,SACPC,IAAK,UAILC,EAAS,CACbJ,UAAW,SACXE,MAAO,IACPC,IAAK,IACLE,SAAU,CAAC,CACTH,MAAO,QAsBLI,EAAc,CAClBN,UAAW,SACXE,MAAO,WAEHK,EAAQ,CACZL,MAAOT,EAAKe,SAAW,wBACvBC,aAAa,EACbJ,SAAU,CAACZ,EAAKiB,aAEZC,EAAW,CACfX,UAAW,WACXY,cAAe,4CACfT,IAAK,OACLU,SAAU,qDACVR,SAAU,CACRZ,EAAKiB,WACL,CACEV,UAAW,SACXE,MAAO,KACPC,IAAK,KACLU,SAAUnB,EACVW,SAAU,CACRD,EACAE,EACAP,GACAe,OAAOnB,IAEXI,GACAe,OAAOnB,IAEX,MAAO,CACLoB,KAAM,SACNC,QAAS,CACP,MACA,MACA,MACA,SACA,aACA,UACA,MACA,OAEFC,kBAAkB,EAClBJ,SAAUnB,EACVwB,QAAS,2BACTb,SAAU,CACRD,EACAE,EACAb,EAAK0B,YAnEM,CACbnB,UAAW,SACXF,UAAW,EAEXG,SAAU,CACR,CAEEC,MAAO,mBAET,CAEEA,MAAO,WAET,CAEEA,MAAO,YAsDTK,EACAI,EACAZ,GACAe,OAAOnB","sources":["webpack:///text/node_modules/highlight.js/lib/languages/delphi.js"],"sourcesContent":["/*\nLanguage: Delphi\nWebsite: https://www.embarcadero.com/products/delphi\n*/\n\n/** @type LanguageFn */\nfunction delphi(hljs) {\n const KEYWORDS =\n 'exports register file shl array record property for mod while set ally label uses raise not ' +\n 'stored class safecall var interface or private static exit index inherited to else stdcall ' +\n 'override shr asm far resourcestring finalization packed virtual out and protected library do ' +\n 'xorwrite goto near function end div overload object unit begin string on inline repeat until ' +\n 'destructor write message program with read initialization except default nil if case cdecl in ' +\n 'downto threadvar of try pascal const external constructor type public then implementation ' +\n 'finally published procedure absolute reintroduce operator as is abstract alias assembler ' +\n 'bitpacked break continue cppdecl cvar enumerator experimental platform deprecated ' +\n 'unimplemented dynamic export far16 forward generic helper implements interrupt iochecks ' +\n 'local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat ' +\n 'specialize strict unaligned varargs ';\n const COMMENT_MODES = [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(/\\{/, /\\}/, {\n relevance: 0\n }),\n hljs.COMMENT(/\\(\\*/, /\\*\\)/, {\n relevance: 10\n })\n ];\n const DIRECTIVE = {\n className: 'meta',\n variants: [\n {\n begin: /\\{\\$/,\n end: /\\}/\n },\n {\n begin: /\\(\\*\\$/,\n end: /\\*\\)/\n }\n ]\n };\n const STRING = {\n className: 'string',\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/\n }]\n };\n const NUMBER = {\n className: 'number',\n relevance: 0,\n // Source: https://www.freepascal.org/docs-html/ref/refse6.html\n variants: [\n {\n // Hexadecimal notation, e.g., $7F.\n begin: '\\\\$[0-9A-Fa-f]+'\n },\n {\n // Octal notation, e.g., &42.\n begin: '&[0-7]+'\n },\n {\n // Binary notation, e.g., %1010.\n begin: '%[01]+'\n }\n ]\n };\n const CHAR_STRING = {\n className: 'string',\n begin: /(#\\d+)+/\n };\n const CLASS = {\n begin: hljs.IDENT_RE + '\\\\s*=\\\\s*class\\\\s*\\\\(',\n returnBegin: true,\n contains: [hljs.TITLE_MODE]\n };\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'function constructor destructor procedure',\n end: /[:;]/,\n keywords: 'function constructor|10 destructor|10 procedure|10',\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n STRING,\n CHAR_STRING,\n DIRECTIVE\n ].concat(COMMENT_MODES)\n },\n DIRECTIVE\n ].concat(COMMENT_MODES)\n };\n return {\n name: 'Delphi',\n aliases: [\n 'dpr',\n 'dfm',\n 'pas',\n 'pascal',\n 'freepascal',\n 'lazarus',\n 'lpr',\n 'lfm'\n ],\n case_insensitive: true,\n keywords: KEYWORDS,\n illegal: /\"|\\$[G-Zg-z]|\\/\\*|<\\/|\\|/,\n contains: [\n STRING,\n CHAR_STRING,\n hljs.NUMBER_MODE,\n NUMBER,\n CLASS,\n FUNCTION,\n DIRECTIVE\n ].concat(COMMENT_MODES)\n };\n}\n\nmodule.exports = delphi;\n"],"names":["module","exports","hljs","KEYWORDS","COMMENT_MODES","C_LINE_COMMENT_MODE","COMMENT","relevance","DIRECTIVE","className","variants","begin","end","STRING","contains","CHAR_STRING","CLASS","IDENT_RE","returnBegin","TITLE_MODE","FUNCTION","beginKeywords","keywords","concat","name","aliases","case_insensitive","illegal","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/delphi.js?v=0b54cb13f30a122dbea7","mappings":"8GA6HAA,EAAOC,QAvHP,SAAgBC,GACd,MAAMC,EACJ,26BAWIC,EAAgB,CACpBF,EAAKG,oBACLH,EAAKI,QAAQ,KAAM,KAAM,CACvBC,UAAW,IAEbL,EAAKI,QAAQ,OAAQ,OAAQ,CAC3BC,UAAW,MAGTC,EAAY,CAChBC,UAAW,OACXC,SAAU,CACR,CACEC,MAAO,OACPC,IAAK,MAEP,CACED,MAAO,SACPC,IAAK,UAILC,EAAS,CACbJ,UAAW,SACXE,MAAO,IACPC,IAAK,IACLE,SAAU,CAAC,CACTH,MAAO,QAsBLI,EAAc,CAClBN,UAAW,SACXE,MAAO,WAEHK,EAAQ,CACZL,MAAOT,EAAKe,SAAW,wBACvBC,aAAa,EACbJ,SAAU,CAACZ,EAAKiB,aAEZC,EAAW,CACfX,UAAW,WACXY,cAAe,4CACfT,IAAK,OACLU,SAAU,qDACVR,SAAU,CACRZ,EAAKiB,WACL,CACEV,UAAW,SACXE,MAAO,KACPC,IAAK,KACLU,SAAUnB,EACVW,SAAU,CACRD,EACAE,EACAP,GACAe,OAAOnB,IAEXI,GACAe,OAAOnB,IAEX,MAAO,CACLoB,KAAM,SACNC,QAAS,CACP,MACA,MACA,MACA,SACA,aACA,UACA,MACA,OAEFC,kBAAkB,EAClBJ,SAAUnB,EACVwB,QAAS,2BACTb,SAAU,CACRD,EACAE,EACAb,EAAK0B,YAnEM,CACbnB,UAAW,SACXF,UAAW,EAEXG,SAAU,CACR,CAEEC,MAAO,mBAET,CAEEA,MAAO,WAET,CAEEA,MAAO,YAsDTK,EACAI,EACAZ,GACAe,OAAOnB,GAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/delphi.js"],"sourcesContent":["/*\nLanguage: Delphi\nWebsite: https://www.embarcadero.com/products/delphi\n*/\n\n/** @type LanguageFn */\nfunction delphi(hljs) {\n const KEYWORDS =\n 'exports register file shl array record property for mod while set ally label uses raise not ' +\n 'stored class safecall var interface or private static exit index inherited to else stdcall ' +\n 'override shr asm far resourcestring finalization packed virtual out and protected library do ' +\n 'xorwrite goto near function end div overload object unit begin string on inline repeat until ' +\n 'destructor write message program with read initialization except default nil if case cdecl in ' +\n 'downto threadvar of try pascal const external constructor type public then implementation ' +\n 'finally published procedure absolute reintroduce operator as is abstract alias assembler ' +\n 'bitpacked break continue cppdecl cvar enumerator experimental platform deprecated ' +\n 'unimplemented dynamic export far16 forward generic helper implements interrupt iochecks ' +\n 'local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat ' +\n 'specialize strict unaligned varargs ';\n const COMMENT_MODES = [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(/\\{/, /\\}/, {\n relevance: 0\n }),\n hljs.COMMENT(/\\(\\*/, /\\*\\)/, {\n relevance: 10\n })\n ];\n const DIRECTIVE = {\n className: 'meta',\n variants: [\n {\n begin: /\\{\\$/,\n end: /\\}/\n },\n {\n begin: /\\(\\*\\$/,\n end: /\\*\\)/\n }\n ]\n };\n const STRING = {\n className: 'string',\n begin: /'/,\n end: /'/,\n contains: [{\n begin: /''/\n }]\n };\n const NUMBER = {\n className: 'number',\n relevance: 0,\n // Source: https://www.freepascal.org/docs-html/ref/refse6.html\n variants: [\n {\n // Hexadecimal notation, e.g., $7F.\n begin: '\\\\$[0-9A-Fa-f]+'\n },\n {\n // Octal notation, e.g., &42.\n begin: '&[0-7]+'\n },\n {\n // Binary notation, e.g., %1010.\n begin: '%[01]+'\n }\n ]\n };\n const CHAR_STRING = {\n className: 'string',\n begin: /(#\\d+)+/\n };\n const CLASS = {\n begin: hljs.IDENT_RE + '\\\\s*=\\\\s*class\\\\s*\\\\(',\n returnBegin: true,\n contains: [hljs.TITLE_MODE]\n };\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'function constructor destructor procedure',\n end: /[:;]/,\n keywords: 'function constructor|10 destructor|10 procedure|10',\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n STRING,\n CHAR_STRING,\n DIRECTIVE\n ].concat(COMMENT_MODES)\n },\n DIRECTIVE\n ].concat(COMMENT_MODES)\n };\n return {\n name: 'Delphi',\n aliases: [\n 'dpr',\n 'dfm',\n 'pas',\n 'pascal',\n 'freepascal',\n 'lazarus',\n 'lpr',\n 'lfm'\n ],\n case_insensitive: true,\n keywords: KEYWORDS,\n illegal: /\"|\\$[G-Zg-z]|\\/\\*|<\\/|\\|/,\n contains: [\n STRING,\n CHAR_STRING,\n hljs.NUMBER_MODE,\n NUMBER,\n CLASS,\n FUNCTION,\n DIRECTIVE\n ].concat(COMMENT_MODES)\n };\n}\n\nmodule.exports = delphi;\n"],"names":["module","exports","hljs","KEYWORDS","COMMENT_MODES","C_LINE_COMMENT_MODE","COMMENT","relevance","DIRECTIVE","className","variants","begin","end","STRING","contains","CHAR_STRING","CLASS","IDENT_RE","returnBegin","TITLE_MODE","FUNCTION","beginKeywords","keywords","concat","name","aliases","case_insensitive","illegal","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/diff.js.map b/js/highlight/diff.js.map
index 2f62061717e..781b33a211e 100644
--- a/js/highlight/diff.js.map
+++ b/js/highlight/diff.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/diff.js?v=819d809d356c1ee4eb20","mappings":"4GAoFAA,EAAOC,QA3EP,SAAcC,GACZ,MAAO,CACLC,KAAM,OACNC,QAAS,CAAC,SACVC,SAAU,CACR,CACEC,UAAW,OACXC,UAAW,GACXC,SAAU,CACR,CACEC,MAAO,gCAET,CACEA,MAAO,+BAET,CACEA,MAAO,0BAIb,CACEH,UAAW,UACXE,SAAU,CACR,CACEC,MAAO,UACPC,IAAK,KAEP,CACED,MAAO,SACPC,IAAK,KAEP,CACED,MAAO,QACPC,IAAK,KAEP,CACED,MAAO,QACPC,IAAK,KAEP,CACED,MAAO,UACPC,IAAK,KAEP,CACED,MAAO,SACPC,IAAK,KAEP,CACED,MAAO,YAET,CACEA,MAAO,cACPC,IAAK,OAIX,CACEJ,UAAW,WACXG,MAAO,MACPC,IAAK,KAEP,CACEJ,UAAW,WACXG,MAAO,KACPC,IAAK,KAEP,CACEJ,UAAW,WACXG,MAAO,KACPC,IAAK","sources":["webpack:///text/node_modules/highlight.js/lib/languages/diff.js"],"sourcesContent":["/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n return {\n name: 'Diff',\n aliases: ['patch'],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n variants: [\n {\n begin: /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/\n },\n {\n begin: /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/\n },\n {\n begin: /^--- +\\d+,\\d+ +----$/\n }\n ]\n },\n {\n className: 'comment',\n variants: [\n {\n begin: /Index: /,\n end: /$/\n },\n {\n begin: /^index/,\n end: /$/\n },\n {\n begin: /={3,}/,\n end: /$/\n },\n {\n begin: /^-{3}/,\n end: /$/\n },\n {\n begin: /^\\*{3} /,\n end: /$/\n },\n {\n begin: /^\\+{3}/,\n end: /$/\n },\n {\n begin: /^\\*{15}$/\n },\n {\n begin: /^diff --git/,\n end: /$/\n }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nmodule.exports = diff;\n"],"names":["module","exports","hljs","name","aliases","contains","className","relevance","variants","begin","end"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/diff.js?v=819d809d356c1ee4eb20","mappings":"4GAoFAA,EAAOC,QA3EP,SAAcC,GACZ,MAAO,CACLC,KAAM,OACNC,QAAS,CAAC,SACVC,SAAU,CACR,CACEC,UAAW,OACXC,UAAW,GACXC,SAAU,CACR,CACEC,MAAO,gCAET,CACEA,MAAO,+BAET,CACEA,MAAO,0BAIb,CACEH,UAAW,UACXE,SAAU,CACR,CACEC,MAAO,UACPC,IAAK,KAEP,CACED,MAAO,SACPC,IAAK,KAEP,CACED,MAAO,QACPC,IAAK,KAEP,CACED,MAAO,QACPC,IAAK,KAEP,CACED,MAAO,UACPC,IAAK,KAEP,CACED,MAAO,SACPC,IAAK,KAEP,CACED,MAAO,YAET,CACEA,MAAO,cACPC,IAAK,OAIX,CACEJ,UAAW,WACXG,MAAO,MACPC,IAAK,KAEP,CACEJ,UAAW,WACXG,MAAO,KACPC,IAAK,KAEP,CACEJ,UAAW,WACXG,MAAO,KACPC,IAAK,MAIb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/diff.js"],"sourcesContent":["/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n return {\n name: 'Diff',\n aliases: ['patch'],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n variants: [\n {\n begin: /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/\n },\n {\n begin: /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/\n },\n {\n begin: /^--- +\\d+,\\d+ +----$/\n }\n ]\n },\n {\n className: 'comment',\n variants: [\n {\n begin: /Index: /,\n end: /$/\n },\n {\n begin: /^index/,\n end: /$/\n },\n {\n begin: /={3,}/,\n end: /$/\n },\n {\n begin: /^-{3}/,\n end: /$/\n },\n {\n begin: /^\\*{3} /,\n end: /$/\n },\n {\n begin: /^\\+{3}/,\n end: /$/\n },\n {\n begin: /^\\*{15}$/\n },\n {\n begin: /^diff --git/,\n end: /$/\n }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nmodule.exports = diff;\n"],"names":["module","exports","hljs","name","aliases","contains","className","relevance","variants","begin","end"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/django.js.map b/js/highlight/django.js.map
index bec4c4efc33..692c70f7d9b 100644
--- a/js/highlight/django.js.map
+++ b/js/highlight/django.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/django.js?v=89830db6a41e301cce77","mappings":"8GA4EAA,EAAOC,QAjEP,SAAgBC,GACd,MAAMC,EAAS,CACbC,MAAO,gBACPC,SAAU,CACRC,KACE,4kBASJC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,mBAIT,MAAO,CACLH,KAAM,SACNI,QAAS,CAAC,SACVC,kBAAkB,EAClBC,YAAa,MACbL,SAAU,CACRL,EAAKW,QAAQ,sBAAuB,0BACpCX,EAAKW,QAAQ,MAAO,OACpB,CACEC,UAAW,eACXV,MAAO,MACPW,IAAK,MACLR,SAAU,CAAC,CACTO,UAAW,OACXV,MAAO,MACPC,SAAU,CACRC,KACI,imBAUNU,OAAQ,CACNC,gBAAgB,EAChBZ,SAAU,WACVE,SAAU,CAACJ,GACXe,UAAW,MAIjB,CACEJ,UAAW,oBACXV,MAAO,OACPW,IAAK,OACLR,SAAU,CAACJ","sources":["webpack:///text/node_modules/highlight.js/lib/languages/django.js"],"sourcesContent":["/*\nLanguage: Django\nDescription: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.\nRequires: xml.js\nAuthor: Ivan Sagalaev \nContributors: Ilya Baryshev \nWebsite: https://www.djangoproject.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction django(hljs) {\n const FILTER = {\n begin: /\\|[A-Za-z]+:?/,\n keywords: {\n name:\n 'truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ' +\n 'filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands ' +\n 'title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ' +\n 'timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ' +\n 'dictsortreversed default_if_none pluralize lower join center default ' +\n 'truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ' +\n 'escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ' +\n 'localtime utc timezone'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE\n ]\n };\n\n return {\n name: 'Django',\n aliases: ['jinja'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT(/\\{%\\s*comment\\s*%\\}/, /\\{%\\s*endcomment\\s*%\\}/),\n hljs.COMMENT(/\\{#/, /#\\}/),\n {\n className: 'template-tag',\n begin: /\\{%/,\n end: /%\\}/,\n contains: [{\n className: 'name',\n begin: /\\w+/,\n keywords: {\n name:\n 'comment endcomment load templatetag ifchanged endifchanged if endif firstof for ' +\n 'endfor ifnotequal endifnotequal widthratio extends include spaceless ' +\n 'endspaceless regroup ifequal endifequal ssi now with cycle url filter ' +\n 'endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ' +\n 'endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ' +\n 'plural get_current_language language get_available_languages ' +\n 'get_current_language_bidi get_language_info get_language_info_list localize ' +\n 'endlocalize localtime endlocaltime timezone endtimezone get_current_timezone ' +\n 'verbatim'\n },\n starts: {\n endsWithParent: true,\n keywords: 'in by as',\n contains: [FILTER],\n relevance: 0\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [FILTER]\n }\n ]\n };\n}\n\nmodule.exports = django;\n"],"names":["module","exports","hljs","FILTER","begin","keywords","name","contains","QUOTE_STRING_MODE","APOS_STRING_MODE","aliases","case_insensitive","subLanguage","COMMENT","className","end","starts","endsWithParent","relevance"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/django.js?v=89830db6a41e301cce77","mappings":"8GA4EAA,EAAOC,QAjEP,SAAgBC,GACd,MAAMC,EAAS,CACbC,MAAO,gBACPC,SAAU,CACRC,KACE,4kBASJC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,mBAIT,MAAO,CACLH,KAAM,SACNI,QAAS,CAAC,SACVC,kBAAkB,EAClBC,YAAa,MACbL,SAAU,CACRL,EAAKW,QAAQ,sBAAuB,0BACpCX,EAAKW,QAAQ,MAAO,OACpB,CACEC,UAAW,eACXV,MAAO,MACPW,IAAK,MACLR,SAAU,CAAC,CACTO,UAAW,OACXV,MAAO,MACPC,SAAU,CACRC,KACI,imBAUNU,OAAQ,CACNC,gBAAgB,EAChBZ,SAAU,WACVE,SAAU,CAACJ,GACXe,UAAW,MAIjB,CACEJ,UAAW,oBACXV,MAAO,OACPW,IAAK,OACLR,SAAU,CAACJ,KAInB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/django.js"],"sourcesContent":["/*\nLanguage: Django\nDescription: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.\nRequires: xml.js\nAuthor: Ivan Sagalaev \nContributors: Ilya Baryshev \nWebsite: https://www.djangoproject.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction django(hljs) {\n const FILTER = {\n begin: /\\|[A-Za-z]+:?/,\n keywords: {\n name:\n 'truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ' +\n 'filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands ' +\n 'title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ' +\n 'timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ' +\n 'dictsortreversed default_if_none pluralize lower join center default ' +\n 'truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ' +\n 'escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ' +\n 'localtime utc timezone'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE\n ]\n };\n\n return {\n name: 'Django',\n aliases: ['jinja'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT(/\\{%\\s*comment\\s*%\\}/, /\\{%\\s*endcomment\\s*%\\}/),\n hljs.COMMENT(/\\{#/, /#\\}/),\n {\n className: 'template-tag',\n begin: /\\{%/,\n end: /%\\}/,\n contains: [{\n className: 'name',\n begin: /\\w+/,\n keywords: {\n name:\n 'comment endcomment load templatetag ifchanged endifchanged if endif firstof for ' +\n 'endfor ifnotequal endifnotequal widthratio extends include spaceless ' +\n 'endspaceless regroup ifequal endifequal ssi now with cycle url filter ' +\n 'endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ' +\n 'endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ' +\n 'plural get_current_language language get_available_languages ' +\n 'get_current_language_bidi get_language_info get_language_info_list localize ' +\n 'endlocalize localtime endlocaltime timezone endtimezone get_current_timezone ' +\n 'verbatim'\n },\n starts: {\n endsWithParent: true,\n keywords: 'in by as',\n contains: [FILTER],\n relevance: 0\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [FILTER]\n }\n ]\n };\n}\n\nmodule.exports = django;\n"],"names":["module","exports","hljs","FILTER","begin","keywords","name","contains","QUOTE_STRING_MODE","APOS_STRING_MODE","aliases","case_insensitive","subLanguage","COMMENT","className","end","starts","endsWithParent","relevance"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dns.js.map b/js/highlight/dns.js.map
index fb0a50987aa..b7704d47950 100644
--- a/js/highlight/dns.js.map
+++ b/js/highlight/dns.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dns.js?v=af2765f9ae46628c9565","mappings":"2GA6CAA,EAAOC,QArCP,SAAaC,GACX,MAAO,CACLC,KAAM,WACNC,QAAS,CACP,OACA,QAEFC,SAAU,CACRC,QACE,2LAGJC,SAAU,CACRL,EAAKM,QAAQ,IAAK,IAAK,CACrBC,UAAW,IAEb,CACEC,UAAW,OACXC,MAAO,sCAGT,CACED,UAAW,SACXC,MAAO,+mCAGT,CACED,UAAW,SACXC,MAAO,+FAETT,EAAKU,QAAQV,EAAKW,YAAa,CAC7BF,MAAO","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dns.js"],"sourcesContent":["/*\nLanguage: DNS Zone\nAuthor: Tim Schumacher \nCategory: config\nWebsite: https://en.wikipedia.org/wiki/Zone_file\n*/\n\n/** @type LanguageFn */\nfunction dns(hljs) {\n return {\n name: 'DNS Zone',\n aliases: [\n 'bind',\n 'zone'\n ],\n keywords: {\n keyword:\n 'IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ' +\n 'LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT'\n },\n contains: [\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n {\n className: 'meta',\n begin: /^\\$(TTL|GENERATE|INCLUDE|ORIGIN)\\b/\n },\n // IPv6\n {\n className: 'number',\n begin: '((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))\\\\b'\n },\n // IPv4\n {\n className: 'number',\n begin: '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\b'\n },\n hljs.inherit(hljs.NUMBER_MODE, {\n begin: /\\b\\d+[dhwm]?/\n })\n ]\n };\n}\n\nmodule.exports = dns;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","contains","COMMENT","relevance","className","begin","inherit","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dns.js?v=af2765f9ae46628c9565","mappings":"2GA6CAA,EAAOC,QArCP,SAAaC,GACX,MAAO,CACLC,KAAM,WACNC,QAAS,CACP,OACA,QAEFC,SAAU,CACRC,QACE,2LAGJC,SAAU,CACRL,EAAKM,QAAQ,IAAK,IAAK,CACrBC,UAAW,IAEb,CACEC,UAAW,OACXC,MAAO,sCAGT,CACED,UAAW,SACXC,MAAO,+mCAGT,CACED,UAAW,SACXC,MAAO,+FAETT,EAAKU,QAAQV,EAAKW,YAAa,CAC7BF,MAAO,kBAIf,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dns.js"],"sourcesContent":["/*\nLanguage: DNS Zone\nAuthor: Tim Schumacher \nCategory: config\nWebsite: https://en.wikipedia.org/wiki/Zone_file\n*/\n\n/** @type LanguageFn */\nfunction dns(hljs) {\n return {\n name: 'DNS Zone',\n aliases: [\n 'bind',\n 'zone'\n ],\n keywords: {\n keyword:\n 'IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ' +\n 'LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT'\n },\n contains: [\n hljs.COMMENT(';', '$', {\n relevance: 0\n }),\n {\n className: 'meta',\n begin: /^\\$(TTL|GENERATE|INCLUDE|ORIGIN)\\b/\n },\n // IPv6\n {\n className: 'number',\n begin: '((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))\\\\b'\n },\n // IPv4\n {\n className: 'number',\n begin: '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\b'\n },\n hljs.inherit(hljs.NUMBER_MODE, {\n begin: /\\b\\d+[dhwm]?/\n })\n ]\n };\n}\n\nmodule.exports = dns;\n"],"names":["module","exports","hljs","name","aliases","keywords","keyword","contains","COMMENT","relevance","className","begin","inherit","NUMBER_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dockerfile.js.map b/js/highlight/dockerfile.js.map
index c355170d86f..b2a0da80f73 100644
--- a/js/highlight/dockerfile.js.map
+++ b/js/highlight/dockerfile.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dockerfile.js?v=62cdcf0cb24fd6b61150","mappings":"kHAiCAA,EAAOC,QAvBP,SAAoBC,GAClB,MAAO,CACLC,KAAM,aACNC,QAAS,CAAC,UACVC,kBAAkB,EAClBC,SAAU,yDACVC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,iBACLP,EAAKQ,kBACLR,EAAKS,YACL,CACEC,cAAe,qEACfC,OAAQ,CACNC,IAAK,SACLC,YAAa,UAInBC,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dockerfile.js"],"sourcesContent":["/*\nLanguage: Dockerfile\nRequires: bash.js\nAuthor: Alexis Hénaut \nDescription: language definition for Dockerfile files\nWebsite: https://docs.docker.com/engine/reference/builder/\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dockerfile(hljs) {\n return {\n name: 'Dockerfile',\n aliases: ['docker'],\n case_insensitive: true,\n keywords: 'from maintainer expose env arg user onbuild stopsignal',\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n {\n beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell',\n starts: {\n end: /[^\\\\]$/,\n subLanguage: 'bash'\n }\n }\n ],\n illegal: ''\n };\n}\n\nmodule.exports = dockerfile;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","keywords","contains","HASH_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","NUMBER_MODE","beginKeywords","starts","end","subLanguage","illegal"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dockerfile.js?v=62cdcf0cb24fd6b61150","mappings":"kHAiCAA,EAAOC,QAvBP,SAAoBC,GAClB,MAAO,CACLC,KAAM,aACNC,QAAS,CAAC,UACVC,kBAAkB,EAClBC,SAAU,yDACVC,SAAU,CACRL,EAAKM,kBACLN,EAAKO,iBACLP,EAAKQ,kBACLR,EAAKS,YACL,CACEC,cAAe,qEACfC,OAAQ,CACNC,IAAK,SACLC,YAAa,UAInBC,QAAS,KAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dockerfile.js"],"sourcesContent":["/*\nLanguage: Dockerfile\nRequires: bash.js\nAuthor: Alexis Hénaut \nDescription: language definition for Dockerfile files\nWebsite: https://docs.docker.com/engine/reference/builder/\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dockerfile(hljs) {\n return {\n name: 'Dockerfile',\n aliases: ['docker'],\n case_insensitive: true,\n keywords: 'from maintainer expose env arg user onbuild stopsignal',\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n {\n beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell',\n starts: {\n end: /[^\\\\]$/,\n subLanguage: 'bash'\n }\n }\n ],\n illegal: ''\n };\n}\n\nmodule.exports = dockerfile;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","keywords","contains","HASH_COMMENT_MODE","APOS_STRING_MODE","QUOTE_STRING_MODE","NUMBER_MODE","beginKeywords","starts","end","subLanguage","illegal"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dos.js.map b/js/highlight/dos.js.map
index 171b3b26f0e..57847044168 100644
--- a/js/highlight/dos.js.map
+++ b/js/highlight/dos.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dos.js?v=2ed3283e268aac974fa4","mappings":"2GAqEAA,EAAOC,QA7DP,SAAaC,GACX,MAAMC,EAAUD,EAAKC,QACnB,cAAe,IACf,CACEC,UAAW,KAQf,MAAO,CACLC,KAAM,mBACNC,QAAS,CACP,MACA,OAEFC,kBAAkB,EAClBC,QAAS,OACTC,SAAU,CACRC,QACE,wFAEFC,SACE,ofAUJC,SAAU,CACR,CACEC,UAAW,WACXC,MAAO,4BAET,CACED,UAAW,WACXC,MAjCG,mDAkCHC,IAAK,WACLH,SAAU,CACRV,EAAKc,QAAQd,EAAKe,WAAY,CAC5BH,MAAO,sDAETX,IAGJ,CACEU,UAAW,SACXC,MAAO,UACPV,UAAW,GAEbD","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dos.js"],"sourcesContent":["/*\nLanguage: Batch file (DOS)\nAuthor: Alexander Makarov \nContributors: Anton Kochkov \nWebsite: https://en.wikipedia.org/wiki/Batch_file\n*/\n\n/** @type LanguageFn */\nfunction dos(hljs) {\n const COMMENT = hljs.COMMENT(\n /^\\s*@?rem\\b/, /$/,\n {\n relevance: 10\n }\n );\n const LABEL = {\n className: 'symbol',\n begin: '^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)',\n relevance: 0\n };\n return {\n name: 'Batch file (DOS)',\n aliases: [\n 'bat',\n 'cmd'\n ],\n case_insensitive: true,\n illegal: /\\/\\*/,\n keywords: {\n keyword:\n 'if else goto for in do call exit not exist errorlevel defined ' +\n 'equ neq lss leq gtr geq',\n built_in:\n 'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ' +\n 'shift cd dir echo setlocal endlocal set pause copy ' +\n 'append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color ' +\n 'comp compact convert date dir diskcomp diskcopy doskey erase fs ' +\n 'find findstr format ftype graftabl help keyb label md mkdir mode more move path ' +\n 'pause print popd pushd promt rd recover rem rename replace restore rmdir shift ' +\n 'sort start subst time title tree type ver verify vol ' +\n // winutils\n 'ping net ipconfig taskkill xcopy ren del'\n },\n contains: [\n {\n className: 'variable',\n begin: /%%[^ ]|%[^ ]+?%|![^ ]+?!/\n },\n {\n className: 'function',\n begin: LABEL.begin,\n end: 'goto:eof',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*'\n }),\n COMMENT\n ]\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d+',\n relevance: 0\n },\n COMMENT\n ]\n };\n}\n\nmodule.exports = dos;\n"],"names":["module","exports","hljs","COMMENT","relevance","name","aliases","case_insensitive","illegal","keywords","keyword","built_in","contains","className","begin","end","inherit","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dos.js?v=2ed3283e268aac974fa4","mappings":"2GAqEAA,EAAOC,QA7DP,SAAaC,GACX,MAAMC,EAAUD,EAAKC,QACnB,cAAe,IACf,CACEC,UAAW,KAQf,MAAO,CACLC,KAAM,mBACNC,QAAS,CACP,MACA,OAEFC,kBAAkB,EAClBC,QAAS,OACTC,SAAU,CACRC,QACE,wFAEFC,SACE,ofAUJC,SAAU,CACR,CACEC,UAAW,WACXC,MAAO,4BAET,CACED,UAAW,WACXC,MAjCG,mDAkCHC,IAAK,WACLH,SAAU,CACRV,EAAKc,QAAQd,EAAKe,WAAY,CAC5BH,MAAO,sDAETX,IAGJ,CACEU,UAAW,SACXC,MAAO,UACPV,UAAW,GAEbD,GAGN,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dos.js"],"sourcesContent":["/*\nLanguage: Batch file (DOS)\nAuthor: Alexander Makarov \nContributors: Anton Kochkov \nWebsite: https://en.wikipedia.org/wiki/Batch_file\n*/\n\n/** @type LanguageFn */\nfunction dos(hljs) {\n const COMMENT = hljs.COMMENT(\n /^\\s*@?rem\\b/, /$/,\n {\n relevance: 10\n }\n );\n const LABEL = {\n className: 'symbol',\n begin: '^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)',\n relevance: 0\n };\n return {\n name: 'Batch file (DOS)',\n aliases: [\n 'bat',\n 'cmd'\n ],\n case_insensitive: true,\n illegal: /\\/\\*/,\n keywords: {\n keyword:\n 'if else goto for in do call exit not exist errorlevel defined ' +\n 'equ neq lss leq gtr geq',\n built_in:\n 'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ' +\n 'shift cd dir echo setlocal endlocal set pause copy ' +\n 'append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color ' +\n 'comp compact convert date dir diskcomp diskcopy doskey erase fs ' +\n 'find findstr format ftype graftabl help keyb label md mkdir mode more move path ' +\n 'pause print popd pushd promt rd recover rem rename replace restore rmdir shift ' +\n 'sort start subst time title tree type ver verify vol ' +\n // winutils\n 'ping net ipconfig taskkill xcopy ren del'\n },\n contains: [\n {\n className: 'variable',\n begin: /%%[^ ]|%[^ ]+?%|![^ ]+?!/\n },\n {\n className: 'function',\n begin: LABEL.begin,\n end: 'goto:eof',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*'\n }),\n COMMENT\n ]\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d+',\n relevance: 0\n },\n COMMENT\n ]\n };\n}\n\nmodule.exports = dos;\n"],"names":["module","exports","hljs","COMMENT","relevance","name","aliases","case_insensitive","illegal","keywords","keyword","built_in","contains","className","begin","end","inherit","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dsconfig.js.map b/js/highlight/dsconfig.js.map
index ebb0de98384..67a7adca86c 100644
--- a/js/highlight/dsconfig.js.map
+++ b/js/highlight/dsconfig.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dsconfig.js?v=124e85dc67da77f9845e","mappings":"gHAiEAA,EAAOC,QAzDP,SAAkBC,GAwBhB,MAAO,CACLC,SAAU,WACVC,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,YACPC,IAAK,KACLC,YAAY,EACZC,UAAW,IAEb,CACEJ,UAAW,WACXC,MAAO,qCACPC,IAAK,KACLC,YAAY,EACZE,QAAS,aACTD,UAAW,IAEb,CACEJ,UAAW,WACXC,MAAO,UACPC,IAAK,KACLC,YAAY,GA7CM,CACtBH,UAAW,SACXC,MAAO,IACPC,IAAK,KAEe,CACpBF,UAAW,SACXC,MAAO,IACPC,IAAK,KAEmB,CACxBF,UAAW,SACXC,MAAO,eACPC,IAAK,KACLE,UAAW,GAEc,CACzBJ,UAAW,SACXC,MAAO,cACPC,IAAK,SACLE,UAAW,GA+BTP,EAAKS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dsconfig.js"],"sourcesContent":["/*\n Language: dsconfig\n Description: dsconfig batch configuration language for LDAP directory servers\n Contributors: Jacob Childress \n Category: enterprise, config\n */\n\n /** @type LanguageFn */\nfunction dsconfig(hljs) {\n const QUOTED_PROPERTY = {\n className: 'string',\n begin: /\"/,\n end: /\"/\n };\n const APOS_PROPERTY = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const UNQUOTED_PROPERTY = {\n className: 'string',\n begin: /[\\w\\-?]+:\\w+/,\n end: /\\W/,\n relevance: 0\n };\n const VALUELESS_PROPERTY = {\n className: 'string',\n begin: /\\w+(\\-\\w+)*/,\n end: /(?=\\W)/,\n relevance: 0\n };\n\n return {\n keywords: 'dsconfig',\n contains: [\n {\n className: 'keyword',\n begin: '^dsconfig',\n end: /\\s/,\n excludeEnd: true,\n relevance: 10\n },\n {\n className: 'built_in',\n begin: /(list|create|get|set|delete)-(\\w+)/,\n end: /\\s/,\n excludeEnd: true,\n illegal: '!@#$%^&*()',\n relevance: 10\n },\n {\n className: 'built_in',\n begin: /--(\\w+)/,\n end: /\\s/,\n excludeEnd: true\n },\n QUOTED_PROPERTY,\n APOS_PROPERTY,\n UNQUOTED_PROPERTY,\n VALUELESS_PROPERTY,\n hljs.HASH_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = dsconfig;\n"],"names":["module","exports","hljs","keywords","contains","className","begin","end","excludeEnd","relevance","illegal","HASH_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dsconfig.js?v=124e85dc67da77f9845e","mappings":"gHAiEAA,EAAOC,QAzDP,SAAkBC,GAwBhB,MAAO,CACLC,SAAU,WACVC,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,YACPC,IAAK,KACLC,YAAY,EACZC,UAAW,IAEb,CACEJ,UAAW,WACXC,MAAO,qCACPC,IAAK,KACLC,YAAY,EACZE,QAAS,aACTD,UAAW,IAEb,CACEJ,UAAW,WACXC,MAAO,UACPC,IAAK,KACLC,YAAY,GA7CM,CACtBH,UAAW,SACXC,MAAO,IACPC,IAAK,KAEe,CACpBF,UAAW,SACXC,MAAO,IACPC,IAAK,KAEmB,CACxBF,UAAW,SACXC,MAAO,eACPC,IAAK,KACLE,UAAW,GAEc,CACzBJ,UAAW,SACXC,MAAO,cACPC,IAAK,SACLE,UAAW,GA+BTP,EAAKS,mBAGX,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dsconfig.js"],"sourcesContent":["/*\n Language: dsconfig\n Description: dsconfig batch configuration language for LDAP directory servers\n Contributors: Jacob Childress \n Category: enterprise, config\n */\n\n /** @type LanguageFn */\nfunction dsconfig(hljs) {\n const QUOTED_PROPERTY = {\n className: 'string',\n begin: /\"/,\n end: /\"/\n };\n const APOS_PROPERTY = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const UNQUOTED_PROPERTY = {\n className: 'string',\n begin: /[\\w\\-?]+:\\w+/,\n end: /\\W/,\n relevance: 0\n };\n const VALUELESS_PROPERTY = {\n className: 'string',\n begin: /\\w+(\\-\\w+)*/,\n end: /(?=\\W)/,\n relevance: 0\n };\n\n return {\n keywords: 'dsconfig',\n contains: [\n {\n className: 'keyword',\n begin: '^dsconfig',\n end: /\\s/,\n excludeEnd: true,\n relevance: 10\n },\n {\n className: 'built_in',\n begin: /(list|create|get|set|delete)-(\\w+)/,\n end: /\\s/,\n excludeEnd: true,\n illegal: '!@#$%^&*()',\n relevance: 10\n },\n {\n className: 'built_in',\n begin: /--(\\w+)/,\n end: /\\s/,\n excludeEnd: true\n },\n QUOTED_PROPERTY,\n APOS_PROPERTY,\n UNQUOTED_PROPERTY,\n VALUELESS_PROPERTY,\n hljs.HASH_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = dsconfig;\n"],"names":["module","exports","hljs","keywords","contains","className","begin","end","excludeEnd","relevance","illegal","HASH_COMMENT_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dts.js.map b/js/highlight/dts.js.map
index e486e67df2c..6a862eeb5e2 100644
--- a/js/highlight/dts.js.map
+++ b/js/highlight/dts.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dts.js?v=af197a3bcd13bc490400","mappings":"2GAwJAA,EAAOC,QA/IP,SAAaC,GACX,MAAMC,EAAU,CACdC,UAAW,SACXC,SAAU,CACRH,EAAKI,QAAQJ,EAAKK,kBAAmB,CACnCC,MAAO,kBAET,CACEA,MAAO,aACPC,IAAK,IACLC,SAAU,CAACR,EAAKS,mBAElB,CACEH,MAAO,UACPC,IAAK,IACLG,QAAS,OAKTC,EAAU,CACdT,UAAW,SACXC,SAAU,CACR,CACEG,MAAO,kDAET,CACEA,MAAON,EAAKY,cAGhBC,UAAW,GAGPC,EAAe,CACnBZ,UAAW,OACXI,MAAO,IACPC,IAAK,IACLQ,SAAU,CACR,eAAgB,gDAElBP,SAAU,CACR,CACEF,MAAO,OACPO,UAAW,GAEb,CACEG,cAAe,UACfT,IAAK,IACLQ,SAAU,CACR,eAAgB,WAElBP,SAAU,CACRR,EAAKI,QAAQH,EAAS,CACpBC,UAAW,gBAEb,CACEA,UAAW,cACXI,MAAO,IACPC,IAAK,IACLG,QAAS,SAIfT,EACAD,EAAKiB,oBACLjB,EAAKkB,uBAIHC,EAAgB,CACpBjB,UAAW,WACXI,MAAO,gBAGHc,EAAc,CAClBlB,UAAW,eACXI,MAAO,qBAGHe,EAAY,CAChBnB,UAAW,SACXI,MAAO,gCAGHgB,EAAoB,CACxBpB,UAAW,SACXI,MAAO,IACPC,IAAK,IACLC,SAAU,CACRG,EACAQ,IAIEI,EAAW,CACfrB,UAAW,QACXI,MAAO,6BACPC,IAAK,QACLiB,aAAa,EACbC,YAAY,GAqBd,MAAO,CACLC,KAAM,cACNX,SAAU,GACVP,SAAU,CArBU,CACpBN,UAAW,QACXI,MAAO,WACPC,IAAK,MACLM,UAAW,GACXL,SAAU,CACRW,EACAC,EACAC,EACAE,EACAD,EACAtB,EAAKiB,oBACLjB,EAAKkB,qBACLP,EACAV,IASAkB,EACAC,EACAC,EACAE,EACAD,EACAtB,EAAKiB,oBACLjB,EAAKkB,qBACLP,EACAV,EACAa,EACA,CACER,MAAON,EAAK2B,SAAW,KACvBZ,SAAU","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dts.js"],"sourcesContent":["/*\nLanguage: Device Tree\nDescription: *.dts files used in the Linux kernel\nAuthor: Martin Braun , Moritz Fischer \nWebsite: https://elinux.org/Device_Tree_Reference\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dts(hljs) {\n const STRINGS = {\n className: 'string',\n variants: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n begin: '((u8?|U)|L)?\"'\n }),\n {\n begin: '(u8?|U)?R\"',\n end: '\"',\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: '\\'\\\\\\\\?.',\n end: '\\'',\n illegal: '.'\n }\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'if else elif endif define undef ifdef ifndef'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n end: '$',\n keywords: {\n 'meta-keyword': 'include'\n },\n contains: [\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: '<',\n end: '>',\n illegal: '\\\\n'\n }\n ]\n },\n STRINGS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const DTS_REFERENCE = {\n className: 'variable',\n begin: /&[a-z\\d_]*\\b/\n };\n\n const DTS_KEYWORD = {\n className: 'meta-keyword',\n begin: '/[a-z][a-z\\\\d-]*/'\n };\n\n const DTS_LABEL = {\n className: 'symbol',\n begin: '^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:'\n };\n\n const DTS_CELL_PROPERTY = {\n className: 'params',\n begin: '<',\n end: '>',\n contains: [\n NUMBERS,\n DTS_REFERENCE\n ]\n };\n\n const DTS_NODE = {\n className: 'class',\n begin: /[a-zA-Z_][a-zA-Z\\d_@]*\\s\\{/,\n end: /[{;=]/,\n returnBegin: true,\n excludeEnd: true\n };\n\n const DTS_ROOT_NODE = {\n className: 'class',\n begin: '/\\\\s*\\\\{',\n end: /\\};/,\n relevance: 10,\n contains: [\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ]\n };\n\n return {\n name: 'Device Tree',\n keywords: \"\",\n contains: [\n DTS_ROOT_NODE,\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS,\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: \"\"\n }\n ]\n };\n}\n\nmodule.exports = dts;\n"],"names":["module","exports","hljs","STRINGS","className","variants","inherit","QUOTE_STRING_MODE","begin","end","contains","BACKSLASH_ESCAPE","illegal","NUMBERS","C_NUMBER_RE","relevance","PREPROCESSOR","keywords","beginKeywords","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","DTS_REFERENCE","DTS_KEYWORD","DTS_LABEL","DTS_CELL_PROPERTY","DTS_NODE","returnBegin","excludeEnd","name","IDENT_RE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dts.js?v=af197a3bcd13bc490400","mappings":"2GAwJAA,EAAOC,QA/IP,SAAaC,GACX,MAAMC,EAAU,CACdC,UAAW,SACXC,SAAU,CACRH,EAAKI,QAAQJ,EAAKK,kBAAmB,CACnCC,MAAO,kBAET,CACEA,MAAO,aACPC,IAAK,IACLC,SAAU,CAACR,EAAKS,mBAElB,CACEH,MAAO,UACPC,IAAK,IACLG,QAAS,OAKTC,EAAU,CACdT,UAAW,SACXC,SAAU,CACR,CACEG,MAAO,kDAET,CACEA,MAAON,EAAKY,cAGhBC,UAAW,GAGPC,EAAe,CACnBZ,UAAW,OACXI,MAAO,IACPC,IAAK,IACLQ,SAAU,CACR,eAAgB,gDAElBP,SAAU,CACR,CACEF,MAAO,OACPO,UAAW,GAEb,CACEG,cAAe,UACfT,IAAK,IACLQ,SAAU,CACR,eAAgB,WAElBP,SAAU,CACRR,EAAKI,QAAQH,EAAS,CACpBC,UAAW,gBAEb,CACEA,UAAW,cACXI,MAAO,IACPC,IAAK,IACLG,QAAS,SAIfT,EACAD,EAAKiB,oBACLjB,EAAKkB,uBAIHC,EAAgB,CACpBjB,UAAW,WACXI,MAAO,gBAGHc,EAAc,CAClBlB,UAAW,eACXI,MAAO,qBAGHe,EAAY,CAChBnB,UAAW,SACXI,MAAO,gCAGHgB,EAAoB,CACxBpB,UAAW,SACXI,MAAO,IACPC,IAAK,IACLC,SAAU,CACRG,EACAQ,IAIEI,EAAW,CACfrB,UAAW,QACXI,MAAO,6BACPC,IAAK,QACLiB,aAAa,EACbC,YAAY,GAqBd,MAAO,CACLC,KAAM,cACNX,SAAU,GACVP,SAAU,CArBU,CACpBN,UAAW,QACXI,MAAO,WACPC,IAAK,MACLM,UAAW,GACXL,SAAU,CACRW,EACAC,EACAC,EACAE,EACAD,EACAtB,EAAKiB,oBACLjB,EAAKkB,qBACLP,EACAV,IASAkB,EACAC,EACAC,EACAE,EACAD,EACAtB,EAAKiB,oBACLjB,EAAKkB,qBACLP,EACAV,EACAa,EACA,CACER,MAAON,EAAK2B,SAAW,KACvBZ,SAAU,KAIlB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dts.js"],"sourcesContent":["/*\nLanguage: Device Tree\nDescription: *.dts files used in the Linux kernel\nAuthor: Martin Braun , Moritz Fischer \nWebsite: https://elinux.org/Device_Tree_Reference\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dts(hljs) {\n const STRINGS = {\n className: 'string',\n variants: [\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n begin: '((u8?|U)|L)?\"'\n }),\n {\n begin: '(u8?|U)?R\"',\n end: '\"',\n contains: [hljs.BACKSLASH_ESCAPE]\n },\n {\n begin: '\\'\\\\\\\\?.',\n end: '\\'',\n illegal: '.'\n }\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n {\n begin: '\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)'\n },\n {\n begin: hljs.C_NUMBER_RE\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: {\n 'meta-keyword': 'if else elif endif define undef ifdef ifndef'\n },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n {\n beginKeywords: 'include',\n end: '$',\n keywords: {\n 'meta-keyword': 'include'\n },\n contains: [\n hljs.inherit(STRINGS, {\n className: 'meta-string'\n }),\n {\n className: 'meta-string',\n begin: '<',\n end: '>',\n illegal: '\\\\n'\n }\n ]\n },\n STRINGS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const DTS_REFERENCE = {\n className: 'variable',\n begin: /&[a-z\\d_]*\\b/\n };\n\n const DTS_KEYWORD = {\n className: 'meta-keyword',\n begin: '/[a-z][a-z\\\\d-]*/'\n };\n\n const DTS_LABEL = {\n className: 'symbol',\n begin: '^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:'\n };\n\n const DTS_CELL_PROPERTY = {\n className: 'params',\n begin: '<',\n end: '>',\n contains: [\n NUMBERS,\n DTS_REFERENCE\n ]\n };\n\n const DTS_NODE = {\n className: 'class',\n begin: /[a-zA-Z_][a-zA-Z\\d_@]*\\s\\{/,\n end: /[{;=]/,\n returnBegin: true,\n excludeEnd: true\n };\n\n const DTS_ROOT_NODE = {\n className: 'class',\n begin: '/\\\\s*\\\\{',\n end: /\\};/,\n relevance: 10,\n contains: [\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ]\n };\n\n return {\n name: 'Device Tree',\n keywords: \"\",\n contains: [\n DTS_ROOT_NODE,\n DTS_REFERENCE,\n DTS_KEYWORD,\n DTS_LABEL,\n DTS_NODE,\n DTS_CELL_PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS,\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: \"\"\n }\n ]\n };\n}\n\nmodule.exports = dts;\n"],"names":["module","exports","hljs","STRINGS","className","variants","inherit","QUOTE_STRING_MODE","begin","end","contains","BACKSLASH_ESCAPE","illegal","NUMBERS","C_NUMBER_RE","relevance","PREPROCESSOR","keywords","beginKeywords","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","DTS_REFERENCE","DTS_KEYWORD","DTS_LABEL","DTS_CELL_PROPERTY","DTS_NODE","returnBegin","excludeEnd","name","IDENT_RE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/dust.js.map b/js/highlight/dust.js.map
index 458aa424d0c..2a3064d3133 100644
--- a/js/highlight/dust.js.map
+++ b/js/highlight/dust.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/dust.js?v=5f35802987033434cb45","mappings":"4GA4CAA,EAAOC,QAlCP,SAAcC,GAEZ,MAAO,CACLC,KAAM,OACNC,QAAS,CAAC,OACVC,kBAAkB,EAClBC,YAAa,MACbC,SAAU,CACR,CACEC,UAAW,eACXC,MAAO,UACPC,IAAK,KACLC,QAAS,IACTJ,SAAU,CAAC,CACTC,UAAW,OACXC,MAAO,eACPG,OAAQ,CACNC,gBAAgB,EAChBC,UAAW,EACXP,SAAU,CAACL,EAAKa,uBAItB,CACEP,UAAW,oBACXC,MAAO,KACPC,IAAK,KACLC,QAAS,IACTK,SA3BsB","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dust.js"],"sourcesContent":["/*\nLanguage: Dust\nRequires: xml.js\nAuthor: Michael Allen \nDescription: Matcher for dust.js templates.\nWebsite: https://www.dustjs.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction dust(hljs) {\n const EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep';\n return {\n name: 'Dust',\n aliases: ['dst'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n {\n className: 'template-tag',\n begin: /\\{[#\\/]/,\n end: /\\}/,\n illegal: /;/,\n contains: [{\n className: 'name',\n begin: /[a-zA-Z\\.-]+/,\n starts: {\n endsWithParent: true,\n relevance: 0,\n contains: [hljs.QUOTE_STRING_MODE]\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{/,\n end: /\\}/,\n illegal: /;/,\n keywords: EXPRESSION_KEYWORDS\n }\n ]\n };\n}\n\nmodule.exports = dust;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","subLanguage","contains","className","begin","end","illegal","starts","endsWithParent","relevance","QUOTE_STRING_MODE","keywords"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/dust.js?v=5f35802987033434cb45","mappings":"4GA4CAA,EAAOC,QAlCP,SAAcC,GAEZ,MAAO,CACLC,KAAM,OACNC,QAAS,CAAC,OACVC,kBAAkB,EAClBC,YAAa,MACbC,SAAU,CACR,CACEC,UAAW,eACXC,MAAO,UACPC,IAAK,KACLC,QAAS,IACTJ,SAAU,CAAC,CACTC,UAAW,OACXC,MAAO,eACPG,OAAQ,CACNC,gBAAgB,EAChBC,UAAW,EACXP,SAAU,CAACL,EAAKa,uBAItB,CACEP,UAAW,oBACXC,MAAO,KACPC,IAAK,KACLC,QAAS,IACTK,SA3BsB,mDA+B9B,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/dust.js"],"sourcesContent":["/*\nLanguage: Dust\nRequires: xml.js\nAuthor: Michael Allen \nDescription: Matcher for dust.js templates.\nWebsite: https://www.dustjs.com\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction dust(hljs) {\n const EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep';\n return {\n name: 'Dust',\n aliases: ['dst'],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n {\n className: 'template-tag',\n begin: /\\{[#\\/]/,\n end: /\\}/,\n illegal: /;/,\n contains: [{\n className: 'name',\n begin: /[a-zA-Z\\.-]+/,\n starts: {\n endsWithParent: true,\n relevance: 0,\n contains: [hljs.QUOTE_STRING_MODE]\n }\n }]\n },\n {\n className: 'template-variable',\n begin: /\\{/,\n end: /\\}/,\n illegal: /;/,\n keywords: EXPRESSION_KEYWORDS\n }\n ]\n };\n}\n\nmodule.exports = dust;\n"],"names":["module","exports","hljs","name","aliases","case_insensitive","subLanguage","contains","className","begin","end","illegal","starts","endsWithParent","relevance","QUOTE_STRING_MODE","keywords"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/ebnf.js.map b/js/highlight/ebnf.js.map
index 814a2698819..54b11407bc4 100644
--- a/js/highlight/ebnf.js.map
+++ b/js/highlight/ebnf.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/ebnf.js?v=f8826c4c127555845dfe","mappings":"4GAoDAA,EAAOC,QA7CP,SAAcC,GACZ,MAAMC,EAAcD,EAAKE,QAAQ,OAAQ,QAiCzC,MAAO,CACLC,KAAM,4BACNC,QAAS,KACTC,SAAU,CACRJ,EAnCoB,CACtBK,UAAW,YACXC,MAAO,qCAQY,CACnBA,MAAO,IACPC,IAAK,OACLH,SAAU,CACRJ,EATwB,CAC1BK,UAAW,OACXC,MAAO,UASL,CAEED,UAAW,SACXG,SAAU,CACRT,EAAKU,iBACLV,EAAKW,kBACL,CACEJ,MAAO,IACPC,IAAK","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ebnf.js"],"sourcesContent":["/*\nLanguage: Extended Backus-Naur Form\nAuthor: Alex McKibben \nWebsite: https://en.wikipedia.org/wiki/Extended_Backus–Naur_form\n*/\n\n/** @type LanguageFn */\nfunction ebnf(hljs) {\n const commentMode = hljs.COMMENT(/\\(\\*/, /\\*\\)/);\n\n const nonTerminalMode = {\n className: \"attribute\",\n begin: /^[ ]*[a-zA-Z]+([\\s_-]+[a-zA-Z]+)*/\n };\n\n const specialSequenceMode = {\n className: \"meta\",\n begin: /\\?.*\\?/\n };\n\n const ruleBodyMode = {\n begin: /=/,\n end: /[.;]/,\n contains: [\n commentMode,\n specialSequenceMode,\n {\n // terminals\n className: 'string',\n variants: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n begin: '`',\n end: '`'\n }\n ]\n }\n ]\n };\n\n return {\n name: 'Extended Backus-Naur Form',\n illegal: /\\S/,\n contains: [\n commentMode,\n nonTerminalMode,\n ruleBodyMode\n ]\n };\n}\n\nmodule.exports = ebnf;\n"],"names":["module","exports","hljs","commentMode","COMMENT","name","illegal","contains","className","begin","end","variants","APOS_STRING_MODE","QUOTE_STRING_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/ebnf.js?v=f8826c4c127555845dfe","mappings":"4GAoDAA,EAAOC,QA7CP,SAAcC,GACZ,MAAMC,EAAcD,EAAKE,QAAQ,OAAQ,QAiCzC,MAAO,CACLC,KAAM,4BACNC,QAAS,KACTC,SAAU,CACRJ,EAnCoB,CACtBK,UAAW,YACXC,MAAO,qCAQY,CACnBA,MAAO,IACPC,IAAK,OACLH,SAAU,CACRJ,EATwB,CAC1BK,UAAW,OACXC,MAAO,UASL,CAEED,UAAW,SACXG,SAAU,CACRT,EAAKU,iBACLV,EAAKW,kBACL,CACEJ,MAAO,IACPC,IAAK,UAgBjB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/ebnf.js"],"sourcesContent":["/*\nLanguage: Extended Backus-Naur Form\nAuthor: Alex McKibben \nWebsite: https://en.wikipedia.org/wiki/Extended_Backus–Naur_form\n*/\n\n/** @type LanguageFn */\nfunction ebnf(hljs) {\n const commentMode = hljs.COMMENT(/\\(\\*/, /\\*\\)/);\n\n const nonTerminalMode = {\n className: \"attribute\",\n begin: /^[ ]*[a-zA-Z]+([\\s_-]+[a-zA-Z]+)*/\n };\n\n const specialSequenceMode = {\n className: \"meta\",\n begin: /\\?.*\\?/\n };\n\n const ruleBodyMode = {\n begin: /=/,\n end: /[.;]/,\n contains: [\n commentMode,\n specialSequenceMode,\n {\n // terminals\n className: 'string',\n variants: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n begin: '`',\n end: '`'\n }\n ]\n }\n ]\n };\n\n return {\n name: 'Extended Backus-Naur Form',\n illegal: /\\S/,\n contains: [\n commentMode,\n nonTerminalMode,\n ruleBodyMode\n ]\n };\n}\n\nmodule.exports = ebnf;\n"],"names":["module","exports","hljs","commentMode","COMMENT","name","illegal","contains","className","begin","end","variants","APOS_STRING_MODE","QUOTE_STRING_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/elixir.js.map b/js/highlight/elixir.js.map
index 29d71198851..d02943b6cdd 100644
--- a/js/highlight/elixir.js.map
+++ b/js/highlight/elixir.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/elixir.js?v=9b970f6e5c5da7e8be77","mappings":"8GAkQAA,EAAOC,QAzPP,SAAgBC,GACd,MAAMC,EAAkB,kCAElBC,EAAkB,CACtBC,SAAUF,EACVG,QAAS,uMAILC,EAAQ,CACZC,UAAW,QACXC,MAAO,MACPC,IAAK,KACLC,SAAUP,GAENQ,EAAS,CACbJ,UAAW,SACXC,MAAO,uGACPI,UAAW,GAGPC,EAAkB,CACtBN,UAAW,SACXC,MAAO,wBACPM,SAAU,CACR,CACEC,YAAY,EACZD,SAAU,CACR,CACEA,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,IACPC,IAAK,WASbS,EAAe,CACnBX,UAAW,SACXC,MAAO,wBACPM,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,IACPC,IAAK,OAKLU,EAAS,CACbZ,UAAW,SACXO,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,QACPC,IAAK,MACLK,SAAU,IAEZ,CACEN,MAAO,MACPC,IAAK,IACLK,SAAU,IAEZ,CACEN,MAAO,QACPC,IAAK,MACLK,SAAU,IAEZ,CACEN,MAAO,MACPC,IAAK,IACLK,SAAU,IAEZ,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,OAILW,EAAW,CACfb,UAAW,WACXc,cAAe,oBACfZ,IAAK,OACLK,SAAU,CACRb,EAAKqB,QAAQrB,EAAKsB,WAAY,CAC5Bf,MAAON,EACPa,YAAY,MAIZS,EAAQvB,EAAKqB,QAAQF,EAAU,CACnCb,UAAW,QACXc,cAAe,0CACfZ,IAAK,eAEDgB,EAA0B,CAC9BN,EACAD,EACAL,EACAZ,EAAKyB,kBACLF,EACAJ,EACA,CACEZ,MAAO,MAET,CACED,UAAW,SACXC,MAAO,cACPM,SAAU,CACRK,EACA,CACEX,MA3LiB,qFA8LrBI,UAAW,GAEb,CACEL,UAAW,SACXC,MAAON,EAAkB,SACzBU,UAAW,GAEbD,EACA,CACEJ,UAAW,WACXC,MAAO,8BAET,CACEA,MAAO,MAET,CACEA,MAAO,IAAMP,EAAK0B,eAAiB,QACnCb,SAAU,CACRb,EAAKyB,kBACL,CAGElB,MAAO,sBACPI,UAAW,EACXE,SAAU,CAACH,IAEb,CACEJ,UAAW,SACXqB,QAAS,MACTd,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,IACPC,IAAK,WAEP,CACED,MAAO,QACPC,IAAK,gBAKbG,UAAW,IAKf,OAFAN,EAAMQ,SAAWW,EAEV,CACLI,KAAM,SACNnB,SAAUP,EACVW,SAAUW","sources":["webpack:///text/node_modules/highlight.js/lib/languages/elixir.js"],"sourcesContent":["/*\nLanguage: Elixir\nAuthor: Josh Adams \nDescription: language definition for Elixir source code files (.ex and .exs). Based on ruby language support.\nCategory: functional\nWebsite: https://elixir-lang.org\n*/\n\n/** @type LanguageFn */\nfunction elixir(hljs) {\n const ELIXIR_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*(!|\\\\?)?';\n const ELIXIR_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?';\n const ELIXIR_KEYWORDS = {\n $pattern: ELIXIR_IDENT_RE,\n keyword: 'and false then defined module in return redo retry end for true self when ' +\n 'next until do begin unless nil break not case cond alias while ensure or ' +\n 'include use alias fn quote require import with|0'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: ELIXIR_KEYWORDS\n };\n const NUMBER = {\n className: 'number',\n begin: '(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(\\\\.[0-9_]+([eE][-+]?[0-9]+)?)?)',\n relevance: 0\n };\n const SIGIL_DELIMITERS = '[/|([{<\"\\']';\n const LOWERCASE_SIGIL = {\n className: 'string',\n begin: '~[a-z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n endsParent: true,\n contains: [\n {\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: /,\n end: />/\n }\n ]\n }\n ]\n }\n ]\n };\n\n const UPCASE_SIGIL = {\n className: 'string',\n begin: '~[A-Z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: /,\n end: />/\n }\n ]\n };\n\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"\"\"/,\n end: /\"\"\"/\n },\n {\n begin: /'''/,\n end: /'''/\n },\n {\n begin: /~S\"\"\"/,\n end: /\"\"\"/,\n contains: [] // override default\n },\n {\n begin: /~S\"/,\n end: /\"/,\n contains: [] // override default\n },\n {\n begin: /~S'''/,\n end: /'''/,\n contains: [] // override default\n },\n {\n begin: /~S'/,\n end: /'/,\n contains: [] // override default\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n }\n ]\n };\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'def defp defmacro',\n end: /\\B\\b/, // the mode is ended by the title\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: ELIXIR_IDENT_RE,\n endsParent: true\n })\n ]\n };\n const CLASS = hljs.inherit(FUNCTION, {\n className: 'class',\n beginKeywords: 'defimpl defmodule defprotocol defrecord',\n end: /\\bdo\\b|$|;/\n });\n const ELIXIR_DEFAULT_CONTAINS = [\n STRING,\n UPCASE_SIGIL,\n LOWERCASE_SIGIL,\n hljs.HASH_COMMENT_MODE,\n CLASS,\n FUNCTION,\n {\n begin: '::'\n },\n {\n className: 'symbol',\n begin: ':(?![\\\\s:])',\n contains: [\n STRING,\n {\n begin: ELIXIR_METHOD_RE\n }\n ],\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ELIXIR_IDENT_RE + ':(?!:)',\n relevance: 0\n },\n NUMBER,\n {\n className: 'variable',\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))'\n },\n {\n begin: '->'\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + ')\\\\s*',\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n // to prevent false regex triggers for the division function:\n // /:\n begin: /\\/: (?=\\d+\\s*[,\\]])/,\n relevance: 0,\n contains: [NUMBER]\n },\n {\n className: 'regexp',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n }\n ];\n SUBST.contains = ELIXIR_DEFAULT_CONTAINS;\n\n return {\n name: 'Elixir',\n keywords: ELIXIR_KEYWORDS,\n contains: ELIXIR_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = elixir;\n"],"names":["module","exports","hljs","ELIXIR_IDENT_RE","ELIXIR_KEYWORDS","$pattern","keyword","SUBST","className","begin","end","keywords","NUMBER","relevance","LOWERCASE_SIGIL","contains","endsParent","BACKSLASH_ESCAPE","variants","UPCASE_SIGIL","STRING","FUNCTION","beginKeywords","inherit","TITLE_MODE","CLASS","ELIXIR_DEFAULT_CONTAINS","HASH_COMMENT_MODE","RE_STARTERS_RE","illegal","name"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/elixir.js?v=9b970f6e5c5da7e8be77","mappings":"8GAkQAA,EAAOC,QAzPP,SAAgBC,GACd,MAAMC,EAAkB,kCAElBC,EAAkB,CACtBC,SAAUF,EACVG,QAAS,uMAILC,EAAQ,CACZC,UAAW,QACXC,MAAO,MACPC,IAAK,KACLC,SAAUP,GAENQ,EAAS,CACbJ,UAAW,SACXC,MAAO,uGACPI,UAAW,GAGPC,EAAkB,CACtBN,UAAW,SACXC,MAAO,wBACPM,SAAU,CACR,CACEC,YAAY,EACZD,SAAU,CACR,CACEA,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,IACPC,IAAK,WASbS,EAAe,CACnBX,UAAW,SACXC,MAAO,wBACPM,SAAU,CACR,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,IACPC,IAAK,OAKLU,EAAS,CACbZ,UAAW,SACXO,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,MACPC,IAAK,OAEP,CACED,MAAO,QACPC,IAAK,MACLK,SAAU,IAEZ,CACEN,MAAO,MACPC,IAAK,IACLK,SAAU,IAEZ,CACEN,MAAO,QACPC,IAAK,MACLK,SAAU,IAEZ,CACEN,MAAO,MACPC,IAAK,IACLK,SAAU,IAEZ,CACEN,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,OAILW,EAAW,CACfb,UAAW,WACXc,cAAe,oBACfZ,IAAK,OACLK,SAAU,CACRb,EAAKqB,QAAQrB,EAAKsB,WAAY,CAC5Bf,MAAON,EACPa,YAAY,MAIZS,EAAQvB,EAAKqB,QAAQF,EAAU,CACnCb,UAAW,QACXc,cAAe,0CACfZ,IAAK,eAEDgB,EAA0B,CAC9BN,EACAD,EACAL,EACAZ,EAAKyB,kBACLF,EACAJ,EACA,CACEZ,MAAO,MAET,CACED,UAAW,SACXC,MAAO,cACPM,SAAU,CACRK,EACA,CACEX,MA3LiB,qFA8LrBI,UAAW,GAEb,CACEL,UAAW,SACXC,MAAON,EAAkB,SACzBU,UAAW,GAEbD,EACA,CACEJ,UAAW,WACXC,MAAO,8BAET,CACEA,MAAO,MAET,CACEA,MAAO,IAAMP,EAAK0B,eAAiB,QACnCb,SAAU,CACRb,EAAKyB,kBACL,CAGElB,MAAO,sBACPI,UAAW,EACXE,SAAU,CAACH,IAEb,CACEJ,UAAW,SACXqB,QAAS,MACTd,SAAU,CACRb,EAAKe,iBACLV,GAEFW,SAAU,CACR,CACET,MAAO,IACPC,IAAK,WAEP,CACED,MAAO,QACPC,IAAK,gBAKbG,UAAW,IAKf,OAFAN,EAAMQ,SAAWW,EAEV,CACLI,KAAM,SACNnB,SAAUP,EACVW,SAAUW,EAEd,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/elixir.js"],"sourcesContent":["/*\nLanguage: Elixir\nAuthor: Josh Adams \nDescription: language definition for Elixir source code files (.ex and .exs). Based on ruby language support.\nCategory: functional\nWebsite: https://elixir-lang.org\n*/\n\n/** @type LanguageFn */\nfunction elixir(hljs) {\n const ELIXIR_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*(!|\\\\?)?';\n const ELIXIR_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?';\n const ELIXIR_KEYWORDS = {\n $pattern: ELIXIR_IDENT_RE,\n keyword: 'and false then defined module in return redo retry end for true self when ' +\n 'next until do begin unless nil break not case cond alias while ensure or ' +\n 'include use alias fn quote require import with|0'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: ELIXIR_KEYWORDS\n };\n const NUMBER = {\n className: 'number',\n begin: '(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(\\\\.[0-9_]+([eE][-+]?[0-9]+)?)?)',\n relevance: 0\n };\n const SIGIL_DELIMITERS = '[/|([{<\"\\']';\n const LOWERCASE_SIGIL = {\n className: 'string',\n begin: '~[a-z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n endsParent: true,\n contains: [\n {\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: /,\n end: />/\n }\n ]\n }\n ]\n }\n ]\n };\n\n const UPCASE_SIGIL = {\n className: 'string',\n begin: '~[A-Z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\\//,\n end: /\\//\n },\n {\n begin: /\\|/,\n end: /\\|/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n },\n {\n begin: /\\{/,\n end: /\\}/\n },\n {\n begin: /,\n end: />/\n }\n ]\n };\n\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /\"\"\"/,\n end: /\"\"\"/\n },\n {\n begin: /'''/,\n end: /'''/\n },\n {\n begin: /~S\"\"\"/,\n end: /\"\"\"/,\n contains: [] // override default\n },\n {\n begin: /~S\"/,\n end: /\"/,\n contains: [] // override default\n },\n {\n begin: /~S'''/,\n end: /'''/,\n contains: [] // override default\n },\n {\n begin: /~S'/,\n end: /'/,\n contains: [] // override default\n },\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n }\n ]\n };\n const FUNCTION = {\n className: 'function',\n beginKeywords: 'def defp defmacro',\n end: /\\B\\b/, // the mode is ended by the title\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: ELIXIR_IDENT_RE,\n endsParent: true\n })\n ]\n };\n const CLASS = hljs.inherit(FUNCTION, {\n className: 'class',\n beginKeywords: 'defimpl defmodule defprotocol defrecord',\n end: /\\bdo\\b|$|;/\n });\n const ELIXIR_DEFAULT_CONTAINS = [\n STRING,\n UPCASE_SIGIL,\n LOWERCASE_SIGIL,\n hljs.HASH_COMMENT_MODE,\n CLASS,\n FUNCTION,\n {\n begin: '::'\n },\n {\n className: 'symbol',\n begin: ':(?![\\\\s:])',\n contains: [\n STRING,\n {\n begin: ELIXIR_METHOD_RE\n }\n ],\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ELIXIR_IDENT_RE + ':(?!:)',\n relevance: 0\n },\n NUMBER,\n {\n className: 'variable',\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))'\n },\n {\n begin: '->'\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + ')\\\\s*',\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n // to prevent false regex triggers for the division function:\n // /:\n begin: /\\/: (?=\\d+\\s*[,\\]])/,\n relevance: 0,\n contains: [NUMBER]\n },\n {\n className: 'regexp',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n }\n ];\n SUBST.contains = ELIXIR_DEFAULT_CONTAINS;\n\n return {\n name: 'Elixir',\n keywords: ELIXIR_KEYWORDS,\n contains: ELIXIR_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = elixir;\n"],"names":["module","exports","hljs","ELIXIR_IDENT_RE","ELIXIR_KEYWORDS","$pattern","keyword","SUBST","className","begin","end","keywords","NUMBER","relevance","LOWERCASE_SIGIL","contains","endsParent","BACKSLASH_ESCAPE","variants","UPCASE_SIGIL","STRING","FUNCTION","beginKeywords","inherit","TITLE_MODE","CLASS","ELIXIR_DEFAULT_CONTAINS","HASH_COMMENT_MODE","RE_STARTERS_RE","illegal","name"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/elm.js.map b/js/highlight/elm.js.map
index 0a10eaed6ce..1a16ec9dc00 100644
--- a/js/highlight/elm.js.map
+++ b/js/highlight/elm.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/elm.js?v=d265f834285ab083405d","mappings":"2GAgIAA,EAAOC,QAxHP,SAAaC,GACX,MAAMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,KAAM,KACnBD,EAAKC,QACH,MACA,MACA,CACEE,SAAU,CAAC,YAMbC,EAAc,CAClBC,UAAW,OACXC,MAAO,kBACPC,UAAW,GAGPC,EAAO,CACXF,MAAO,MACPG,IAAK,MACLC,QAAS,IACTP,SAAU,CACR,CACEE,UAAW,OACXC,MAAO,0CAETL,IAiBJ,MAAO,CACLU,KAAM,MACNC,SACE,8HAEFT,SAAU,CAIR,CACEU,cAAe,qBACfJ,IAAK,WACLG,SAAU,yDACVT,SAAU,CACRK,EACAP,GAEFS,QAAS,YAEX,CACEJ,MAAO,SACPG,IAAK,IACLG,SAAU,qBACVT,SAAU,CACRK,EACAP,GAEFS,QAAS,YAEX,CACEJ,MAAO,OACPG,IAAK,IACLG,SAAU,aACVT,SAAU,CACRC,EACAI,EAhDO,CACbF,MAAO,KACPG,IAAK,KACLN,SAAUK,EAAKL,UA+CTF,IAGJ,CACEY,cAAe,sBACfJ,IAAK,IACLN,SAAU,CACRH,EAAKc,cACLb,IAGJ,CACEK,MAAO,OACPG,IAAK,IACLG,SAAU,OACVT,SAAU,CAACF,IA3DC,CAChBI,UAAW,SACXC,MAAO,UACPG,IAAK,IACLC,QAAS,KA6DPV,EAAKe,kBACLf,EAAKc,cACLV,EACAJ,EAAKgB,QAAQhB,EAAKiB,WAAY,CAC5BX,MAAO,mBAETL,EAEA,CACEK,MAAO,UAGXI,QAAS","sources":["webpack:///text/node_modules/highlight.js/lib/languages/elm.js"],"sourcesContent":["/*\nLanguage: Elm\nAuthor: Janis Voigtlaender \nWebsite: https://elm-lang.org\nCategory: functional\n*/\n\n/** @type LanguageFn */\nfunction elm(hljs) {\n const COMMENT = {\n variants: [\n hljs.COMMENT('--', '$'),\n hljs.COMMENT(\n /\\{-/,\n /-\\}/,\n {\n contains: ['self']\n }\n )\n ]\n };\n\n const CONSTRUCTOR = {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w\\']*', // TODO: other constructors (built-in, infix).\n relevance: 0\n };\n\n const LIST = {\n begin: '\\\\(',\n end: '\\\\)',\n illegal: '\"',\n contains: [\n {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?'\n },\n COMMENT\n ]\n };\n\n const RECORD = {\n begin: /\\{/,\n end: /\\}/,\n contains: LIST.contains\n };\n\n const CHARACTER = {\n className: 'string',\n begin: '\\'\\\\\\\\?.',\n end: '\\'',\n illegal: '.'\n };\n\n return {\n name: 'Elm',\n keywords:\n 'let in if then else case of where module import exposing ' +\n 'type alias as infix infixl infixr port effect command subscription',\n contains: [\n\n // Top-level constructions.\n\n {\n beginKeywords: 'port effect module',\n end: 'exposing',\n keywords: 'port effect module where command subscription exposing',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n begin: 'import',\n end: '$',\n keywords: 'import as exposing',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n begin: 'type',\n end: '$',\n keywords: 'type alias',\n contains: [\n CONSTRUCTOR,\n LIST,\n RECORD,\n COMMENT\n ]\n },\n {\n beginKeywords: 'infix infixl infixr',\n end: '$',\n contains: [\n hljs.C_NUMBER_MODE,\n COMMENT\n ]\n },\n {\n begin: 'port',\n end: '$',\n keywords: 'port',\n contains: [COMMENT]\n },\n\n // Literals and names.\n\n CHARACTER,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n CONSTRUCTOR,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '^[_a-z][\\\\w\\']*'\n }),\n COMMENT,\n\n {\n begin: '->|<-'\n } // No markup, relevance booster\n ],\n illegal: /;/\n };\n}\n\nmodule.exports = elm;\n"],"names":["module","exports","hljs","COMMENT","variants","contains","CONSTRUCTOR","className","begin","relevance","LIST","end","illegal","name","keywords","beginKeywords","C_NUMBER_MODE","QUOTE_STRING_MODE","inherit","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/elm.js?v=d265f834285ab083405d","mappings":"2GAgIAA,EAAOC,QAxHP,SAAaC,GACX,MAAMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,KAAM,KACnBD,EAAKC,QACH,MACA,MACA,CACEE,SAAU,CAAC,YAMbC,EAAc,CAClBC,UAAW,OACXC,MAAO,kBACPC,UAAW,GAGPC,EAAO,CACXF,MAAO,MACPG,IAAK,MACLC,QAAS,IACTP,SAAU,CACR,CACEE,UAAW,OACXC,MAAO,0CAETL,IAiBJ,MAAO,CACLU,KAAM,MACNC,SACE,8HAEFT,SAAU,CAIR,CACEU,cAAe,qBACfJ,IAAK,WACLG,SAAU,yDACVT,SAAU,CACRK,EACAP,GAEFS,QAAS,YAEX,CACEJ,MAAO,SACPG,IAAK,IACLG,SAAU,qBACVT,SAAU,CACRK,EACAP,GAEFS,QAAS,YAEX,CACEJ,MAAO,OACPG,IAAK,IACLG,SAAU,aACVT,SAAU,CACRC,EACAI,EAhDO,CACbF,MAAO,KACPG,IAAK,KACLN,SAAUK,EAAKL,UA+CTF,IAGJ,CACEY,cAAe,sBACfJ,IAAK,IACLN,SAAU,CACRH,EAAKc,cACLb,IAGJ,CACEK,MAAO,OACPG,IAAK,IACLG,SAAU,OACVT,SAAU,CAACF,IA3DC,CAChBI,UAAW,SACXC,MAAO,UACPG,IAAK,IACLC,QAAS,KA6DPV,EAAKe,kBACLf,EAAKc,cACLV,EACAJ,EAAKgB,QAAQhB,EAAKiB,WAAY,CAC5BX,MAAO,mBAETL,EAEA,CACEK,MAAO,UAGXI,QAAS,IAEb,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/elm.js"],"sourcesContent":["/*\nLanguage: Elm\nAuthor: Janis Voigtlaender \nWebsite: https://elm-lang.org\nCategory: functional\n*/\n\n/** @type LanguageFn */\nfunction elm(hljs) {\n const COMMENT = {\n variants: [\n hljs.COMMENT('--', '$'),\n hljs.COMMENT(\n /\\{-/,\n /-\\}/,\n {\n contains: ['self']\n }\n )\n ]\n };\n\n const CONSTRUCTOR = {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w\\']*', // TODO: other constructors (built-in, infix).\n relevance: 0\n };\n\n const LIST = {\n begin: '\\\\(',\n end: '\\\\)',\n illegal: '\"',\n contains: [\n {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?'\n },\n COMMENT\n ]\n };\n\n const RECORD = {\n begin: /\\{/,\n end: /\\}/,\n contains: LIST.contains\n };\n\n const CHARACTER = {\n className: 'string',\n begin: '\\'\\\\\\\\?.',\n end: '\\'',\n illegal: '.'\n };\n\n return {\n name: 'Elm',\n keywords:\n 'let in if then else case of where module import exposing ' +\n 'type alias as infix infixl infixr port effect command subscription',\n contains: [\n\n // Top-level constructions.\n\n {\n beginKeywords: 'port effect module',\n end: 'exposing',\n keywords: 'port effect module where command subscription exposing',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n begin: 'import',\n end: '$',\n keywords: 'import as exposing',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n begin: 'type',\n end: '$',\n keywords: 'type alias',\n contains: [\n CONSTRUCTOR,\n LIST,\n RECORD,\n COMMENT\n ]\n },\n {\n beginKeywords: 'infix infixl infixr',\n end: '$',\n contains: [\n hljs.C_NUMBER_MODE,\n COMMENT\n ]\n },\n {\n begin: 'port',\n end: '$',\n keywords: 'port',\n contains: [COMMENT]\n },\n\n // Literals and names.\n\n CHARACTER,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n CONSTRUCTOR,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '^[_a-z][\\\\w\\']*'\n }),\n COMMENT,\n\n {\n begin: '->|<-'\n } // No markup, relevance booster\n ],\n illegal: /;/\n };\n}\n\nmodule.exports = elm;\n"],"names":["module","exports","hljs","COMMENT","variants","contains","CONSTRUCTOR","className","begin","relevance","LIST","end","illegal","name","keywords","beginKeywords","C_NUMBER_MODE","QUOTE_STRING_MODE","inherit","TITLE_MODE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/highlight/erb.js.map b/js/highlight/erb.js.map
index 7d288a72724..90b49b5f2c3 100644
--- a/js/highlight/erb.js.map
+++ b/js/highlight/erb.js.map
@@ -1 +1 @@
-{"version":3,"file":"highlight/erb.js?v=f97f07bef5de5cd5ccb7","mappings":"yGA4BAA,EAAOC,QAjBP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,YAAa,MACbC,SAAU,CACRH,EAAKI,QAAQ,MAAO,MACpB,CACEC,MAAO,WACPC,IAAK,UACLJ,YAAa,OACbK,cAAc,EACdC,YAAY","sources":["webpack:///text/node_modules/highlight.js/lib/languages/erb.js"],"sourcesContent":["/*\nLanguage: ERB (Embedded Ruby)\nRequires: xml.js, ruby.js\nAuthor: Lucas Mazza \nContributors: Kassio Borges \nDescription: \"Bridge\" language defining fragments of Ruby in HTML within <% .. %>\nWebsite: https://ruby-doc.org/stdlib-2.6.5/libdoc/erb/rdoc/ERB.html\nCategory: template\n*/\n\n/** @type LanguageFn */\nfunction erb(hljs) {\n return {\n name: 'ERB',\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT('<%#', '%>'),\n {\n begin: '<%[%=-]?',\n end: '[%-]?%>',\n subLanguage: 'ruby',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n}\n\nmodule.exports = erb;\n"],"names":["module","exports","hljs","name","subLanguage","contains","COMMENT","begin","end","excludeBegin","excludeEnd"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"highlight/erb.js?v=f97f07bef5de5cd5ccb7","mappings":"yGA4BAA,EAAOC,QAjBP,SAAaC,GACX,MAAO,CACLC,KAAM,MACNC,YAAa,MACbC,SAAU,CACRH,EAAKI,QAAQ,MAAO,MACpB,CACEC,MAAO,WACPC,IAAK,UACLJ,YAAa,OACbK,cAAc,EACdC,YAAY,IAIpB,C","sources":["webpack:///text/node_modules/highlight.js/lib/languages/erb.js"],"sourcesContent":["/*\nLanguage: ERB (Embedded Ruby)\nRequires: xml.js, ruby.js\nAuthor: Lucas Mazza