@lotte-innovate/ui-component-test 0.2.9 → 0.2.10
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +2 -1
- package/post-tinymce.js +3 -2
- package/public/tinymce/CHANGELOG.md +3453 -0
- package/public/tinymce/README.md +73 -0
- package/public/tinymce/bower.json +27 -0
- package/public/tinymce/composer.json +52 -0
- package/public/tinymce/icons/default/icons.js +194 -0
- package/public/tinymce/icons/default/icons.min.js +1 -0
- package/public/tinymce/icons/default/icons.mjs +2 -0
- package/public/tinymce/icons/default/icons.mjs.map +1 -0
- package/public/tinymce/icons/default/index.d.ts +1 -0
- package/public/tinymce/icons/default/index.js +7 -0
- package/public/tinymce/icons/default/index.mjs +2 -0
- package/public/tinymce/icons/default/index.mjs.map +1 -0
- package/public/tinymce/license.txt +21 -0
- package/public/tinymce/models/dom/index.d.ts +1 -0
- package/public/tinymce/models/dom/index.js +7 -0
- package/public/tinymce/models/dom/index.mjs +2 -0
- package/public/tinymce/models/dom/index.mjs.map +1 -0
- package/public/tinymce/models/dom/model.js +8040 -0
- package/public/tinymce/models/dom/model.min.js +4 -0
- package/public/tinymce/models/dom/model.mjs +2 -0
- package/public/tinymce/models/dom/model.mjs.map +1 -0
- package/public/tinymce/package.json +32 -0
- package/public/tinymce/plugins/advlist/index.d.ts +1 -0
- package/public/tinymce/plugins/advlist/index.js +7 -0
- package/public/tinymce/plugins/advlist/index.mjs +2 -0
- package/public/tinymce/plugins/advlist/index.mjs.map +1 -0
- package/public/tinymce/plugins/advlist/plugin.js +259 -0
- package/public/tinymce/plugins/advlist/plugin.min.js +4 -0
- package/public/tinymce/plugins/advlist/plugin.mjs +2 -0
- package/public/tinymce/plugins/advlist/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/autolink/index.js +7 -0
- package/public/tinymce/plugins/autolink/plugin.js +228 -0
- package/public/tinymce/plugins/autolink/plugin.min.js +4 -0
- package/public/tinymce/plugins/code/index.d.ts +1 -0
- package/public/tinymce/plugins/code/index.js +7 -0
- package/public/tinymce/plugins/code/index.mjs +2 -0
- package/public/tinymce/plugins/code/index.mjs.map +1 -0
- package/public/tinymce/plugins/code/plugin.js +85 -0
- package/public/tinymce/plugins/code/plugin.min.js +4 -0
- package/public/tinymce/plugins/code/plugin.mjs +2 -0
- package/public/tinymce/plugins/code/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/codesample/index.d.ts +1 -0
- package/public/tinymce/plugins/codesample/index.js +7 -0
- package/public/tinymce/plugins/codesample/index.mjs +2 -0
- package/public/tinymce/plugins/codesample/index.mjs.map +1 -0
- package/public/tinymce/plugins/codesample/plugin.d.ts +45 -0
- package/public/tinymce/plugins/codesample/plugin.js +2463 -0
- package/public/tinymce/plugins/codesample/plugin.min.js +4 -0
- package/public/tinymce/plugins/codesample/plugin.mjs +2 -0
- package/public/tinymce/plugins/codesample/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/image/index.d.ts +1 -0
- package/public/tinymce/plugins/image/index.js +7 -0
- package/public/tinymce/plugins/image/index.mjs +2 -0
- package/public/tinymce/plugins/image/index.mjs.map +1 -0
- package/public/tinymce/plugins/image/plugin.js +1505 -0
- package/public/tinymce/plugins/image/plugin.min.js +4 -0
- package/public/tinymce/plugins/image/plugin.mjs +2 -0
- package/public/tinymce/plugins/image/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/link/index.d.ts +1 -0
- package/public/tinymce/plugins/link/index.js +7 -0
- package/public/tinymce/plugins/link/index.mjs +2 -0
- package/public/tinymce/plugins/link/index.mjs.map +1 -0
- package/public/tinymce/plugins/link/plugin.js +1242 -0
- package/public/tinymce/plugins/link/plugin.min.js +4 -0
- package/public/tinymce/plugins/link/plugin.mjs +2 -0
- package/public/tinymce/plugins/link/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/lists/index.d.ts +1 -0
- package/public/tinymce/plugins/lists/index.js +7 -0
- package/public/tinymce/plugins/lists/index.mjs +2 -0
- package/public/tinymce/plugins/lists/index.mjs.map +1 -0
- package/public/tinymce/plugins/lists/plugin.js +2172 -0
- package/public/tinymce/plugins/lists/plugin.min.js +4 -0
- package/public/tinymce/plugins/lists/plugin.mjs +2 -0
- package/public/tinymce/plugins/lists/plugin.mjs.map +1 -0
- package/public/tinymce/plugins/table/index.d.ts +1 -0
- package/public/tinymce/plugins/table/index.js +7 -0
- package/public/tinymce/plugins/table/index.mjs +2 -0
- package/public/tinymce/plugins/table/index.mjs.map +1 -0
- package/public/tinymce/plugins/table/plugin.js +3462 -0
- package/public/tinymce/plugins/table/plugin.min.js +4 -0
- package/public/tinymce/plugins/table/plugin.mjs +2 -0
- package/public/tinymce/plugins/table/plugin.mjs.map +1 -0
- package/public/tinymce/skins/content/default/content.css +61 -0
- package/public/tinymce/skins/content/default/content.js +2 -0
- package/public/tinymce/skins/content/default/content.min.css +1 -0
- package/public/tinymce/skins/content/default/content.mjs +2 -0
- package/public/tinymce/skins/content/default/content.mjs.map +1 -0
- package/public/tinymce/skins/ui/oxide/content.css +785 -0
- package/public/tinymce/skins/ui/oxide/content.inline.css +779 -0
- package/public/tinymce/skins/ui/oxide/content.inline.js +2 -0
- package/public/tinymce/skins/ui/oxide/content.inline.min.css +1 -0
- package/public/tinymce/skins/ui/oxide/content.js +2 -0
- package/public/tinymce/skins/ui/oxide/content.min.css +1 -0
- package/public/tinymce/skins/ui/oxide/content.mjs +2 -0
- package/public/tinymce/skins/ui/oxide/content.mjs.map +1 -0
- package/public/tinymce/skins/ui/oxide/skin.css +3763 -0
- package/public/tinymce/skins/ui/oxide/skin.js +2 -0
- package/public/tinymce/skins/ui/oxide/skin.min.css +1 -0
- package/public/tinymce/skins/ui/oxide/skin.mjs +2 -0
- package/public/tinymce/skins/ui/oxide/skin.mjs.map +1 -0
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.css +30 -0
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.js +2 -0
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
- package/public/tinymce/skins/ui/oxide-dark/content.css +766 -0
- package/public/tinymce/skins/ui/oxide-dark/content.inline.css +779 -0
- package/public/tinymce/skins/ui/oxide-dark/content.inline.js +2 -0
- package/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -0
- package/public/tinymce/skins/ui/oxide-dark/content.js +2 -0
- package/public/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.css +3766 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.js +2 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
- package/public/tinymce/themes/silver/index.d.ts +1 -0
- package/public/tinymce/themes/silver/index.js +7 -0
- package/public/tinymce/themes/silver/index.mjs +2 -0
- package/public/tinymce/themes/silver/index.mjs.map +1 -0
- package/public/tinymce/themes/silver/theme.js +30775 -0
- package/public/tinymce/themes/silver/theme.min.js +384 -0
- package/public/tinymce/themes/silver/theme.mjs +2 -0
- package/public/tinymce/themes/silver/theme.mjs.map +1 -0
- package/public/tinymce/tinymce.d.ts +3238 -0
- package/public/tinymce/tinymce.js +31779 -0
- package/public/tinymce/tinymce.min.js +384 -0
- package/public/tinymce/tinymce.mjs +2 -0
- package/public/tinymce/tinymce.mjs.map +1 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugin.mjs","sources":["../../../../../../public/tinymce/plugins/codesample/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.5 (TBD)\n */\n\n(function () {\n 'use strict';\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n\n const noop = () => {\n };\n const constant = value => {\n return () => {\n return value;\n };\n };\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n const head = xs => get$1(xs, 0);\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n const prismjs = function (global, module, exports) {\n const oldprism = window.Prism;\n window.Prism = { manual: true };\n var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};\n var Prism = function (_self) {\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n var plainTextGrammar = {};\n var _ = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n }\n },\n type: function (o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n objId: function (obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', { value: ++uniqueId });\n }\n return obj['__id'];\n },\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = {};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return clone;\n case 'Array':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return clone;\n default:\n return o;\n }\n },\n getLanguage: function (element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return 'none';\n },\n setLanguage: function (element, language) {\n element.className = element.className.replace(RegExp(lang, 'gi'), '');\n element.classList.add('language-' + language);\n },\n currentScript: function () {\n if (typeof document === 'undefined') {\n return null;\n }\n if ('currentScript' in document && 1 < 2) {\n return document.currentScript;\n }\n try {\n throw new Error();\n } catch (err) {\n var src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n if (src) {\n var scripts = document.getElementsByTagName('script');\n for (var i in scripts) {\n if (scripts[i].src == src) {\n return scripts[i];\n }\n }\n }\n return null;\n }\n },\n isActive: function (element, className, defaultActivation) {\n var no = 'no-' + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n languages: {\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang[key] = redef[key];\n }\n return lang;\n },\n insertBefore: function (inside, before, insert, root) {\n root = root || _.languages;\n var grammar = root[inside];\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i];\n var propertyType = _.util.type(property);\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n highlightAll: function (async, callback) {\n _.highlightAllUnder(document, async, callback);\n },\n highlightAllUnder: function (container, async, callback) {\n var env = {\n callback: callback,\n container: container,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n _.hooks.run('before-highlightall', env);\n env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n _.hooks.run('before-all-elements-highlight', env);\n for (var i = 0, element; element = env.elements[i++];) {\n _.highlightElement(element, async === true, env.callback);\n }\n },\n highlightElement: function (element, async, callback) {\n var language = _.util.getLanguage(element);\n var grammar = _.languages[language];\n _.util.setLanguage(element, language);\n var parent = element.parentElement;\n if (parent && parent.nodeName.toLowerCase() === 'pre') {\n _.util.setLanguage(parent, language);\n }\n var code = element.textContent;\n var env = {\n element: element,\n language: language,\n grammar: grammar,\n code: code\n };\n function insertHighlightedCode(highlightedCode) {\n env.highlightedCode = highlightedCode;\n _.hooks.run('before-insert', env);\n env.element.innerHTML = env.highlightedCode;\n _.hooks.run('after-highlight', env);\n _.hooks.run('complete', env);\n callback && callback.call(env.element);\n }\n _.hooks.run('before-sanity-check', env);\n parent = env.element.parentElement;\n if (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n parent.setAttribute('tabindex', '0');\n }\n if (!env.code) {\n _.hooks.run('complete', env);\n callback && callback.call(env.element);\n return;\n }\n _.hooks.run('before-highlight', env);\n if (!env.grammar) {\n insertHighlightedCode(_.util.encode(env.code));\n return;\n }\n if (async && _self.Worker) {\n var worker = new Worker(_.filename);\n worker.onmessage = function (evt) {\n insertHighlightedCode(evt.data);\n };\n worker.postMessage(JSON.stringify({\n language: env.language,\n code: env.code,\n immediateClose: true\n }));\n } else {\n insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n }\n },\n highlight: function (text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n _.hooks.run('before-tokenize', env);\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.');\n }\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run('after-tokenize', env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n tokenize: function (text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n hooks: {\n all: {},\n add: function (name, callback) {\n var hooks = _.hooks.all;\n hooks[name] = hooks[name] || [];\n hooks[name].push(callback);\n },\n run: function (name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++];) {\n callback(env);\n }\n }\n },\n Token: Token\n };\n _self.Prism = _;\n function Token(type, content, alias, matchedStr) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n this.length = (matchedStr || '').length | 0;\n }\n Token.stringify = function stringify(o, language) {\n if (typeof o == 'string') {\n return o;\n }\n if (Array.isArray(o)) {\n var s = '';\n o.forEach(function (e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: 'span',\n classes: [\n 'token',\n o.type\n ],\n attributes: {},\n language: language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run('wrap', env);\n var attributes = '';\n for (var name in env.attributes) {\n attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n }\n return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n };\n function matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (match && lookbehind && match[1]) {\n var lookbehindLength = match[1].length;\n match.index += lookbehindLength;\n match[0] = match[0].slice(lookbehindLength);\n }\n return match;\n }\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + ',' + j) {\n return;\n }\n var patternObj = patterns[j];\n var inside = patternObj.inside;\n var lookbehind = !!patternObj.lookbehind;\n var greedy = !!patternObj.greedy;\n var alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n }\n var pattern = patternObj.pattern || patternObj;\n for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1;\n var match;\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind);\n if (!match || match.index >= text.length) {\n break;\n }\n var from = match.index;\n var to = match.index + match[0].length;\n var p = pos;\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n p -= currentNode.value.length;\n pos = p;\n if (currentNode.value instanceof Token) {\n continue;\n }\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n match = matchPattern(pattern, 0, str, lookbehind);\n if (!match) {\n continue;\n }\n }\n var from = match.index;\n var matchStr = match[0];\n var before = str.slice(0, from);\n var after = str.slice(from + matchStr.length);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n var nestedRematch = {\n cause: token + ',' + j,\n reach: reach\n };\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach;\n }\n }\n }\n }\n }\n }\n function LinkedList() {\n var head = {\n value: null,\n prev: null,\n next: null\n };\n var tail = {\n value: null,\n prev: head,\n next: null\n };\n head.next = tail;\n this.head = head;\n this.tail = tail;\n this.length = 0;\n }\n function addAfter(list, node, value) {\n var next = node.next;\n var newNode = {\n value: value,\n prev: node,\n next: next\n };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n if (!_self.document) {\n if (!_self.addEventListener) {\n return _;\n }\n if (!_.disableWorkerMessageHandler) {\n _self.addEventListener('message', function (evt) {\n var message = JSON.parse(evt.data);\n var lang = message.language;\n var code = message.code;\n var immediateClose = message.immediateClose;\n _self.postMessage(_.highlight(code, _.languages[lang], lang));\n if (immediateClose) {\n _self.close();\n }\n }, false);\n }\n return _;\n }\n var script = _.util.currentScript();\n if (script) {\n _.filename = script.src;\n if (script.hasAttribute('data-manual')) {\n _.manual = true;\n }\n }\n function highlightAutomaticallyCallback() {\n if (!_.manual) {\n _.highlightAll();\n }\n }\n if (!_.manual) {\n var readyState = document.readyState;\n if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n } else {\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(highlightAutomaticallyCallback);\n } else {\n window.setTimeout(highlightAutomaticallyCallback, 16);\n }\n }\n }\n return _;\n }(_self);\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Prism;\n }\n if (typeof global !== 'undefined') {\n global.Prism = Prism;\n }\n Prism.languages.clike = {\n 'comment': [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: { 'punctuation': /[.\\\\]/ }\n },\n 'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n 'boolean': /\\b(?:false|true)\\b/,\n 'function': /\\b\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n 'punctuation': /[{}[\\];(),.:]/\n };\n (function (Prism) {\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___';\n }\n Object.defineProperties(Prism.languages['markup-templating'] = {}, {\n buildPlaceholders: {\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return;\n }\n var tokenStack = env.tokenStack = [];\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match;\n }\n var i = tokenStack.length;\n var placeholder;\n while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n ++i;\n }\n tokenStack[i] = match;\n return placeholder;\n });\n env.grammar = Prism.languages.markup;\n }\n },\n tokenizePlaceholders: {\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return;\n }\n env.grammar = Prism.languages[language];\n var j = 0;\n var keys = Object.keys(env.tokenStack);\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n if (j >= keys.length) {\n break;\n }\n var token = tokens[i];\n if (typeof token === 'string' || token.content && typeof token.content === 'string') {\n var k = keys[j];\n var t = env.tokenStack[k];\n var s = typeof token === 'string' ? token : token.content;\n var placeholder = getPlaceholder(language, k);\n var index = s.indexOf(placeholder);\n if (index > -1) {\n ++j;\n var before = s.substring(0, index);\n var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n var after = s.substring(index + placeholder.length);\n var replacement = [];\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]));\n }\n replacement.push(middle);\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]));\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [\n i,\n 1\n ].concat(replacement));\n } else {\n token.content = replacement;\n }\n }\n } else if (token.content) {\n walkTokens(token.content);\n }\n }\n return tokens;\n }\n walkTokens(env.tokens);\n }\n }\n });\n }(Prism));\n Prism.languages.c = Prism.languages.extend('clike', {\n 'comment': {\n pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n 'string': {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n 'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n 'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n 'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n 'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n });\n Prism.languages.insertBefore('c', 'string', {\n 'char': {\n pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n greedy: true\n }\n });\n Prism.languages.insertBefore('c', 'string', {\n 'macro': {\n pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n 'string': [\n {\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n },\n Prism.languages.c['string']\n ],\n 'char': Prism.languages.c['char'],\n 'comment': Prism.languages.c['comment'],\n 'macro-name': [\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n },\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }\n ],\n 'directive': {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n 'punctuation': /##|\\\\(?=[\\r\\n])/,\n 'expression': {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n }\n });\n Prism.languages.insertBefore('c', 'function', { 'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ });\n delete Prism.languages.c['boolean'];\n (function (Prism) {\n var keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () {\n return keyword.source;\n });\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [\n {\n pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function () {\n return keyword.source;\n })),\n lookbehind: true\n },\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,\n /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n ],\n 'keyword': keyword,\n 'number': {\n pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n 'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n 'boolean': /\\b(?:false|true)\\b/\n });\n Prism.languages.insertBefore('cpp', 'string', {\n 'module': {\n pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + '(?:' + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + '|' + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () {\n return modName;\n }) + ')'),\n lookbehind: true,\n greedy: true,\n inside: {\n 'string': /^[<\"][\\s\\S]+/,\n 'operator': /:/,\n 'punctuation': /\\./\n }\n },\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n });\n Prism.languages.insertBefore('cpp', 'keyword', {\n 'generic-function': {\n pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n inside: {\n 'function': /^\\w+/,\n 'generic': {\n pattern: /<[\\s\\S]+/,\n alias: 'class-name',\n inside: Prism.languages.cpp\n }\n }\n }\n });\n Prism.languages.insertBefore('cpp', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n });\n Prism.languages.insertBefore('cpp', 'class-name', {\n 'base-clause': {\n pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n });\n Prism.languages.insertBefore('inside', 'double-colon', { 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, Prism.languages.cpp['base-clause']);\n }(Prism));\n (function (Prism) {\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')';\n });\n }\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '');\n }\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')';\n });\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n }\n var keywordKinds = {\n type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n typeDeclaration: 'class enum interface record struct',\n contextual: 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n };\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n }\n var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);\n var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));\n var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);\n var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);\n var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2);\n var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2);\n var name = /@?\\b[A-Za-z_]\\w*\\b/.source;\n var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [\n name,\n generic\n ]);\n var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [\n nonTypeKeywords,\n genericName\n ]);\n var array = /\\[\\s*(?:,\\s*)*\\]/.source;\n var typeExpressionWithoutTuple = replace(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source, [\n identifier,\n array\n ]);\n var tupleElement = replace(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [\n generic,\n nestedRound,\n array\n ]);\n var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement]);\n var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source, [\n tuple,\n identifier,\n array\n ]);\n var typeInside = {\n 'keyword': keywords,\n 'punctuation': /[<>()?,.:[\\]]/\n };\n var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source;\n var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source;\n var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;\n Prism.languages.csharp = Prism.languages.extend('clike', {\n 'string': [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [\n name,\n typeExpression\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n lookbehind: true\n },\n {\n pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [\n typeDeclarationKeywords,\n genericName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n lookbehind: true\n },\n {\n pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [typeExpressionWithoutTuple]),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: re(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source, [\n typeExpression,\n nonContextualKeywords,\n name\n ]),\n inside: typeInside\n }\n ],\n 'keyword': keywords,\n 'number': /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n 'operator': />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n 'punctuation': /\\?\\.?|::|[{}[\\];(),.:]/\n });\n Prism.languages.insertBefore('csharp', 'number', {\n 'range': {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n });\n Prism.languages.insertBefore('csharp', 'punctuation', {\n 'named-parameter': {\n pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n lookbehind: true,\n alias: 'punctuation'\n }\n });\n Prism.languages.insertBefore('csharp', 'class-name', {\n 'namespace': {\n pattern: re(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source, [name]),\n lookbehind: true,\n inside: { 'punctuation': /\\./ }\n },\n 'type-expression': {\n pattern: re(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source, [nestedRound]),\n lookbehind: true,\n alias: 'class-name',\n inside: typeInside\n },\n 'return-type': {\n pattern: re(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source, [\n typeExpression,\n identifier\n ]),\n inside: typeInside,\n alias: 'class-name'\n },\n 'constructor-invocation': {\n pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n lookbehind: true,\n inside: typeInside,\n alias: 'class-name'\n },\n 'generic-method': {\n pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [\n name,\n generic\n ]),\n inside: {\n 'function': re(/^<<0>>/.source, [name]),\n 'generic': {\n pattern: RegExp(generic),\n alias: 'class-name',\n inside: typeInside\n }\n }\n },\n 'type-list': {\n pattern: re(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source, [\n typeDeclarationKeywords,\n genericName,\n name,\n typeExpression,\n keywords.source,\n nestedRound,\n /\\bnew\\s*\\(\\s*\\)/.source\n ]),\n lookbehind: true,\n inside: {\n 'record-arguments': {\n pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [\n genericName,\n nestedRound\n ]),\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.csharp\n },\n 'keyword': keywords,\n 'class-name': {\n pattern: RegExp(typeExpression),\n greedy: true,\n inside: typeInside\n },\n 'punctuation': /[,()]/\n }\n },\n 'preprocessor': {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n 'directive': {\n pattern: /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n });\n var regularStringOrCharacter = regularString + '|' + character;\n var regularStringCharacterOrComment = replace(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source, [regularStringOrCharacter]);\n var roundExpression = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n var attrTarget = /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source;\n var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [\n identifier,\n roundExpression\n ]);\n Prism.languages.insertBefore('csharp', 'class-name', {\n 'attribute': {\n pattern: re(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source, [\n attrTarget,\n attr\n ]),\n lookbehind: true,\n greedy: true,\n inside: {\n 'target': {\n pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n alias: 'keyword'\n },\n 'attribute-arguments': {\n pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n inside: Prism.languages.csharp\n },\n 'class-name': {\n pattern: RegExp(identifier),\n inside: { 'punctuation': /\\./ }\n },\n 'punctuation': /[:,]/\n }\n }\n });\n var formatString = /:[^}\\r\\n]+/.source;\n var mInterpolationRound = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n mInterpolationRound,\n formatString\n ]);\n var sInterpolationRound = nested(replace(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source, [regularStringOrCharacter]), 2);\n var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n sInterpolationRound,\n formatString\n ]);\n function createInterpolationInside(interpolation, interpolationRound) {\n return {\n 'interpolation': {\n pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n lookbehind: true,\n inside: {\n 'format-string': {\n pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [\n interpolationRound,\n formatString\n ]),\n lookbehind: true,\n inside: { 'punctuation': /^:/ }\n },\n 'punctuation': /^\\{|\\}$/,\n 'expression': {\n pattern: /[\\s\\S]+/,\n alias: 'language-csharp',\n inside: Prism.languages.csharp\n }\n }\n },\n 'string': /[\\s\\S]+/\n };\n }\n Prism.languages.insertBefore('csharp', 'string', {\n 'interpolation-string': [\n {\n pattern: re(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source, [mInterpolation]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n },\n {\n pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [sInterpolation]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n }\n ],\n 'char': {\n pattern: RegExp(character),\n greedy: true\n }\n });\n Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;\n }(Prism));\n (function (Prism) {\n var string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n inside: {\n 'rule': /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n 'keyword': {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n }\n }\n },\n 'url': {\n pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n greedy: true,\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/,\n 'string': {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n 'selector': {\n pattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n lookbehind: true\n },\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n lookbehind: true\n },\n 'important': /!important\\b/i,\n 'function': {\n pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n lookbehind: true\n },\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n if (markup) {\n markup.tag.addInlined('style', 'css');\n markup.tag.addAttribute('style', 'css');\n }\n }(Prism));\n (function (Prism) {\n var keywords = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/;\n var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n var className = {\n pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n 'namespace': {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: { 'punctuation': /\\./ }\n },\n 'punctuation': /\\./\n }\n };\n Prism.languages.java = Prism.languages.extend('clike', {\n 'string': {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n className,\n {\n pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n lookbehind: true,\n inside: className.inside\n },\n {\n pattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n lookbehind: true,\n inside: className.inside\n }\n ],\n 'keyword': keywords,\n 'function': [\n Prism.languages.clike.function,\n {\n pattern: /(::\\s*)[a-z_]\\w*/,\n lookbehind: true\n }\n ],\n 'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n 'operator': {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: true\n },\n 'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n });\n Prism.languages.insertBefore('java', 'string', {\n 'triple-quoted-string': {\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n 'char': {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n greedy: true\n }\n });\n Prism.languages.insertBefore('java', 'class-name', {\n 'annotation': {\n pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'generics': {\n pattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n 'keyword': keywords,\n 'punctuation': /[<>(),.:]/,\n 'operator': /[?&|]/\n }\n },\n 'import': [\n {\n pattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n lookbehind: true,\n inside: {\n 'namespace': className.inside.namespace,\n 'punctuation': /\\./,\n 'operator': /\\*/,\n 'class-name': /\\w+/\n }\n },\n {\n pattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n lookbehind: true,\n alias: 'static',\n inside: {\n 'namespace': className.inside.namespace,\n 'static': /\\b\\w+$/,\n 'punctuation': /\\./,\n 'operator': /\\*/,\n 'class-name': /\\w+/\n }\n }\n ],\n 'namespace': {\n pattern: RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g, function () {\n return keywords.source;\n })),\n lookbehind: true,\n inside: { 'punctuation': /\\./ }\n }\n });\n }(Prism));\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n lookbehind: true\n }\n ],\n 'keyword': [\n {\n pattern: /((?:^|\\})\\s*)catch\\b/,\n lookbehind: true\n },\n {\n pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }\n ],\n 'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'number': {\n pattern: RegExp(/(^|[^\\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + '|' + /\\d+(?:_\\d+)*n/.source + '|' + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source) + ')' + /(?![\\w$])/.source),\n lookbehind: true\n },\n 'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n });\n Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n Prism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + '(?:' + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + '|' + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\/|\\/$/,\n 'regex-flags': /^[a-z]+$/\n }\n },\n 'function-variable': {\n pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [\n {\n pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n });\n Prism.languages.insertBefore('javascript', 'string', {\n 'hashbang': {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n },\n 'string-property': {\n pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n }\n });\n Prism.languages.insertBefore('javascript', 'operator', {\n 'literal-property': {\n pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n lookbehind: true,\n alias: 'property'\n }\n });\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript');\n }\n Prism.languages.js = Prism.languages.javascript;\n Prism.languages.markup = {\n 'comment': {\n pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n greedy: true\n },\n 'prolog': {\n pattern: /<\\?[\\s\\S]+?\\?>/,\n greedy: true\n },\n 'doctype': {\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null\n },\n 'string': {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n 'punctuation': /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/i,\n 'name': /[^\\s<>'\"]+/\n }\n },\n 'cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n greedy: true\n },\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'special-attr': [],\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n 'punctuation': [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: { 'namespace': /^[^\\s>\\/:]+:/ }\n }\n }\n },\n 'entity': [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n };\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\n Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n });\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n return tagName;\n }), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n });\n Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n value: function (attrName, lang) {\n Prism.languages.markup.tag.inside['special-attr'].push({\n pattern: RegExp(/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, 'i'),\n lookbehind: true,\n inside: {\n 'attr-name': /^[^\\s=]+/,\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n 'value': {\n pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n lookbehind: true,\n alias: [\n lang,\n 'language-' + lang\n ],\n inside: Prism.languages[lang]\n },\n 'punctuation': [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n }\n }\n });\n }\n });\n Prism.languages.html = Prism.languages.markup;\n Prism.languages.mathml = Prism.languages.markup;\n Prism.languages.svg = Prism.languages.markup;\n Prism.languages.xml = Prism.languages.extend('markup', {});\n Prism.languages.ssml = Prism.languages.xml;\n Prism.languages.atom = Prism.languages.xml;\n Prism.languages.rss = Prism.languages.xml;\n (function (Prism) {\n var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/;\n var constant = [\n {\n pattern: /\\b(?:false|true)\\b/i,\n alias: 'boolean'\n },\n {\n pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n greedy: true,\n lookbehind: true\n },\n /\\b(?:null)\\b/i,\n /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/\n ];\n var number = /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i;\n var operator = /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;\n var punctuation = /[{}\\[\\](),:;]/;\n Prism.languages.php = {\n 'delimiter': {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: 'important'\n },\n 'comment': comment,\n 'variable': /\\$+(?:\\w+\\b|(?=\\{))/,\n 'package': {\n pattern: /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n },\n 'class-name-definition': {\n pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n 'function-definition': {\n pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true,\n alias: 'function'\n },\n 'keyword': [\n {\n pattern: /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n alias: 'type-casting',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n alias: 'type-declaration',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(\\byield\\s+)from\\b/i,\n lookbehind: true\n },\n /\\bclass\\b/i,\n {\n pattern: /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n lookbehind: true\n }\n ],\n 'argument-name': {\n pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n lookbehind: true\n },\n 'class-name': [\n {\n pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: [\n 'class-name-fully-qualified',\n 'type-declaration'\n ],\n greedy: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n alias: [\n 'class-name-fully-qualified',\n 'static-context'\n ],\n greedy: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: [\n 'class-name-fully-qualified',\n 'type-hint'\n ],\n greedy: true,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: [\n 'class-name-fully-qualified',\n 'return-type'\n ],\n greedy: true,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n }\n ],\n 'constant': constant,\n 'function': {\n pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n },\n 'property': {\n pattern: /(->\\s*)\\w+/,\n lookbehind: true\n },\n 'number': number,\n 'operator': operator,\n 'punctuation': punctuation\n };\n var string_interpolation = {\n pattern: /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n lookbehind: true,\n inside: Prism.languages.php\n };\n var string = [\n {\n pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n alias: 'nowdoc-string',\n greedy: true,\n inside: {\n 'delimiter': {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: { 'punctuation': /^<<<'?|[';]$/ }\n }\n }\n },\n {\n pattern: /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n 'delimiter': {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: { 'punctuation': /^<<<\"?|[\";]$/ }\n },\n 'interpolation': string_interpolation\n }\n },\n {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n alias: 'backtick-quoted-string',\n greedy: true\n },\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n alias: 'single-quoted-string',\n greedy: true\n },\n {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n alias: 'double-quoted-string',\n greedy: true,\n inside: { 'interpolation': string_interpolation }\n }\n ];\n Prism.languages.insertBefore('php', 'variable', {\n 'string': string,\n 'attribute': {\n pattern: /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n greedy: true,\n inside: {\n 'attribute-content': {\n pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n inside: {\n 'comment': comment,\n 'string': string,\n 'attribute-class-name': [\n {\n pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'class-name',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n alias: [\n 'class-name',\n 'class-name-fully-qualified'\n ],\n greedy: true,\n lookbehind: true,\n inside: { 'punctuation': /\\\\/ }\n }\n ],\n 'constant': constant,\n 'number': number,\n 'operator': operator,\n 'punctuation': punctuation\n }\n },\n 'delimiter': {\n pattern: /^#\\[|\\]$/,\n alias: 'punctuation'\n }\n }\n }\n });\n Prism.hooks.add('before-tokenize', function (env) {\n if (!/<\\?/.test(env.code)) {\n return;\n }\n var phpPattern = /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;\n Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);\n });\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');\n });\n }(Prism));\n Prism.languages.python = {\n 'comment': {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n 'string-interpolation': {\n pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n 'interpolation': {\n pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=\\}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: /![sra](?=[:}]$)/,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n 'string': /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n 'string': {\n pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n 'function': {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n 'decorator': {\n pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n lookbehind: true,\n alias: [\n 'annotation',\n 'punctuation'\n ],\n inside: { 'punctuation': /\\./ }\n },\n 'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n 'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n 'boolean': /\\b(?:False|None|True)\\b/,\n 'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n 'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n 'punctuation': /[{}[\\];(),.:]/\n };\n Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n Prism.languages.py = Prism.languages.python;\n (function (Prism) {\n Prism.languages.ruby = Prism.languages.extend('clike', {\n 'comment': {\n pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n lookbehind: true,\n inside: { 'punctuation': /[.\\\\]/ }\n },\n 'keyword': /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n 'operator': /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n 'punctuation': /[(){}[\\].,;]/\n });\n Prism.languages.insertBefore('ruby', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n });\n var interpolation = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n lookbehind: true,\n inside: {\n 'content': {\n pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n 'delimiter': {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n };\n delete Prism.languages.ruby.function;\n var percentExpression = '(?:' + [\n /([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n ].join('|') + ')';\n var symbolName = /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;\n Prism.languages.insertBefore('ruby', 'keyword', {\n 'regex-literal': [\n {\n pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'regex': /[\\s\\S]+/\n }\n },\n {\n pattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'regex': /[\\s\\S]+/\n }\n }\n ],\n 'variable': /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n 'symbol': [\n {\n pattern: RegExp(/(^|[^:]):/.source + symbolName),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: RegExp(/([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source),\n lookbehind: true,\n greedy: true\n }\n ],\n 'method-definition': {\n pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n lookbehind: true,\n inside: {\n 'function': /\\b\\w+$/,\n 'keyword': /^self\\b/,\n 'class-name': /^\\w+/,\n 'punctuation': /\\./\n }\n }\n });\n Prism.languages.insertBefore('ruby', 'string', {\n 'string-literal': [\n {\n pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'string': /[\\s\\S]+/\n }\n },\n {\n pattern: /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'string': /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n 'delimiter': {\n pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n inside: {\n 'symbol': /\\b\\w+/,\n 'punctuation': /^<<[-~]?/\n }\n },\n 'interpolation': interpolation,\n 'string': /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n 'delimiter': {\n pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n inside: {\n 'symbol': /\\b\\w+/,\n 'punctuation': /^<<[-~]?'|'$/\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n ],\n 'command-literal': [\n {\n pattern: RegExp(/%x/.source + percentExpression),\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'command': {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n },\n {\n pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n greedy: true,\n inside: {\n 'interpolation': interpolation,\n 'command': {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n }\n ]\n });\n delete Prism.languages.ruby.string;\n Prism.languages.insertBefore('ruby', 'number', {\n 'builtin': /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n 'constant': /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n });\n Prism.languages.rb = Prism.languages.ruby;\n }(Prism));\n window.Prism = oldprism;\n return Prism;\n }(undefined, undefined);\n\n const option = name => editor => editor.options.get(name);\n const register$2 = editor => {\n const registerOption = editor.options.register;\n registerOption('codesample_languages', { processor: 'object[]' });\n registerOption('codesample_global_prismjs', {\n processor: 'boolean',\n default: false\n });\n };\n const getLanguages$1 = option('codesample_languages');\n const useGlobalPrismJS = option('codesample_global_prismjs');\n\n const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs;\n\n const isCodeSample = elm => {\n return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;\n };\n\n const getSelectedCodeSample = editor => {\n const node = editor.selection ? editor.selection.getNode() : null;\n return isCodeSample(node) ? Optional.some(node) : Optional.none();\n };\n const insertCodeSample = (editor, language, code) => {\n const dom = editor.dom;\n editor.undoManager.transact(() => {\n const node = getSelectedCodeSample(editor);\n code = global$1.DOM.encode(code);\n return node.fold(() => {\n editor.insertContent('<pre id=\"__new\" class=\"language-' + language + '\">' + code + '</pre>');\n const newPre = dom.select('#__new')[0];\n dom.setAttrib(newPre, 'id', null);\n editor.selection.select(newPre);\n }, n => {\n dom.setAttrib(n, 'class', 'language-' + language);\n n.innerHTML = code;\n get(editor).highlightElement(n);\n editor.selection.select(n);\n });\n });\n };\n const getCurrentCode = editor => {\n const node = getSelectedCodeSample(editor);\n return node.bind(n => Optional.from(n.textContent)).getOr('');\n };\n\n const getLanguages = editor => {\n const defaultLanguages = [\n {\n text: 'HTML/XML',\n value: 'markup'\n },\n {\n text: 'JavaScript',\n value: 'javascript'\n },\n {\n text: 'CSS',\n value: 'css'\n },\n {\n text: 'PHP',\n value: 'php'\n },\n {\n text: 'Ruby',\n value: 'ruby'\n },\n {\n text: 'Python',\n value: 'python'\n },\n {\n text: 'Java',\n value: 'java'\n },\n {\n text: 'C',\n value: 'c'\n },\n {\n text: 'C#',\n value: 'csharp'\n },\n {\n text: 'C++',\n value: 'cpp'\n }\n ];\n const customLanguages = getLanguages$1(editor);\n return customLanguages ? customLanguages : defaultLanguages;\n };\n const getCurrentLanguage = (editor, fallback) => {\n const node = getSelectedCodeSample(editor);\n return node.fold(() => fallback, n => {\n const matches = n.className.match(/language-(\\w+)/);\n return matches ? matches[1] : fallback;\n });\n };\n\n const open = editor => {\n const languages = getLanguages(editor);\n const defaultLanguage = head(languages).fold(constant(''), l => l.value);\n const currentLanguage = getCurrentLanguage(editor, defaultLanguage);\n const currentCode = getCurrentCode(editor);\n editor.windowManager.open({\n title: 'Insert/Edit Code Sample',\n size: 'large',\n body: {\n type: 'panel',\n items: [\n {\n type: 'listbox',\n name: 'language',\n label: 'Language',\n items: languages\n },\n {\n type: 'textarea',\n name: 'code',\n label: 'Code view'\n }\n ]\n },\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n initialData: {\n language: currentLanguage,\n code: currentCode\n },\n onSubmit: api => {\n const data = api.getData();\n insertCodeSample(editor, data.language, data.code);\n api.close();\n }\n });\n };\n\n const register$1 = editor => {\n editor.addCommand('codesample', () => {\n const node = editor.selection.getNode();\n if (editor.selection.isCollapsed() || isCodeSample(node)) {\n open(editor);\n } else {\n editor.formatter.toggle('code');\n }\n });\n };\n\n const blank = r => s => s.replace(r, '');\n const trim = blank(/^\\s+|\\s+$/g);\n\n var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n const setup = editor => {\n editor.on('PreProcess', e => {\n const dom = editor.dom;\n const pres = dom.select('pre[contenteditable=false]', e.node);\n global.each(global.grep(pres, isCodeSample), elm => {\n const code = elm.textContent;\n dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class')));\n dom.setAttrib(elm, 'contentEditable', null);\n dom.setAttrib(elm, 'data-mce-highlighted', null);\n let child;\n while (child = elm.firstChild) {\n elm.removeChild(child);\n }\n const codeElm = dom.add(elm, 'code');\n codeElm.textContent = code;\n });\n });\n editor.on('SetContent', () => {\n const dom = editor.dom;\n const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => {\n return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true';\n });\n if (unprocessedCodeSamples.length) {\n editor.undoManager.transact(() => {\n global.each(unprocessedCodeSamples, elm => {\n var _a;\n global.each(dom.select('br', elm), elm => {\n dom.replace(editor.getDoc().createTextNode('\\n'), elm);\n });\n elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : '');\n get(editor).highlightElement(elm);\n dom.setAttrib(elm, 'data-mce-highlighted', true);\n elm.className = trim(elm.className);\n });\n });\n }\n });\n editor.on('PreInit', () => {\n editor.parser.addNodeFilter('pre', nodes => {\n var _a;\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = nodes[i];\n const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1;\n if (isCodeSample) {\n node.attr('contenteditable', 'false');\n node.attr('data-mce-highlighted', 'false');\n }\n }\n });\n });\n };\n\n const onSetupEditable = (editor, onChanged = noop) => api => {\n const nodeChanged = () => {\n api.setEnabled(editor.selection.isEditable());\n onChanged(api);\n };\n editor.on('NodeChange', nodeChanged);\n nodeChanged();\n return () => {\n editor.off('NodeChange', nodeChanged);\n };\n };\n const isCodeSampleSelection = editor => {\n const node = editor.selection.getStart();\n return editor.dom.is(node, 'pre[class*=\"language-\"]');\n };\n const register = editor => {\n const onAction = () => editor.execCommand('codesample');\n editor.ui.registry.addToggleButton('codesample', {\n icon: 'code-sample',\n tooltip: 'Insert/edit code sample',\n onAction,\n onSetup: onSetupEditable(editor, api => {\n api.setActive(isCodeSampleSelection(editor));\n })\n });\n editor.ui.registry.addMenuItem('codesample', {\n text: 'Code sample...',\n icon: 'code-sample',\n onAction,\n onSetup: onSetupEditable(editor)\n });\n };\n\n var Plugin = () => {\n global$2.add('codesample', editor => {\n register$2(editor);\n setup(editor);\n register(editor);\n register$1(editor);\n editor.on('dblclick', ev => {\n if (isCodeSample(ev.target)) {\n open(editor);\n }\n });\n });\n };\n\n Plugin();\n\n})();\n"],"names":["global$2","tinymce","util","Tools","resolve","isNonNullable","a","isNullable","noop","Optional","constructor","tag","value","this","some","none","singletonNone","fold","onNone","onSome","isSome","isNone","map","mapper","bind","binder","exists","predicate","forall","filter","getOr","replacement","or","getOrThunk","thunk","orThunk","getOrDie","message","Error","from","getOrNull","getOrUndefined","each","worker","toArray","toString","head","xs","i","length","get$1","global$1","Global","window","Function","prismjs","global","module","oldprism","Prism","manual","_self","lang","uniqueId","plainTextGrammar","_","disableWorkerMessageHandler","encode","tokens","Token","type","content","alias","Array","isArray","replace","o","Object","prototype","call","slice","objId","obj","defineProperty","clone","deepClone","visited","id","key","hasOwnProperty","forEach","v","getLanguage","element","m","exec","className","toLowerCase","parentElement","setLanguage","language","RegExp","classList","add","currentScript","document","err","src","stack","scripts","getElementsByTagName","isActive","defaultActivation","no","contains","languages","plain","plaintext","text","txt","extend","redef","insertBefore","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","property","propertyType","plugins","highlightAll","async","highlightAllUnder","container","env","selector","hooks","run","elements","apply","querySelectorAll","highlightElement","parent","nodeName","code","textContent","insertHighlightedCode","highlightedCode","innerHTML","hasAttribute","setAttribute","Worker","filename","onmessage","evt","data","postMessage","JSON","stringify","immediateClose","highlight","tokenize","rest","tokenList","LinkedList","addAfter","matchGrammar","list","array","node","next","tail","push","all","name","callbacks","matchedStr","matchPattern","pattern","pos","lookbehind","lastIndex","match","lookbehindLength","index","startNode","startPos","rematch","patterns","j","cause","patternObj","greedy","flags","source","currentNode","reach","str","removeCount","to","p","k","matchStr","after","removeFrom","prev","removeRange","nestedRematch","newNode","count","s","e","classes","attributes","aliases","join","addEventListener","parse","close","script","highlightAutomaticallyCallback","readyState","defer","requestAnimationFrame","setTimeout","WorkerGlobalScope","self","exports","clike","comment","string","punctuation","keyword","boolean","function","number","operator","getPlaceholder","toUpperCase","defineProperties","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","placeholder","indexOf","markup","tokenizePlaceholders","keys","walkTokens","t","substring","middle","splice","concat","c","char","macro","directive","expression","constant","modName","cpp","generic","replacements","re","nested","depthLog2","keywordKinds","keywordsToPattern","words","trim","typeDeclarationKeywords","keywords","nonTypeKeywords","nonContextualKeywords","nestedRound","genericName","identifier","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","character","regularString","verbatimString","csharp","range","namespace","preprocessor","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","attr","attribute","target","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","dotnet","cs","css","atrule","rule","url","important","addInlined","addAttribute","classNamePrefix","java","annotation","generics","import","static","javascript","regex","parameter","hashbang","js","prolog","doctype","cdata","entity","tagName","includedCdataInside","def","attrName","html","mathml","svg","xml","ssml","atom","rss","php","delimiter","variable","package","string_interpolation","test","python","decorator","builtin","py","ruby","percentExpression","symbolName","symbol","command","rb","undefined","option","editor","options","get","getLanguages$1","useGlobalPrismJS","isCodeSample","elm","getSelectedCodeSample","selection","getNode","open","customLanguages","getLanguages","defaultLanguage","l","currentLanguage","fallback","n","matches","getCurrentLanguage","currentCode","getCurrentCode","windowManager","title","size","body","items","label","buttons","primary","initialData","onSubmit","api","getData","dom","undoManager","transact","DOM","insertContent","newPre","select","setAttrib","insertCodeSample","r","onSetupEditable","onChanged","nodeChanged","setEnabled","isEditable","on","off","registerOption","register","processor","default","register$2","pres","grep","child","getAttrib","firstChild","removeChild","unprocessedCodeSamples","_a","getDoc","createTextNode","parser","addNodeFilter","nodes","setup","onAction","execCommand","ui","registry","addToggleButton","icon","tooltip","onSetup","setActive","getStart","is","isCodeSampleSelection","addMenuItem","addCommand","isCollapsed","formatter","toggle","register$1","ev"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../public/tinymce/plugins/image/index.js"],"sourcesContent":["// Exports the \"image\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/image')\n// ES2015:\n// import 'tinymce/plugins/image'\nrequire('./plugin.js');"],"names":["require$$0"],"mappings":"wIAMsBA"}
|