2323-2323.js.map 1.4 MB

1
  1. {"version":3,"file":"2323-2323.js?v=c3991282618b5e2556aa","mappings":"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OAAO42C,aAAarwB,GACvB9qB,GAGF4kE,EAAI95C,EACb,CAGA,SAASijD,EAAiBjjD,GACxB,OAAa,KAATA,GACF82C,EAAQE,QAAQh3C,GACT3nB,EAAKwgE,UAAYziE,EAAK4hE,GAGxB8B,EAAI95C,EACb,CAGA,SAASmjD,EAAwBnjD,GAC/B,OAAI,QAAcA,IAChB82C,EAAQE,QAAQh3C,GACTmjD,GAGFC,EAAYpjD,EACrB,CAGA,SAASkjD,EAA4BljD,GACnC,OAAa,KAATA,GACF82C,EAAQE,QAAQh3C,GACTojD,GAGI,KAATpjD,GAAwB,KAATA,IAAe,QAAWA,IAC3C82C,EAAQE,QAAQh3C,GACTqjD,IAGL,QAAcrjD,IAChB82C,EAAQE,QAAQh3C,GACTkjD,GAGFE,EAAYpjD,EACrB,CAGA,SAASqjD,EAAsBrjD,GAC7B,OACW,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,IACA,QAAkBA,IAElB82C,EAAQE,QAAQh3C,GACTqjD,GAGFC,EAA2BtjD,EACpC,CAGA,SAASsjD,EAA2BtjD,GAClC,OAAa,KAATA,GACF82C,EAAQE,QAAQh3C,GACTujD,IAGL,QAAcvjD,IAChB82C,EAAQE,QAAQh3C,GACTsjD,GAGFJ,EAA4BljD,EACrC,CAGA,SAASujD,EAA6BvjD,GACpC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEO85C,EAAI95C,GAGA,KAATA,GAAwB,KAATA,GACjB82C,EAAQE,QAAQh3C,GAChBs/C,EAASt/C,EACFwjD,IAGL,QAAcxjD,IAChB82C,EAAQE,QAAQh3C,GACTujD,IAGTjE,EAAS,KACFmE,EAA+BzjD,GACxC,CAGA,SAASwjD,EAA6BxjD,GACpC,OAAa,OAATA,IAAiB,QAAmBA,GAC/B85C,EAAI95C,GAGTA,IAASs/C,GACXxI,EAAQE,QAAQh3C,GACT0jD,IAGT5M,EAAQE,QAAQh3C,GACTwjD,EACT,CAGA,SAASC,EAA+BzjD,GACtC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,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oD,GAGF12D,EAAI0O,EACb,CAGA,SAASioD,EAAqBjoD,GAC5B,OACW,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,IACA,QAAkBA,IAElB82C,EAAQE,QAAQh3C,GACTioD,GAGFC,EAA0BloD,EACnC,CAGA,SAASkoD,EAA0BloD,GACjC,OAAa,KAATA,GACF82C,EAAQE,QAAQh3C,GACTmoD,IAGL,QAAmBnoD,IACrBu+C,EAAc2J,EACPT,EAAaznD,KAGlB,QAAcA,IAChB82C,EAAQE,QAAQh3C,GACTkoD,GAGFF,EAAehoD,EACxB,CAGA,SAASmoD,EAA4BnoD,GACnC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEO85C,EAAI95C,GAGA,KAATA,GAAwB,KAATA,GACjB82C,EAAQE,QAAQh3C,GAChBs/C,EAASt/C,EACFooD,IAGL,QAAmBpoD,IACrBu+C,EAAc4J,EACPV,EAAaznD,KAGlB,QAAcA,IAChB82C,EAAQE,QAAQh3C,GACTmoD,IAGTrR,EAAQE,QAAQh3C,GAChBs/C,OAASlqE,EACFizE,EACT,CAGA,SAASD,EAA4BpoD,GACnC,OAAIA,IAASs/C,GACXxI,EAAQE,QAAQh3C,GACTsoD,GAGI,OAATtoD,EACK85C,EAAI95C,IAGT,QAAmBA,IACrBu+C,EAAc6J,EACPX,EAAaznD,KAGtB82C,EAAQE,QAAQh3C,GACTooD,EACT,CAGA,SAASE,EAAiCtoD,GACxC,OAAa,KAATA,GAAwB,KAATA,IAAe,QAA0BA,GACnDgoD,EAAehoD,GAGjB85C,EAAI95C,EACb,CAGA,SAASqoD,EAA8BroD,GACrC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEO85C,EAAI95C,GAGA,KAATA,IAAe,QAA0BA,GACpCgoD,EAAehoD,IAGxB82C,EAAQE,QAAQh3C,GACTqoD,EACT,CAKA,SAASZ,EAAaznD,GAKpB,OAJA82C,EAAQG,KAAK,gBACbH,EAAQh2B,MAAM,cACdg2B,EAAQE,QAAQh3C,GAChB82C,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","sources":["webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.js","webpack:///nextcloud/node_modules/extend/index.js","webpack:///nextcloud/node_modules/inline-style-parser/index.js","webpack:///nextcloud/node_modules/style-to-object/index.js","webpack:///nextcloud/node_modules/tributejs/dist/tribute.esm.js","webpack:///nextcloud/node_modules/unified/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vfile/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/LinkVariant.vue?7418","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=template&id=3834522c&","webpack://nextcloud/./node_modules/vue-material-design-icons/Magnify.vue?0775","webpack:///nextcloud/node_modules/mdast-util-definitions/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","webpack:///nextcloud/node_modules/micromark-util-character/index.js","webpack:///nextcloud/node_modules/property-information/lib/util/schema.js","webpack:///nextcloud/node_modules/property-information/lib/util/merge.js","webpack:///nextcloud/node_modules/property-information/lib/normalize.js","webpack:///nextcloud/node_modules/property-information/lib/util/info.js","webpack:///nextcloud/node_modules/property-information/lib/util/types.js","webpack:///nextcloud/node_modules/property-information/lib/util/defined-info.js","webpack:///nextcloud/node_modules/property-information/lib/util/create.js","webpack:///nextcloud/node_modules/property-information/lib/xlink.js","webpack:///nextcloud/node_modules/property-information/lib/xml.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-sensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-insensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/xmlns.js","webpack:///nextcloud/node_modules/property-information/lib/aria.js","webpack:///nextcloud/node_modules/property-information/lib/html.js","webpack:///nextcloud/node_modules/property-information/lib/svg.js","webpack:///nextcloud/node_modules/property-information/index.js","webpack:///nextcloud/node_modules/property-information/lib/find.js","webpack:///nextcloud/node_modules/property-information/lib/hast-to-react.js","webpack:///nextcloud/node_modules/style-to-object/index.mjs","webpack:///nextcloud/node_modules/web-namespaces/index.js","webpack:///nextcloud/node_modules/hast-to-hyperscript/lib/index.js","webpack:///nextcloud/node_modules/comma-separated-tokens/index.js","webpack:///nextcloud/node_modules/rehype-react/lib/index.js","webpack:///nextcloud/node_modules/hast-util-whitespace/index.js","webpack:///nextcloud/node_modules/remark-breaks/index.js","webpack:///nextcloud/node_modules/is-absolute-url/index.js","webpack:///nextcloud/node_modules/remark-external-links/index.js","webpack:///nextcloud/node_modules/mdast-util-to-string/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-chunked/index.js","webpack:///nextcloud/node_modules/micromark-util-combine-extensions/index.js","webpack:///nextcloud/node_modules/micromark-factory-space/index.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/document.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/blank-line.js","webpack:///nextcloud/node_modules/micromark-util-subtokenize/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/flow.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/text.js","webpack:///nextcloud/node_modules/micromark-util-resolve-all/index.js","webpack:///nextcloud/node_modules/micromark/lib/create-tokenizer.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/list.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/block-quote.js","webpack:///nextcloud/node_modules/micromark-factory-destination/index.js","webpack:///nextcloud/node_modules/micromark-factory-label/index.js","webpack:///nextcloud/node_modules/micromark-factory-title/index.js","webpack:///nextcloud/node_modules/micromark-factory-whitespace/index.js","webpack:///nextcloud/node_modules/micromark-util-normalize-identifier/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/definition.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-indented.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack:///nextcloud/node_modules/micromark-util-html-tag-name/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-flow.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack:///nextcloud/node_modules/decode-named-character-reference/index.dom.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-reference.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/line-ending.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-end.js","webpack:///nextcloud/node_modules/micromark-util-classify-character/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/attention.js","webpack:///nextcloud/node_modules/micromark/lib/constructs.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/autolink.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-text.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-text.js","webpack:///nextcloud/node_modules/micromark/lib/preprocess.js","webpack:///nextcloud/node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack:///nextcloud/node_modules/micromark-util-decode-string/index.js","webpack:///nextcloud/node_modules/mdast-util-from-markdown/lib/index.js","webpack:///nextcloud/node_modules/micromark/lib/postprocess.js","webpack:///nextcloud/node_modules/micromark/lib/parse.js","webpack:///nextcloud/node_modules/remark-parse/index.js","webpack:///nextcloud/node_modules/remark-parse/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-sanitize-uri/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/revert.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack:///nextcloud/node_modules/unist-util-position/lib/index.js","webpack:///nextcloud/node_modules/trim-lines/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-row.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/state.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/index.js","webpack:///nextcloud/node_modules/unist-util-generated/lib/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/footer.js","webpack:///nextcloud/node_modules/remark-rehype/lib/index.js","webpack:///nextcloud/node_modules/space-separated-tokens/index.js","webpack:///nextcloud/node_modules/string-length/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/strip-ansi/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///nextcloud/node_modules/char-regex/index.js","webpack:///nextcloud/node_modules/bail/index.js","webpack:///nextcloud/node_modules/unified/node_modules/is-plain-obj/index.js","webpack:///nextcloud/node_modules/vfile-message/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minpath.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minproc.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.shared.js","webpack:///nextcloud/node_modules/vfile/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.browser.js","webpack:///nextcloud/node_modules/unified/lib/index.js","webpack:///nextcloud/node_modules/trough/index.js","webpack:///nextcloud/node_modules/unist-builder/lib/index.js","webpack:///nextcloud/node_modules/unist-util-stringify-position/lib/index.js","webpack:///nextcloud/node_modules/unist-util-is/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit-parents/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit/lib/index.js"],"sourcesContent":["'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","/*! For license information please see NcRichContenteditable.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/NcRichContenteditable\"]=e())}(self,(()=>(()=>{var t={9456:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(9104),r=n(1205),o=n(5512),a=n.n(o),s=n(6915),l=n.n(s);const c={name:\"NcInputField\",components:{NcButton:i.default,AlertCircle:a(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"text\",\"password\",\"email\",\"tel\",\"url\",\"search\",\"number\"].includes(t)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:\"\"},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:\"\"}},emits:[\"update:value\",\"trailing-button-click\"],computed:{computedId:function(){return this.$attrs.id&&\"\"!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return\"input\"+(0,r.Z)()},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return\"\"!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:\"\":this.hasPlaceholder?this.placeholder:this.label},isValidLabel:function(){var t=this.label||this.labelOutside;return t||console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\"),t}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},handleTrailingButtonClick:function(t){this.$emit(\"trailing-button-click\",t)}}}},1039:(t,e,n)=>{\"use strict\";n.d(e,{s:()=>i,x:()=>r});var i=function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"input-field\"},[!t.labelOutside&&t.isValidLabel?e(\"label\",{staticClass:\"input-field__label\",class:{\"input-field__label--hidden\":!t.labelVisible},attrs:{for:t.computedId}},[t._v(\"\\n\\t\\t\"+t._s(t.label)+\"\\n\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"input-field__main-wrapper\"},[e(\"input\",t._g(t._b({ref:\"input\",staticClass:\"input-field__input\",class:[t.inputClass,{\"input-field__input--trailing-icon\":t.showTrailingButton||t.hasTrailingIcon,\"input-field__input--leading-icon\":t.hasLeadingIcon,\"input-field__input--success\":t.success,\"input-field__input--error\":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,\"aria-describedby\":t.helperText.length>0?\"\".concat(t.inputName,\"-helper-text\"):\"\",\"aria-live\":\"polite\"},domProps:{value:t.value},on:{input:t.handleInput}},\"input\",t.$attrs,!1),t.$listeners)),t._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasLeadingIcon,expression:\"hasLeadingIcon\"}],staticClass:\"input-field__icon input-field__icon--leading\"},[t._t(\"default\")],2),t._v(\" \"),t.showTrailingButton?e(\"NcButton\",{staticClass:\"input-field__clear-button\",attrs:{type:\"tertiary-no-background\",\"aria-label\":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"trailing-button-icon\")]},proxy:!0}],null,!0)}):t.success||t.error?e(\"div\",{staticClass:\"input-field__icon input-field__icon--trailing\"},[t.success?e(\"Check\",{attrs:{size:18}}):t.error?e(\"AlertCircle\",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(\" \"),t.helperText.length>0?e(\"p\",{staticClass:\"input-field__helper-text-message\",class:{\"input-field__helper-text-message--error\":t.error,\"input-field__helper-text-message--success\":t.success},attrs:{id:\"\".concat(t.inputName,\"-helper-text\")}},[t.success?e(\"Check\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t.error?e(\"AlertCircle\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t._e(),t._v(\"\\n\\t\\t\"+t._s(t.helperText)+\"\\n\\t\")],1):t._e()])},r=[]},4891:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>G});var i=n(9104),r=n(5825),o=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(t){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},d(t)}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){m(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function m(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==d(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===d(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var v=\".focusable\";const g={name:\"NcActions\",components:{NcButton:i.default,DotsHorizontal:u(),NcPopover:r.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:null},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:(0,a.t)(\"Actions\")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:[String,Object,Element,Boolean],default:\"body\"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0}},emits:[\"update:open\",\"open\",\"update:open\",\"close\",\"focus\",\"blur\"],data:function(){return{opened:this.open,focusIndex:0,randomId:\"menu-\".concat((0,o.Z)())}},computed:{triggerBtnType:function(){return this.type||(this.primary?\"primary\":this.menuTitle?\"secondary\":\"tertiary\")}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},methods:{isValidSingleAction:function(t){var e,n,i,r,o,a=null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag;return[\"NcActionButton\",\"NcActionLink\",\"NcActionRouter\"].includes(a)},openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:t}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(v);if(n){var i=h(this.$refs.menu.querySelectorAll(v)).indexOf(n);i>-1&&(this.focusIndex=i,this.focusAction())}}}},onKeydown:function(t){(38===t.keyCode||9===t.keyCode&&t.shiftKey)&&this.focusPreviousAction(t),(40===t.keyCode||9===t.keyCode&&!t.shiftKey)&&this.focusNextAction(t),33===t.keyCode&&this.focusFirstAction(t),34===t.keyCode&&this.focusLastAction(t),27===t.keyCode&&(this.closeMenu(),t.preventDefault())},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(v)[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(v).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$refs.menu.querySelectorAll(v).length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}},render:function(t){var e=this,n=(this.$slots.default||[]).filter((function(t){var e,n,i,r;return(null==t||null===(e=t.componentOptions)||void 0===e?void 0:e.tag)||(null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)})),i=n.filter(this.isValidSingleAction);if(this.forceMenu&&i.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),i=[]),0!==n.length){var r=function(n){var i,r,o,a,s,l,c,u,d,p,m,h,f,v,g,C,b,y,x,w,k,_,S=(null==n||null===(i=n.data)||void 0===i||null===(r=i.scopedSlots)||void 0===r||null===(o=r.icon())||void 0===o?void 0:o[0])||t(\"span\",{class:[\"icon\",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),B=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,j=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(m=p.text)||void 0===m||null===(h=m.trim)||void 0===h?void 0:h.call(m),E=(null==n||null===(f=n.componentOptions)||void 0===f||null===(v=f.propsData)||void 0===v?void 0:v.ariaLabel)||j,N=e.forceTitle?j:\"\",P=null==n||null===(g=n.componentOptions)||void 0===g||null===(C=g.propsData)||void 0===C?void 0:C.title;return e.forceTitle||P||(P=j),t(\"NcButton\",{class:[\"action-item action-item--single\",null==n||null===(b=n.data)||void 0===b?void 0:b.staticClass,null==n||null===(y=n.data)||void 0===y?void 0:y.class],attrs:{\"aria-label\":E,title:P},ref:null==n||null===(x=n.data)||void 0===x?void 0:x.ref,props:A({type:e.type||(N?\"secondary\":\"tertiary\"),disabled:e.disabled||(null==n||null===(w=n.componentOptions)||void 0===w||null===(k=w.propsData)||void 0===k?void 0:k.disabled),ariaHidden:e.ariaHidden},null==n||null===(_=n.componentOptions)||void 0===_?void 0:_.propsData),on:A({focus:e.onFocus,blur:e.onBlur},!!B&&{click:function(t){B&&B(t)}})},[t(\"template\",{slot:\"icon\"},[S]),N])},o=function(n){var i,r,o=(null===(i=e.$slots.icon)||void 0===i?void 0:i[0])||(e.defaultIcon?t(\"span\",{class:[\"icon\",e.defaultIcon]}):t(\"DotsHorizontal\",{props:{size:20}}));return t(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(r=e.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\"},on:{show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[t(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:e.triggerBtnType,disabled:e.disabled,ariaHidden:e.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":\"menu\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.opened?e.randomId:null,\"aria-expanded\":e.opened.toString()},on:{focus:e.onFocus,blur:e.onBlur}},[t(\"template\",{slot:\"icon\"},[o]),e.menuTitle]),t(\"div\",{class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:e.onKeydown,mousemove:e.onMouseFocusAction},ref:\"menu\"},[t(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\",role:\"menu\"}},[n])])])};if(1===n.length&&1===i.length&&!this.forceMenu)return r(i[0]);if(i.length>0&&this.inline>0){var a=i.slice(0,this.inline),s=n.filter((function(t){return!a.includes(t)}));return t(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(a.map(r)),[s.length>0?t(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[o(s)]):null]))}return t(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[o(n)])}}};var C=n(3379),b=n.n(C),y=n(7795),x=n.n(y),w=n(569),k=n.n(w),_=n(3565),S=n.n(_),B=n(9216),j=n.n(B),E=n(4589),N=n.n(E),P=n(9286),z={};z.styleTagTransform=N(),z.setAttributes=S(),z.insert=k().bind(null,\"head\"),z.domAPI=x(),z.insertStyleElement=j();b()(P.Z,z);P.Z&&P.Z.locals&&P.Z.locals;var O=n(2377),D={};D.styleTagTransform=N(),D.setAttributes=S(),D.insert=k().bind(null,\"head\"),D.domAPI=x(),D.insertStyleElement=j();b()(O.Z,D);O.Z&&O.Z.locals&&O.Z.locals;var T=n(1900),L=n(5727),I=n.n(L),$=(0,T.Z)(g,undefined,undefined,!1,null,\"3e2a42f5\",null);\"function\"==typeof I()&&I()($);const G=$.exports},8091:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>Z});var i=n(5825),r=n(306),o=n(5378),a=n(7993),s=n(3351),l=n(932),c=n(768),u=n.n(c),d=n(1441),p=n.n(d),A=n(3607),m=n(542),h=n(7672),f=n(4262),v=n(4055);function g(t){return g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},g(t)}function C(){C=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var b=m.prototype=p.prototype=Object.create(h);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==g(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(b,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),l(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),l(b,s,\"Generator\"),l(b,o,(function(){return this})),l(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function b(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function y(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){b(o,i,r,a,s,\"next\",t)}function s(t){b(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}var x=(0,h.getBuilder)(\"nextcloud\").persist().build();function w(t){var e=x.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&x.setItem(\"user-has-avatar.\"+t,e)}const _={name:\"NcAvatar\",directives:{ClickOutside:v.vOnClickOutside},components:{DotsHorizontal:p(),NcLoadingIcon:o.default,NcPopover:i.default,NcPopoverMenu:r.default},mixins:[s.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:[String,Object,Element,Boolean],default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){var t,e;if(this.hasMenu)return this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,l.t)(\"Avatar of {displayName}, {status}\",{displayName:null!==(e=this.displayName)&&void 0!==e?e:this.user,status:this.userStatus.status}):(0,l.t)(\"Avatar of {displayName}\",{displayName:null!==(t=this.displayName)&&void 0!==t?t:this.user})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=(0,A.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){return{\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.45*this.size)+\"px\"}},initialsWrapperStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{backgroundColor:\"rgba(\".concat(e,\", \").concat(n,\", \").concat(i,\", 0.1)\")}},initialsStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{color:\"rgb(\".concat(e,\", \").concat(n,\", \").concat(i,\")\")}},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),(0,m.subscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.subscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,m.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroy:function(){(0,m.unsubscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.unsubscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(0,m.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return y(C().mark((function e(){return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return y(C().mark((function e(){var n,i,r;return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,u().post((0,f.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,r=i.data,t.contactsMenuActions=r.topAction?[r.topAction].concat(r.actions):r.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var t=this.avatarUrlGenerator(this.user,64),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(t,e)}else{var n=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(n)}},avatarUrlGenerator:function(t,e){var n,i=\"invert(100%)\"===window.getComputedStyle(document.body).getPropertyValue(\"--background-invert-if-dark\"),r=\"/avatar/{user}/{size}\"+(i?\"/dark\":\"\");this.isGuest&&(r=\"/avatar/guest/{user}/{size}\"+(i?\"/dark\":\"\"));var o=(0,f.generateUrl)(r,{user:t,size:e});return t===(null===(n=(0,A.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(o+=\"?v=\"+oc_userconfig.avatar.version),o},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=w(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var r=new Image;r.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},r.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(r.srcset=n),r.src=t}}};var S=n(3379),B=n.n(S),j=n(7795),E=n.n(j),N=n(569),P=n.n(N),z=n(3565),O=n.n(z),D=n(9216),T=n.n(D),L=n(4589),I=n.n(L),$=n(2242),G={};G.styleTagTransform=I(),G.setAttributes=O(),G.insert=P().bind(null,\"head\"),G.domAPI=E(),G.insertStyleElement=T();B()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(1900),U=n(3051),F=n.n(U),R=(0,M.Z)(_,(function(){var t=this,e=t._self._c;return e(\"div\",t._g({directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{title:t.tooltip,tabindex:t.hasMenu?\"0\":void 0,\"aria-label\":t.avatarAriaLabel,role:t.hasMenu?\"button\":void 0},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu.apply(null,arguments)}}},t.hasMenu?{click:t.toggleMenu}:{}),[t._t(\"icon\",(function(){return[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e()]})),t._v(\" \"),t.hasMenu?e(\"NcPopover\",{attrs:{placement:\"auto\",container:t.menuContainer,shown:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"NcLoadingIcon\"):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20}})]},proxy:!0}],null,!1,2037777893)},[e(\"NcPopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),!t.userDoesNotExist||t.iconClass||t.$slots.icon?t._e():e(\"div\",{staticClass:\"avatardiv__initials-wrapper\",style:t.initialsWrapperStyle},[e(\"div\",{staticClass:\"unknown\",style:t.initialsStyle},[t._v(\"\\n\\t\\t\\t\"+t._s(t.initials)+\"\\n\\t\\t\")])])],2)}),[],!1,null,\"f73be20c\",null);\"function\"==typeof F()&&F()(R);const Z=R.exports},9104:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>S});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:\"secondary\"},nativeType:{type:String,validator:function(t){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(t)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(t){var e,n,i,r,s,l=this,c=null===(e=this.$slots.default)||void 0===e||null===(n=e[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var p=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.navigate,r=n.isActive,s=n.isExactActive;return t(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(e={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},a(e,\"button-vue--vue-\".concat(l.type),l.type),a(e,\"button-vue--wide\",l.wide),a(e,\"active\",r),a(e,\"router-link-exact-active\",s),e)],attrs:o({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:o(o({},l.$listeners),{},{click:function(t){var e,n;null===(e=l.$listeners)||void 0===e||null===(n=e.click)||void 0===n||n.call(e,t),null==i||i(t)}})},[t(\"span\",{class:\"button-vue__wrapper\"},[d?t(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?t(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?t(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:p}}):p()}};var l=n(3379),c=n.n(l),u=n(7795),d=n.n(u),p=n(569),A=n.n(p),m=n(3565),h=n.n(m),f=n(9216),v=n.n(f),g=n(4589),C=n.n(g),b=n(1898),y={};y.styleTagTransform=C(),y.setAttributes=h(),y.insert=A().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=v();c()(b.Z,y);b.Z&&b.Z.locals&&b.Z.locals;var x=n(1900),w=n(2102),k=n.n(w),_=(0,x.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof k()&&k()(_);const S=_.exports},4378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>b});var i=n(281),r=n(1336);const o={name:\"NcEllipsisedOption\",components:{NcHighlight:i.default},props:{name:{type:String,default:\"\"},search:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,r.Z)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}};var a=n(3379),s=n.n(a),l=n(7795),c=n.n(l),u=n(569),d=n.n(u),p=n(3565),A=n.n(p),m=n(9216),h=n.n(m),f=n(4589),v=n.n(f),g=n(436),C={};C.styleTagTransform=v(),C.setAttributes=A(),C.insert=d().bind(null,\"head\"),C.domAPI=c(),C.insertStyleElement=h();s()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;const b=(0,n(1900).Z)(o,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"NcHighlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"NcHighlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"3daafbe0\",null).exports},3335:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcEmptyContent\",props:{title:{type:String,default:\"\"},description:{type:String,default:\"\"}},computed:{hasTitle:function(){return\"\"!==this.title},hasDescription:function(){return\"\"!==this.description}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(3300),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9258),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"empty-content\",attrs:{role:\"note\"}},[t.$slots.icon?e(\"div\",{staticClass:\"empty-content__icon\",attrs:{\"aria-hidden\":\"true\"}},[t._t(\"icon\")],2):t._e(),t._v(\" \"),t._t(\"title\",(function(){return[t.hasTitle?e(\"h2\",{staticClass:\"empty-content__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]):t._e()]})),t._v(\" \"),t.hasDescription?e(\"p\",[t._v(\"\\n\\t\\t\"+t._s(t.description)+\"\\n\\t\")]):t._e(),t._v(\" \"),t.$slots.action?e(\"div\",{staticClass:\"empty-content__action\"},[t._t(\"action\")],2):t._e()],2)}),[],!1,null,\"04d732c3\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},281:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>A});var i=n(1336);function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==r(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===r(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const l={name:\"NcHighlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:(0,i.Z)(this.text,this.search),e.forEach((function(t,n){t.end<t.start&&(e[n]={start:t.end,end:t.start})})),e=e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[]),e.sort((function(t,e){return t.start-e.start})),e=e.reduce((function(t,e){if(t.length){var n=t.length-1;t[n].end>=e.start?t[n]={start:t[n].start,end:Math.max(t[n].end,e.end)}:t.push(e)}else t.push(e);return t}),[]),e):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.slice(e,i.start)}),e=i.start):(t.push(a(a({},i),{},{highlight:!0,text:this.text.slice(i.start,i.end)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.slice(e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}};var c=n(1900),u=n(6274),d=n.n(u),p=(0,c.Z)(l,undefined,undefined,!1,null,null,null);\"function\"==typeof d()&&d()(p);const A=p.exports},6388:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i=require(\"@skjnldsv/sanitize-svg\");function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(){o=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},a=\"function\"==typeof Symbol?Symbol:{},s=a.iterator||\"@@iterator\",l=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,s,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,s)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function o(i,a,s,l){var c=p(t[i],t,a);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==r(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){o(\"next\",t,s,l)}),(function(t){o(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return o(\"throw\",t,s,l)}))}l(c.arg)}var a;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){o(t,n,e,i)}))}return a=a?a.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[s];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,s,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function a(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function s(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function s(t){a(o,i,r,s,l,\"next\",t)}function l(t){a(o,i,r,s,l,\"throw\",t)}s(void 0)}))}}const l={name:\"NcIconSvgWrapper\",props:{svg:{type:String,default:\"\"},title:{type:String,default:\"\"}},data:function(){return{cleanSvg:\"\"}},beforeMount:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.sanitizeSVG();case 2:case\"end\":return e.stop()}}),e)})))()},methods:{sanitizeSVG:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.svg){e.next=2;break}return e.abrupt(\"return\");case 2:return e.next=4,(0,i.sanitizeSVG)(t.svg);case 4:t.cleanSvg=e.sent;case 5:case\"end\":return e.stop()}}),e)})))()}}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(5635),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(1287),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this;return(0,t._self._c)(\"span\",{staticClass:\"icon-vue\",attrs:{role:\"img\",\"aria-hidden\":!t.title,\"aria-label\":t.title},domProps:{innerHTML:t._s(t.cleanSvg)}})}),[],!1,null,\"5bf5fa74\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},6750:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});var i=n(8091),r=n(281),o=n(6388),a=n(3351);const s={name:\"NcListItemIcon\",components:{NcAvatar:i.default,NcHighlight:r.default,NcIconSvgWrapper:o.default},mixins:[a.iQ],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},iconSvg:{type:String,default:\"\"},iconTitle:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasIconSvg:function(){return\"\"!==this.iconSvg},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},l=s;var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(808),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(8488),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this,e=t._self._c;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"NcAvatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"NcAvatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"NcHighlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"NcHighlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\",(function(){return[t.hasIconSvg?e(\"NcIconSvgWrapper\",{staticClass:\"option__icon\",attrs:{svg:t.iconSvg,title:t.iconTitle}}):t.hasIcon?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon,attrs:{\"aria-label\":t.iconTitle}}):t._e()]}))],2)}),[],!1,null,\"4f3daf70\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},5378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcLoadingIcon\",props:{size:{type:Number,default:20},appearance:{type:String,validator:function(t){return[\"auto\",\"light\",\"dark\"].includes(t)},default:\"auto\"},title:{type:String,default:\"\"}},computed:{colors:function(){var t=[\"#777\",\"#CCC\"];return\"light\"===this.appearance?t:\"dark\"===this.appearance?t.reverse():[\"var(--color-loading-light)\",\"var(--color-loading-dark)\"]}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(5030),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9280),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"material-design-icon loading-icon\",attrs:{\"aria-label\":t.title,role:\"img\"}},[e(\"svg\",{attrs:{width:t.size,height:t.size,viewBox:\"0 0 24 24\"}},[e(\"path\",{attrs:{fill:t.colors[0],d:\"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z\"}}),t._v(\" \"),e(\"path\",{attrs:{fill:t.colors[1],d:\"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z\"}},[t.title?e(\"title\",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,\"c4a9cada\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},1373:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>K});var i=n(7645),r=n(1206),o=n(932),a=n(1205),s=n(3648),l=n(4891),c=n(9104);function u(t,e){var n,i,r,o=e;this.start=function(){r=!0,i=new Date,n=setTimeout(t,o)},this.pause=function(){r=!1,clearTimeout(n),o-=new Date-i},this.clear=function(){r=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return r&&(this.pause(),this.start()),o},this.getStateRunning=function(){return r},this.start()}var d=n(336);const p=require(\"vue-material-design-icons/ChevronLeft.vue\");var A=n.n(p),m=n(9044),h=n.n(m),f=n(8618),v=n.n(f);const g=require(\"vue-material-design-icons/Pause.vue\");var C=n.n(g);const b=require(\"vue-material-design-icons/Play.vue\");var y=n.n(b),x=n(4505),w=n(2640),k=n.n(w);function _(t){return _=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_(t)}function S(){S=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function B(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function j(t){return function(t){if(Array.isArray(t))return E(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return E(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const N={name:\"NcModal\",components:{NcActions:l.default,ChevronLeft:A(),ChevronRight:h(),Close:v(),Pause:C(),Play:y(),NcButton:c.default},directives:{tooltip:d.default},mixins:[s.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:[String,null],default:\"body\"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:function(){return[]}},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0}},emits:[\"previous\",\"next\",\"close\",\"update:show\"],data:function(){return{mc:null,playing:!1,slideshowTimeout:null,iconSize:24,focusTrap:null,randId:(0,a.Z)(),internalShow:!0}},computed:{showModal:function(){return void 0===this.show?this.internalShow:this.show},modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,o.t)(\"Pause slideshow\"):(0,o.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}},closeButtonAriaLabel:function(){return(0,o.t)(\"Close modal\")},prevButtonAriaLabel:function(){return(0,o.t)(\"Previous\")},nextButtonAriaLabel:function(){return(0,o.t)(\"Next\")}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements:function(t){if(this.focusTrap){var e=this.$refs.mask;this.focusTrap.updateContainerElements([e].concat(j(t)))}}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;(this.useFocusTrap(),this.mc=new(k())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),this.container)&&(\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed:function(){this.clearFocusTrap(),this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.internalShow=!1,this.$emit(\"update:show\",!1),setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new u((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()},useFocusTrap:function(){var t,e=this;return(t=S().mark((function t(){var n;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.showModal&&!e.focusTrap){t.next=2;break}return t.abrupt(\"return\");case 2:return n=e.$refs.mask,t.next=5,e.$nextTick();case 5:e.focusTrap=(0,x.createFocusTrap)(n,{allowOutsideClick:!0,trapStack:(0,r.L)()}),e.focusTrap.activate();case 7:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){B(o,i,r,a,s,\"next\",t)}function s(t){B(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t;this.focusTrap&&(null===(t=this.focusTrap)||void 0===t||t.deactivate(),this.focusTrap=null)}}};var P=n(3379),z=n.n(P),O=n(7795),D=n.n(O),T=n(569),L=n.n(T),I=n(3565),$=n.n(I),G=n(9216),M=n.n(G),U=n(4589),F=n.n(U),R=n(4167),Z={};Z.styleTagTransform=F(),Z.setAttributes=$(),Z.insert=L().bind(null,\"head\"),Z.domAPI=D(),Z.insertStyleElement=M();z()(R.Z,Z);R.Z&&R.Z.locals&&R.Z.locals;var q=n(1900),W=n(9989),Y=n.n(W),V=(0,q.Z)(N,(function(){var t=this,e=t._self._c;return e(\"transition\",{attrs:{name:\"fade\",appear:\"\"},on:{\"after-enter\":t.useFocusTrap,\"before-leave\":t.clearFocusTrap}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,attrs:{role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"modal-title-\"+t.randId,\"aria-describedby\":\"modal-description-\"+t.randId}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"div\",{staticClass:\"modal-header\"},[\"\"!==t.title.trim()?e(\"h2\",{staticClass:\"modal-title\",attrs:{id:\"modal-title-\"+t.randId}},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?e(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize}}):e(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize}}),t._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),e(\"NcActions\",{staticClass:\"header-actions\",attrs:{inline:t.inlineActions}},[t._t(\"actions\")],2),t._v(\" \"),t.canClose&&!t.closeButtonContained?e(\"NcButton\",{staticClass:\"header-close\",attrs:{\"aria-label\":t.closeButtonAriaLabel,type:\"tertiary\"},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:t.iconSize}})]},proxy:!0}],null,!1,1841713362)}):t._e()],1)])]),t._v(\" \"),e(\"transition\",{attrs:{name:t.modalTransitionName,appear:\"\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\".concat(t.size),t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close.apply(null,arguments)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious,expression:\"hasPrevious\"}],staticClass:\"prev\",class:{invisible:!t.hasPrevious},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.prevButtonAriaLabel},on:{click:t.previous},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronLeft\",{attrs:{size:40}})]},proxy:!0}])})],1),t._v(\" \"),e(\"div\",{staticClass:\"modal-container\",attrs:{id:\"modal-description-\"+t.randId}},[t._t(\"default\"),t._v(\" \"),t.canClose&&t.closeButtonContained?e(\"NcButton\",{staticClass:\"modal-container__close\",attrs:{type:\"tertiary\",\"aria-label\":t.closeButtonAriaLabel},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],2),t._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext,expression:\"hasNext\"}],staticClass:\"next\",class:{invisible:!t.hasNext},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.nextButtonAriaLabel},on:{click:t.next},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronRight\",{attrs:{size:40}})]},proxy:!0}])})],1)],1)])],1)])}),[],!1,null,\"1350db4f\",null);\"function\"==typeof Y()&&Y()(V);const H=V.exports;(0,i.Z)(H);const K=H},2917:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>z});var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(636),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f);h.Z&&h.Z.locals&&h.Z.locals;var v=n(4378),g=n(6750),C=n(5378),b=n(336),y=n(3648);const x=require(\"vue-multiselect\");var w=n.n(x);function k(t){return k=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},k(t)}const _={name:\"NcMultiselect\",components:{NcEllipsisedOption:v.default,NcListItemIcon:g.default,NcLoadingIcon:C.default,VueMultiselect:w()},directives:{tooltip:b.default},mixins:[y.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},emits:[\"change\",\"update:value\"],data:function(){return{elWidth:0,ariaExpanded:!1}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==k(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===k(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},S=_;var B=n(1900),j=n(6049),E=n.n(j),N=(0,B.Z)(S,(function(){var t=this,e=t._self._c;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,loading:t.loading,\"aria-expanded\":t.ariaExpanded.toString(),\"close-on-select\":t.willCloseOnSelect,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},on:{close:function(e){t.ariaExpanded=!1},open:function(e){t.ariaExpanded=!0}},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"NcListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"NcListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"NcEllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),search:n.search}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[t._t(\"noResult\",(function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]}))]},proxy:!0},{key:\"loading\",fn:function(){return[t.loading?e(\"NcLoadingIcon\"):t._e()]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof E()&&E()(N);const P=N.exports;(0,n(7645).Z)(P);const z=P},5825:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>E});var i=n(9454),r=n(4505),o=n(1206);function a(t){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},a(t)}function s(){s=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",l=r.asyncIterator||\"@@asyncIterator\",c=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,s,l){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==a(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,s,l)}),(function(t){r(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r(\"throw\",t,s,l)}))}l(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function l(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const c={name:\"NcPopover\",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var t,e=this;return(t=s().mark((function t(){var n,i,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$nextTick();case 2:if(e.focusTrap){t.next=4;break}return t.abrupt(\"return\");case 4:if(a=null===(n=e.$refs.popover)||void 0===n||null===(i=n.$refs.popperContent)||void 0===i?void 0:i.$el){t.next=7;break}return t.abrupt(\"return\");case 7:e.$focusTrap=(0,r.createFocusTrap)(a,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:e.setReturnFocus,trapStack:(0,o.L)()}),e.$focusTrap.activate();case 9:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){l(o,i,r,a,s,\"next\",t)}function s(t){l(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var e;null===(e=this.$focusTrap)||void 0===e||e.deactivate(t),this.$focusTrap=null}catch(t){console.warn(t)}},afterShow:function(){var t=this;this.$nextTick((function(){t.$emit(\"after-show\"),t.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=n(3379),p=n.n(d),A=n(7795),m=n.n(A),h=n(569),f=n.n(h),v=n(3565),g=n.n(v),C=n(9216),b=n.n(C),y=n(4589),x=n.n(y),w=n(4401),k={};k.styleTagTransform=x(),k.setAttributes=g(),k.insert=f().bind(null,\"head\"),k.domAPI=m(),k.insertStyleElement=b();p()(w.Z,k);w.Z&&w.Z.locals&&w.Z.locals;var _=n(1900),S=n(2405),B=n.n(S),j=(0,_.Z)(u,(function(){var t=this;return(0,t._self._c)(\"Dropdown\",t._g(t._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":t.popoverBaseClass},on:{\"apply-show\":t.afterShow,\"apply-hide\":t.afterHide},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof B()&&B()(j);const E=j.exports},306:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i={name:\"NcPopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8369),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(408),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=c().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=A();o()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900);const y={name:\"NcPopoverMenu\",components:{NcPopoverMenuItem:(0,b.Z)(i,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,r=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",r)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"127b0c62\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}};var x=n(2),w={};w.styleTagTransform=h(),w.setAttributes=d(),w.insert=c().bind(null,\"head\"),w.domAPI=s(),w.insertStyleElement=A();o()(x.Z,w);x.Z&&x.Z.locals&&x.Z.locals;var k=n(1174),_=n.n(k),S=(0,b.Z)(y,(function(){var t=this,e=t._self._c;return e(\"ul\",{staticClass:\"popover__menu\"},t._l(t.menu,(function(t,n){return e(\"NcPopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"31ffd2d4\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},2611:(t,e,n)=>{\"use strict\";n.d(e,{getLinkWithPicker:()=>Ee,searchProvider:()=>yt});window._vue_richtext_widgets||(window._vue_richtext_widgets={});window._registerWidget=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){};window._vue_richtext_widgets[t]?console.error(\"Widget for id \"+t+\" already registered\"):window._vue_richtext_widgets[t]={id:t,callback:e,onDestroy:n}};const i={name:\"NcReferenceWidget\",props:{reference:{type:Object,required:!0}},data:function(){return{compact:3}},computed:{hasCustomWidget:function(){return t=this.reference.richObjectType,!!window._vue_richtext_widgets[t];var t},noAccess:function(){return this.reference&&!this.reference.accessible},descriptionStyle:function(){if(0===this.compact)return{display:\"none\"};var t=this.compact<4?this.compact:3;return{lineClamp:t,webkitLineClamp:t}},compactLink:function(){var t=this.reference.openGraphObject.link;return t?t.startsWith(\"https://\")?t.substring(8):t.startsWith(\"http://\")?t.substring(7):t:\"\"}},mounted:function(){var t=this;this.renderWidget(),this.observer=new ResizeObserver((function(e){e[0].contentRect.width<450?t.compact=0:e[0].contentRect.width<550?t.compact=1:e[0].contentRect.width<650?t.compact=2:t.compact=3})),this.observer.observe(this.$el)},beforeDestroy:function(){var t,e;this.observer.disconnect(),t=this.reference.richObjectType,e=this.$el,\"open-graph\"!==t&&window._vue_richtext_widgets[t]&&window._vue_richtext_widgets[t].onDestroy(e)},methods:{renderWidget:function(){var t,e=this;this.$refs.customWidget&&(this.$refs.customWidget.innerHTML=\"\"),\"open-graph\"!==(null==this||null===(t=this.reference)||void 0===t?void 0:t.richObjectType)&&this.$nextTick((function(){var t,n,i,r,o;t=e.$refs.customWidget,n=e.reference,i=n.richObjectType,r=n.richObject,o=n.accessible,\"open-graph\"!==i&&(window._vue_richtext_widgets[i]?window._vue_richtext_widgets[i].callback(t,{richObjectType:i,richObject:r,accessible:o}):console.error(\"Widget for rich object type \"+i+\" not registered\"))}))}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(1880),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900);const C=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",[t.reference&&t.hasCustomWidget?e(\"div\",{staticClass:\"widget-custom\"},[e(\"div\",{ref:\"customWidget\"})]):!t.noAccess&&t.reference&&t.reference.openGraphObject&&!t.hasCustomWidget?e(\"a\",{staticClass:\"widget-default\",attrs:{href:t.reference.openGraphObject.link,rel:\"noopener noreferrer\",target:\"_blank\"}},[t.reference.openGraphObject.thumb?e(\"img\",{staticClass:\"widget-default--image\",attrs:{src:t.reference.openGraphObject.thumb}}):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"widget-default--details\"},[e(\"p\",{staticClass:\"widget-default--title\"},[t._v(t._s(t.reference.openGraphObject.name))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--description\",style:t.descriptionStyle},[t._v(t._s(t.reference.openGraphObject.description))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--link\"},[t._v(t._s(t.compactLink))])])]):t._e()])}),[],!1,null,\"4be6aca8\",null).exports;var b=/(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/gi,y=/(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/gi,x=n(768),w=n.n(x),k=n(4262);const _={name:\"NcReferenceList\",components:{NcReferenceWidget:C},props:{text:{type:String,default:\"\"},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data:function(){return{references:null,loading:!0}},computed:{isVisible:function(){return this.loading||this.displayedReferences},values:function(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference:function(){var t;return null!==(t=this.values[0])&&void 0!==t?t:null},displayedReferences:function(){return this.values.slice(0,this.limit)}},watch:{text:\"fetch\"},mounted:function(){this.fetch()},methods:{fetch:function(){var t=this;this.loading=!0,this.referenceData?this.loading=!1:new RegExp(b).exec(this.text)?this.resolve().then((function(e){t.references=e.data.ocs.data.references,t.loading=!1})).catch((function(e){console.error(\"Failed to extract references\",e),t.loading=!1})):this.loading=!1},resolve:function(){var t=new RegExp(b).exec(this.text.trim());return 1===this.limit&&t?w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\".concat(encodeURIComponent(t[0]))):w().post((0,k.generateOcsUrl)(\"references/extract\",2),{text:this.text,resolve:!0,limit:this.limit})}}};var S=n(122),B={};B.styleTagTransform=h(),B.setAttributes=d(),B.insert=c().bind(null,\"head\"),B.domAPI=s(),B.insertStyleElement=A();o()(S.Z,B);S.Z&&S.Z.locals&&S.Z.locals;const j=(0,g.Z)(_,(function(){var t=this,e=t._self._c;return t.isVisible?e(\"div\",{staticClass:\"widgets--list\",class:{\"icon-loading\":t.loading}},t._l(t.displayedReferences,(function(t){var n;return e(\"div\",{key:null==t||null===(n=t.openGraphObject)||void 0===n?void 0:n.id},[e(\"NcReferenceWidget\",{attrs:{reference:t}})],1)})),0):t._e()}),[],!1,null,\"36a4d5cc\",null).exports,E=require(\"unist-util-visit\"),N=require(\"unist-builder\");function P(t){return function(t){if(Array.isArray(t))return z(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return z(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var O={name:\"NcLink\",props:{href:{type:String,required:!0}},render:function(t){return t(\"a\",{attrs:{href:this.href,rel:\"noopener noreferrer\",target:\"_blank\",class:\"rich-text--external-link\"}},[this.href.trim()])}},D=function(t){var e=t.autolink,n=t.useMarkdown;return function(t){n&&e&&(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i,r=T(t.value);return r=r.map((function(t){return\"string\"==typeof t?(0,N.u)(\"text\",t):(0,N.u)(\"link\",{url:t.props.href},[(0,N.u)(\"text\",t.props.href)])})).filter((function(t){return t})),(i=n.children).splice.apply(i,[e,1].concat(P(r.flat()))),[E.SKIP,e+r.flat().length]}))}},T=function(t){for(var e=y.exec(t),n=[],i=0;null!==e;){var r=e[2],o=void 0,a=t.substring(i,e.index+e[1].length);\" \"===r[0]&&(a+=r[0],r=r.substring(1).trim());var s=r[r.length-1];(\".\"===s||\",\"===s||\";\"===s||\"(\"===e[0][0]&&\")\"===s)&&(r=r.substring(0,r.length-1),o=s),n.push(a),n.push({component:O,props:{href:r}}),o&&n.push(o),i=e.index+e[0].length,e=y.exec(t)}return n.push(t.substring(i)),t===n.map((function(t){return\"string\"==typeof t?t:t.props.href})).join(\"\")?n:(console.error(\"Failed to reassemble the chunked text: \"+t),t)};function L(t){return function(t){if(Array.isArray(t))return G(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||$(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function I(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var i,r,o,a,s=[],l=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(t){c=!0,r=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw r}}return s}}(t,e)||$(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function $(t,e){if(t){if(\"string\"==typeof t)return G(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G(t,e):void 0}}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var M=function(){return function(t){(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i=t.value.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(t,e,n){var i=t.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!i)return(0,N.u)(\"text\",t);var r=I(i,2)[1];return(0,N.u)(\"element\",{tagName:\"#\".concat(r)})}));t=(0,N.u)(\"element\",{tagName:\"span\"},L(i)),n.children[e]=t}))}};const U=require(\"unified\"),F=require(\"remark-parse\");var R=n.n(F);const Z=require(\"remark-breaks\");var q=n.n(Z);const W=require(\"remark-rehype\");var Y=n.n(W);const V=require(\"rehype-react\");var H=n.n(V);const K=require(\"remark-external-links\");var Q=n.n(K);function J(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function X(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?J(Object(n),!0).forEach((function(e){tt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function tt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==et(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==et(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===et(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function et(t){return et=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},et(t)}const nt={name:\"NcRichText\",components:{NcReferenceList:j},props:{text:{type:String,default:\"\"},arguments:{type:Object,default:function(){return{}}},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:function(){return{a:\"rich-text--external-link\",ol:\"rich-text--ordered-list\",ul:\"rich-text--un-ordered-list\",li:\"rich-text--list-item\",strong:\"rich-text--strong\",em:\"rich-text--italic\",h1:\"rich-text--heading rich-text--heading-1\",h2:\"rich-text--heading rich-text--heading-2\",h3:\"rich-text--heading rich-text--heading-3\",h4:\"rich-text--heading rich-text--heading-4\",h5:\"rich-text--heading rich-text--heading-5\",h6:\"rich-text--heading rich-text--heading-6\",hr:\"rich-text--hr\",table:\"rich-text--table\",pre:\"rich-text--pre\",code:\"rich-text--code\",blockquote:\"rich-text--blockquote\"}}},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext:function(t){var e=this,n=this.text.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(n,i,r){var o=n.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!o)return function(t,e){var n=t.h;return t.context.autolink&&(e=T(e)),Array.isArray(e)?e.map((function(t){if(\"string\"==typeof t)return t;var e=t.component,i=t.props,r=\"NcLink\"===e.name?void 0:\"rich-text--component\";return n(e,{props:i,class:r})})):e}({h:t,context:e},n);var a=o[1],s=e.arguments[a];if(\"object\"===et(s)){var l=s.component,c=s.props;return t(l,{props:c,class:\"rich-text--component\"})}return s?t(\"span\",{class:\"rich-text--fallback\"},s):n}));return t(\"div\",{class:\"rich-text--wrapper\"},[t(\"div\",{},n.flat()),this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown:function(t){var e=this,n=(0,U.unified)().use(R()).use(D,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(Q(),{target:\"_blank\",rel:[\"noopener noreferrer\"]}).use(q()).use(Y(),{handlers:{component:function(t,e){return t(e,e.component,{value:e.value})}}}).use(M).use(H(),{createElement:function(n,i,r){if(!n.startsWith(\"#\"))return t(n,i,r);var o=e.arguments[n.slice(1)];return o?o.component?t(o.component,{attrs:i,props:o.props,class:\"rich-text--component\"},r):t(\"span\",i,[o]):t(\"span\",X(X({},{attrs:i}),{class:\"rich-text--fallback\"}),[\"{\".concat(n.slice(1),\"}\")])},prefix:!1}).processSync(this.text).result;return t(\"div\",{class:\"rich-text--wrapper\"},[n,this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])}},render:function(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},it=nt;var rt=n(7856),ot={};ot.styleTagTransform=h(),ot.setAttributes=d(),ot.insert=c().bind(null,\"head\"),ot.domAPI=s(),ot.insertStyleElement=A();o()(rt.Z,ot);rt.Z&&rt.Z.locals&&rt.Z.locals;var at=n(3407),st=n.n(at),lt=(0,g.Z)(it,undefined,undefined,!1,null,\"57480046\",null);\"function\"==typeof st()&&st()(lt);lt.exports;window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});var ct=function(t){return!!window._vue_richtext_custom_picker_elements[t]};window._registerCustomPickerElement=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"large\";window._vue_richtext_custom_picker_elements[t]?console.error(\"Custom reference picker element for id \"+t+\" already registered\"):window._vue_richtext_custom_picker_elements[t]={id:t,callback:e,onDestroy:n,size:i}};const ut={name:\"NcCustomPickerElement\",props:{provider:{type:Object,required:!0}},emits:[\"cancel\",\"submit\"],data:function(){return{isRegistered:ct(this.provider.id),renderResult:null}},mounted:function(){this.isRegistered&&this.renderElement()},beforeDestroy:function(){var t,e,n;this.isRegistered&&(t=this.provider.id,e=this.$el,n=this.renderResult,window._vue_richtext_custom_picker_elements[t]&&window._vue_richtext_custom_picker_elements[t].onDestroy(e,n))},methods:{renderElement:function(){var t=this;this.$refs.domElement&&(this.$refs.domElement.innerHTML=\"\");var e=function(t,e){var n=e.providerId,i=e.accessible;if(window._vue_richtext_custom_picker_elements[n])return window._vue_richtext_custom_picker_elements[n].callback(t,{providerId:n,accessible:i});console.error(\"Custom reference picker element for reference provider ID \"+n+\" not registered\")}(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then((function(e){var n,i;t.renderResult=e,null!==(n=t.renderResult.object)&&void 0!==n&&n._isVue&&null!==(i=t.renderResult.object)&&void 0!==i&&i.$on&&(t.renderResult.object.$on(\"submit\",t.onSubmit),t.renderResult.object.$on(\"cancel\",t.onCancel)),t.renderResult.element.addEventListener(\"submit\",(function(e){t.onSubmit(e.detail)})),t.renderResult.element.addEventListener(\"cancel\",t.onCancel)}))},onSubmit:function(t){this.$emit(\"submit\",t)},onCancel:function(){this.$emit(\"cancel\")}}};var dt=n(9425),pt={};pt.styleTagTransform=h(),pt.setAttributes=d(),pt.insert=c().bind(null,\"head\"),pt.domAPI=s(),pt.insertStyleElement=A();o()(dt.Z,pt);dt.Z&&dt.Z.locals&&dt.Z.locals;const At=(0,g.Z)(ut,(function(){return(0,this._self._c)(\"div\",{ref:\"domElement\"})}),[],!1,null,\"60e96d80\",null).exports;var mt=n(932),ht=n(733),ft=\"any-link\",vt={id:ft,title:(0,mt.t)(\"Any link\"),icon_url:(0,k.imagePath)(\"core\",\"filetypes/link.svg\")};function gt(t){return t===ft?vt:Ct().find((function(e){return e.id===t}))}function Ct(){return window._vue_richtext_reference_providers.filter((function(t){var e=!!t.search_providers_ids&&t.search_providers_ids.length>0||ct(t.id);return e||console.debug(\"[smart picker]\",t.id,\"reference provider is discoverable but does not have any related search provider or custom picker component registered\"),e}))}function bt(t){var e=window._vue_richtext_reference_provider_timestamps;return t.sort((function(t,e){return t.order===e.order?0:t.order>e.order?1:-1})).sort((function(t,n){var i=e[t.id],r=e[n.id];return i===r?0:void 0===r?-1:void 0===i?1:i>r?-1:1}))}function yt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=Ct(),i=t.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),r=new RegExp(i,\"i\"),o=bt(n),a=o.filter((function(t){return t.title.match(r)})),s=e?a.slice(0,e):a;return\"\"!==t&&0!==s.length||s.push(vt),s}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,ht.loadState)(\"core\",\"reference-provider-list\",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,ht.loadState)(\"core\",\"reference-provider-timestamps\",{}));var xt=0;function wt(t,e){return function(){var n=this,i=arguments;clearTimeout(xt),xt=setTimeout((function(){t.apply(n,i)}),e||0)}}function kt(t){try{return Boolean(new URL(t))}catch(t){return!1}}var _t=n(3335),St=n(281),Bt=n(2917);const jt=require(\"vue-material-design-icons/LinkVariant.vue\");var Et=n.n(jt);function Nt(t){return function(t){if(Array.isArray(t))return Pt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const zt={name:\"NcProviderList\",components:{NcMultiselect:Bt.default,NcHighlight:St.default,NcEmptyContent:_t.default,LinkVariantIcon:Et()},emits:[\"select-provider\",\"submit\"],data:function(){return{selectedProvider:null,query:\"\",multiselectPlaceholder:(0,mt.t)(\"Select provider\")}},computed:{options:function(){var t=[];return\"\"!==this.query&&kt(this.query)&&t.push({id:this.query,title:this.query,isLink:!0}),t.push.apply(t,Nt(yt(this.query))),t}},methods:{focus:function(){var t=this;this.$nextTick((function(){var e,n;null===(e=t.$refs[\"provider-select\"])||void 0===e||null===(n=e.$el)||void 0===n||n.focus()}))},onProviderSelected:function(t){null!==t&&(t.isLink?this.$emit(\"submit\",t.title):this.$emit(\"select-provider\",t),this.selectedProvider=null)}}};var Ot=n(4091),Dt={};Dt.styleTagTransform=h(),Dt.setAttributes=d(),Dt.insert=c().bind(null,\"head\"),Dt.domAPI=s(),Dt.insertStyleElement=A();o()(Ot.Z,Dt);Ot.Z&&Ot.Z.locals&&Ot.Z.locals;const Tt=(0,g.Z)(zt,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"provider-list\"},[e(\"NcMultiselect\",{ref:\"provider-select\",staticClass:\"provider-list--select\",attrs:{\"track-by\":\"id\",label:\"title\",placeholder:t.multiselectPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!0,\"preserve-search\":!0,\"option-height\":44},on:{\"search-change\":function(e){t.query=e},input:t.onProviderSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isLink?e(\"div\",{staticClass:\"provider\"},[e(\"LinkVariantIcon\",{staticClass:\"link-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",[t._v(t._s(i.title))])],1):e(\"div\",{staticClass:\"provider\"},[e(\"img\",{staticClass:\"provider-icon\",attrs:{src:i.icon_url}}),t._v(\" \"),e(\"NcHighlight\",{staticClass:\"option-text\",attrs:{search:t.query,text:i.title}})],1)]}}]),model:{value:t.selectedProvider,callback:function(e){t.selectedProvider=e},expression:\"selectedProvider\"}}),t._v(\" \"),e(\"NcEmptyContent\",{staticClass:\"provider-list--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"51a83e19\",null).exports;var Lt=n(5378),It=n(4941);const $t={name:\"NcRawLinkInput\",components:{LinkVariantIcon:Et(),NcEmptyContent:_t.default,NcLoadingIcon:Lt.default,NcReferenceWidget:C,NcTextField:It.default},props:{provider:{type:Object,required:!0}},emits:[\"submit\"],data:function(){return{inputValue:\"\",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,mt.t)(\"Enter link\")}},computed:{isLinkValid:function(){return kt(this.inputValue)}},methods:{focus:function(){var t;null===(t=this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0])||void 0===t||t.focus()},onSubmit:function(t){var e=t.target.value;this.isLinkValid&&this.$emit(\"submit\",e)},onClear:function(){this.inputValue=\"\",this.reference=null},onInput:function(){var t=this;this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&wt((function(){t.updateReference()}),500)()},updateReference:function(){var t=this;this.loading=!0,this.abortController=new AbortController,w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\"+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((function(e){t.reference=e.data.ocs.data.references[t.inputValue]})).catch((function(t){console.error(t)})).then((function(){t.loading=!1}))}}};var Gt=n(6068),Mt={};Mt.styleTagTransform=h(),Mt.setAttributes=d(),Mt.insert=c().bind(null,\"head\"),Mt.domAPI=s(),Mt.insertStyleElement=A();o()(Gt.Z,Mt);Gt.Z&&Gt.Z.locals&&Gt.Z.locals;const Ut=(0,g.Z)($t,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"raw-link\"},[e(\"div\",{staticClass:\"input-wrapper\"},[e(\"NcTextField\",{ref:\"url-input\",attrs:{value:t.inputValue,\"show-trailing-button\":\"\"!==t.inputValue,label:t.inputPlaceholder},on:{\"update:value\":[function(e){t.inputValue=e},t.onInput],\"trailing-button-click\":t.onClear},nativeOn:{keyup:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.onSubmit.apply(null,arguments)}}},[t.loading?e(\"NcLoadingIcon\",{attrs:{size:16}}):e(\"LinkVariantIcon\",{attrs:{size:16}})],1)],1),t._v(\" \"),null!==t.reference?e(\"NcReferenceWidget\",{staticClass:\"reference-widget\",attrs:{reference:t.reference}}):e(\"NcEmptyContent\",{staticClass:\"raw-link--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"2e61b91c\",null).exports;function Ft(t){return Ft=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ft(t)}function Rt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==Ft(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==Ft(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===Ft(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const Zt={name:\"NcSearchResult\",components:{NcHighlight:St.default},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var qt=n(9052),Wt={};Wt.styleTagTransform=h(),Wt.setAttributes=d(),Wt.insert=c().bind(null,\"head\"),Wt.domAPI=s(),Wt.insertStyleElement=A();o()(qt.Z,Wt);qt.Z&&qt.Z.locals&&qt.Z.locals;const Yt=(0,g.Z)(Zt,(function(){var t,e=this,n=e._self._c;return n(\"div\",{staticClass:\"result\"},[e.entry.icon?n(\"div\",{staticClass:\"result--icon-class\",class:(t={},Rt(t,e.entry.icon,!0),Rt(t,\"rounded\",e.entry.rounded),t)}):n(\"img\",{staticClass:\"result--image\",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),e._v(\" \"),n(\"div\",{staticClass:\"result--content\"},[n(\"span\",{staticClass:\"result--content--title\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.title}})],1),e._v(\" \"),n(\"span\",{staticClass:\"result--content--subline\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.subline}})],1)])])}),[],!1,null,\"7297c50a\",null).exports;var Vt=n(1441),Ht=n.n(Vt);const Kt=require(\"vue-material-design-icons/Magnify.vue\");var Qt=n.n(Kt);function Jt(t){return function(t){if(Array.isArray(t))return Xt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Xt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Xt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const te={name:\"NcSearch\",components:{LinkVariantIcon:Et(),DotsHorizontalIcon:Ht(),MagnifyIcon:Qt(),NcEmptyContent:_t.default,NcMultiselect:Bt.default,NcSearchResult:Yt},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:[\"submit\"],data:function(){return{searchQuery:\"\",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null}},computed:{mySearchPlaceholder:function(){return this.searchPlaceholder||(0,mt.t)(\"Search\")},searchProviderIds:function(){return this.provider.search_providers_ids},options:function(){if(\"\"===this.searchQuery)return[];var t=[];return kt(this.searchQuery)&&t.push(this.rawLinkEntry),t.push.apply(t,Jt(this.formattedSearchResults)),t},rawLinkEntry:function(){return{resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults:function(){var t=this,e=[];return this.searchProviderIds.forEach((function(n){t.resultsBySearchProvider[n].entries.length>0&&((t.searchProviderIds.length>1||t.resultsBySearchProvider[n].entries.length>1)&&e.push({name:t.resultsBySearchProvider[n].name,isCustomGroupTitle:!0,providerId:n}),e.push.apply(e,Jt(t.resultsBySearchProvider[n].entries)),t.resultsBySearchProvider[n].isPaginated&&e.push({name:t.resultsBySearchProvider[n].name,isMore:!0,providerId:n,isLoading:t.searchingMoreOf===n}))})),e}},mounted:function(){this.resetResults()},beforeDestroy:function(){this.cancelSearchRequests()},methods:{t:mt.t,resetResults:function(){var t={};this.searchProviderIds.forEach((function(e){t[e]={entries:[]}})),this.resultsBySearchProvider=t},focus:function(){var t,e;null===(t=this.$refs[\"search-select\"])||void 0===t||null===(e=t.$el)||void 0===e||e.focus()},cancelSearchRequests:function(){this.abortController&&this.abortController.abort()},onSearchInput:function(t){var e=this;this.searchQuery=t,wt((function(){e.updateSearch()}),500)()},onSelectResultSelected:function(t){null!==t&&(t.resourceUrl?(this.cancelSearchRequests(),this.$emit(\"submit\",t.resourceUrl)):t.isMore&&this.searchMoreOf(t.providerId)),this.selectedResult=null},searchMoreOf:function(t){this.searchingMoreOf=t,this.cancelSearchRequests(),this.searchProviders(t)},updateSearch:function(){this.cancelSearchRequests(),this.resetResults(),\"\"!==this.searchQuery?this.searchProviders():this.searching=!1},searchProviders:function(){var t,e,n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.abortController=new AbortController,this.searching=!0;var r=null===i?Jt(this.searchProviderIds).map((function(t){return n.searchOneProvider(t)})):[this.searchOneProvider(i,null!==(t=null===(e=this.resultsBySearchProvider[i])||void 0===e?void 0:e.cursor)&&void 0!==t?t:null)];return Promise.allSettled(r).then((function(t){!!t.find((function(t){return\"rejected\"===t.status&&(\"CanceledError\"===t.reason.name||\"ERR_CANCELED\"===t.reason.code)}))||(n.searching=!1,n.searchingMoreOf=null)}))},searchOneProvider:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=null===n?(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}\",{providerId:t,term:this.searchQuery,limit:5}):(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\",{providerId:t,term:this.searchQuery,limit:5,cursor:n});return w().get(i,{signal:this.abortController.signal}).then((function(n){var i,r=n.data.ocs.data;e.resultsBySearchProvider[t].name=r.name,e.resultsBySearchProvider[t].cursor=r.cursor,e.resultsBySearchProvider[t].isPaginated=r.isPaginated,(i=e.resultsBySearchProvider[t].entries).push.apply(i,Jt(r.entries))}))}}},ee=te;var ne=n(2873),ie={};ie.styleTagTransform=h(),ie.setAttributes=d(),ie.insert=c().bind(null,\"head\"),ie.domAPI=s(),ie.insertStyleElement=A();o()(ne.Z,ie);ne.Z&&ne.Z.locals&&ne.Z.locals;const re=(0,g.Z)(ee,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"smart-picker-search\",class:{\"with-empty-content\":t.showEmptyContent}},[e(\"NcMultiselect\",{ref:\"search-select\",staticClass:\"smart-picker-search--select\",attrs:{\"track-by\":\"resourceUrl\",placeholder:t.mySearchPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!1,\"close-on-select\":!1,\"preserve-search\":!0,loading:t.searching,multiple:!1,\"option-height\":60},on:{\"search-change\":t.onSearchInput,input:t.onSelectResultSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isRawLink?e(\"div\",{staticClass:\"custom-option\"},[e(\"LinkVariantIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Raw link {options}\",{options:i.resourceUrl}))+\"\\n\\t\\t\\t\\t\")])],1):i.resourceUrl?e(\"NcSearchResult\",{staticClass:\"search-result\",attrs:{entry:i,query:t.searchQuery}}):i.isCustomGroupTitle?e(\"span\",{staticClass:\"custom-option group-title\"},[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon group-title-icon\",attrs:{src:t.provider.icon_url}}):t._e(),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[e(\"strong\",[t._v(t._s(i.name))])])]):i.isMore?e(\"span\",{class:{\"custom-option\":!0}},[i.isLoading?e(\"span\",{staticClass:\"option-simple-icon icon-loading-small\"}):e(\"DotsHorizontalIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t('Load more \"{options}\"\"',{options:i.name}))+\"\\n\\t\\t\\t\\t\")])],1):t._e()]}},{key:\"noOptions\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0},{key:\"noResult\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0}]),model:{value:t.selectedResult,callback:function(e){t.selectedResult=e},expression:\"selectedResult\"}}),t._v(\" \"),t.showEmptyContent?e(\"NcEmptyContent\",{staticClass:\"smart-picker-search--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}],null,!1,4245470124)}):t._e()],1)}),[],!1,null,\"26e3248c\",null).exports;var oe={providerList:1,standardLinkInput:2,searchInput:3,customElement:4};const ae={name:\"NcReferencePicker\",components:{NcCustomPickerElement:At,NcProviderList:Tt,NcRawLinkInput:Ut,NcSearch:re},props:{initialProvider:{type:Object,default:function(){return null}},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:[\"cancel\",\"cancel-raw-link\",\"cancel-search\",\"provider-selected\",\"submit\"],data:function(){return{MODES:oe,selectedProvider:this.initialProvider}},computed:{mode:function(){return null===this.selectedProvider?oe.providerList:ct(this.selectedProvider.id)?oe.customElement:this.selectedProvider.search_providers_ids?oe.searchInput:oe.standardLinkInput},pickerWrapperStyle:function(){return{width:this.width?this.width+\"px\":void 0}}},mounted:function(){var t=this;this.focusOnCreate&&(this.initialProvider?setTimeout((function(){var e;null===(e=t.$refs[\"url-input\"])||void 0===e||e.focus()}),300):this.$nextTick((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()})))},methods:{onEscapePressed:function(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected:function(t){var e=this;this.selectedProvider=t,this.$emit(\"provider-selected\",t),this.$nextTick((function(){var t;null===(t=e.$refs[\"url-input\"])||void 0===t||t.focus()}))},cancelCustomElement:function(){this.deselectProvider()},cancelSearch:function(){var t;this.$emit(\"cancel-search\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelRawLinkInput:function(){var t;this.$emit(\"cancel-raw-link\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelProviderSelection:function(){this.$emit(\"cancel\")},submitLink:function(t){var e,n,i,r;null!==this.selectedProvider&&(e=this.selectedProvider.id,n=Math.floor(Date.now()/1e3),i={timestamp:n},r=(0,k.generateOcsUrl)(\"references/provider/{providerId}\",{providerId:e}),w().put(r,i).then((function(t){window._vue_richtext_reference_provider_timestamps[e]=n}))),this.$emit(\"submit\",t),this.deselectProvider()},deselectProvider:function(){var t=this;this.selectedProvider=null,this.$emit(\"provider-selected\",null),setTimeout((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()}),300)}}};var se=n(34),le={};le.styleTagTransform=h(),le.setAttributes=d(),le.insert=c().bind(null,\"head\"),le.domAPI=s(),le.insertStyleElement=A();o()(se.Z,le);se.Z&&se.Z.locals&&se.Z.locals;const ce=(0,g.Z)(ae,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"reference-picker\",style:t.pickerWrapperStyle,attrs:{tabindex:\"-1\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:(e.stopPropagation(),e.preventDefault(),t.onEscapePressed.apply(null,arguments))}}},[t.mode===t.MODES.providerList?e(\"NcProviderList\",{ref:\"provider-list\",on:{\"select-provider\":t.onProviderSelected,submit:t.submitLink,cancel:t.cancelProviderSelection}}):t.mode===t.MODES.standardLinkInput?e(\"NcRawLinkInput\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelRawLinkInput}}):t.mode===t.MODES.searchInput?e(\"NcSearch\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{cancel:t.cancelSearch,submit:t.submitLink}}):t.mode===t.MODES.customElement?e(\"div\",{staticClass:\"custom-element-wrapper\"},[e(\"NcCustomPickerElement\",{attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelCustomElement}})],1):t._e()],1)}),[],!1,null,\"9b2f661a\",null).exports;var ue=n(9104),de=n(1373),pe=n(542),Ae=n(6921),me=n.n(Ae),he=n(8618),fe=n.n(he);const ve={name:\"NcReferencePickerModal\",components:{NcReferencePicker:ce,NcModal:de.default,NcButton:ue.default,ArrowLeftIcon:me(),CloseIcon:fe()},props:{initialProvider:{type:Object,default:function(){return null}},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:[\"cancel\",\"submit\"],data:function(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,mt.t)(\"Back to provider selection\"),closeButtonTitle:(0,mt.t)(\"Close\"),closeButtonLabel:(0,mt.t)(\"Close Smart Picker\")}},computed:{isProviderSelected:function(){return null!==this.selectedProvider},showBackButton:function(){return null===this.initialProvider&&this.isProviderSelected},modalSize:function(){var t,e,n,i;return this.isProviderSelected&&ct(this.selectedProvider.id)?null!==(e=this.selectedProvider.id,i=null===(n=window._vue_richtext_custom_picker_elements[e])||void 0===n?void 0:n.size,t=[\"small\",\"normal\",\"large\",\"full\"].includes(i)?i:null)&&void 0!==t?t:\"large\":\"normal\"},showModalTitle:function(){return!this.isProviderSelected||!ct(this.selectedProvider.id)},modalTitle:function(){return this.isProviderSelected?this.selectedProvider.title:(0,mt.t)(\"Smart Picker\")}},mounted:function(){if(this.isInsideViewer){var t=this.$refs.modal_content;(0,pe.emit)(\"viewer:trapElements:changed\",t)}},methods:{onCancel:function(){this.show=!1,this.$emit(\"cancel\")},onSubmit:function(t){this.show=!1,this.$emit(\"submit\",t)},onProviderSelect:function(t){this.selectedProvider=t,null===t&&null!==this.initialProvider&&this.onCancel()},onBackClicked:function(){this.$refs.referencePicker.deselectProvider()}}};var ge=n(698),Ce={};Ce.styleTagTransform=h(),Ce.setAttributes=d(),Ce.insert=c().bind(null,\"head\"),Ce.domAPI=s(),Ce.insertStyleElement=A();o()(ge.Z,Ce);ge.Z&&ge.Z.locals&&ge.Z.locals;var be=n(6508),ye={};ye.styleTagTransform=h(),ye.setAttributes=d(),ye.insert=c().bind(null,\"head\"),ye.domAPI=s(),ye.insertStyleElement=A();o()(be.Z,ye);be.Z&&be.Z.locals&&be.Z.locals;const xe=(0,g.Z)(ve,(function(){var t=this,e=t._self._c;return t.show?e(\"NcModal\",{staticClass:\"reference-picker-modal\",attrs:{size:t.modalSize,\"can-close\":!1},on:{close:t.onCancel}},[e(\"div\",{ref:\"modal_content\",staticClass:\"reference-picker-modal--content\"},[t.showBackButton?e(\"NcButton\",{staticClass:\"back-button\",attrs:{\"aria-label\":t.backButtonTitle,title:t.backButtonTitle},on:{click:t.onBackClicked},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ArrowLeftIcon\")]},proxy:!0}],null,!1,3001860362)}):t._e(),t._v(\" \"),e(\"NcButton\",{staticClass:\"close-button\",attrs:{\"aria-label\":t.closeButtonLabel,title:t.closeButtonTitle},on:{click:t.onCancel},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"CloseIcon\")]},proxy:!0}],null,!1,2491825086)}),t._v(\" \"),t.showModalTitle?e(\"h2\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.modalTitle)+\"\\n\\t\\t\")]):t._e(),t._v(\" \"),e(\"NcReferencePicker\",{ref:\"referencePicker\",attrs:{\"initial-provider\":t.initialProvider,\"focus-on-create\":t.focusOnCreate},on:{\"provider-selected\":t.onProviderSelect,submit:t.onSubmit,cancel:t.onCancel}})],1)]):t._e()}),[],!1,null,\"1f66021a\",null).exports;var we=n(2734),ke=n.n(we);function _e(t){return _e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_e(t)}function Se(){Se=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_e(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function Be(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function je(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){Be(o,i,r,a,s,\"next\",t)}function s(t){Be(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}function Ee(){return Ne.apply(this,arguments)}function Ne(){return Ne=je(Se().mark((function t(){var e,n,i=arguments;return Se().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:null,n=i.length>1&&void 0!==i[1]?i[1]:void 0,t.next=4,new Promise((function(t,i){var r,o=document.createElement(\"div\");o.id=\"referencePickerModal\",document.body.append(o);var a=null===e?null:null!==(r=gt(e))&&void 0!==r?r:null,s=new(ke().extend(xe))({propsData:{initialProvider:a,isInsideViewer:n}}).$mount(o);s.$on(\"cancel\",(function(){s.$destroy(),i(new Error(\"User cancellation\"))})),s.$on(\"submit\",(function(e){s.$destroy(),t(e)}))}));case 4:return t.abrupt(\"return\",t.sent);case 5:case\"end\":return t.stop()}}),t)}))),Ne.apply(this,arguments)}},4941:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>k});var s=n(9563),l=n(8618),c=n.n(l),u=n(3875),d=n.n(u);const p=require(\"vue-material-design-icons/UndoVariant.vue\");var A=n.n(p),m=n(932);function h(t){return h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},h(t)}function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){g(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function g(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==h(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==h(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===h(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const C={name:\"NcTextField\",components:{NcInputField:s.Z,Close:c(),ArrowRight:d(),Undo:A()},inheritAttrs:!1,props:v(v({},s.Z.props),{},{trailingButtonIcon:{type:String,default:\"close\",validator:function(t){return[\"close\",\"arrowRight\",\"undo\"].includes(t)}}}),emits:[\"update:value\"],computed:{clearTextLabel:function(){return this.trailingButtonLabel||(0,m.t)(\"Clear text\")}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)}}};var b=n(1900),y=n(5439),x=n.n(y),w=(0,b.Z)(C,(function(){var t=this,e=t._self._c;return e(\"NcInputField\",t._g(t._b({ref:\"inputField\",attrs:{\"trailing-button-label\":t.clearTextLabel},on:{input:t.handleInput},scopedSlots:t._u([\"search\"!==t.type?{key:\"trailing-button-icon\",fn:function(){return[\"close\"===t.trailingButtonIcon?e(\"Close\",{attrs:{size:20}}):\"arrowRight\"===t.trailingButtonIcon?e(\"ArrowRight\",{attrs:{size:20}}):\"undo\"===t.trailingButtonIcon?e(\"Undo\",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},\"NcInputField\",o(o({},t.$attrs),t.$props),!1),t.$listeners),[t._t(\"default\")],2)}),[],!1,null,null,null);\"function\"==typeof x()&&x()(w);const k=w.exports},336:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>g});var i=n(9454),r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8384),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;i.options.themes.tooltip.html=!1,i.options.themes.tooltip.delay={show:500,hide:200},i.options.themes.tooltip.distance=10,i.options.themes.tooltip[\"arrow-padding\"]=3;const g=i.VTooltip},6540:(t,e,n)=>{\"use strict\";n.d(e,{emojiAddRecent:()=>s,emojiSearch:()=>a});var i=n(1822),r=n.n(i),o=n(9),a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=new o.EmojiIndex(r());if(t){var i=n.search(\":\".concat(t),e);return i.length<e&&(i=i.concat(n.search(t,e-i.length))),i}return o.frequently.get(e).map((function(t){return n.emoji(t)}))||[]},s=function(t){o.frequently.add(t)}},7993:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>a});var i=n(6609);const r=require(\"md5\");var o=n.n(r);const a=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=o()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return(0,i.Z)(6)[function(t,e){for(var n=0,i=[],r=0;r<t.length;r++)i.push(parseInt(t.charAt(r),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]}},932:(t,e,n)=>{\"use strict\";n.d(e,{n:()=>a,t:()=>s});var i=n(7931),r=(0,i.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura<br>\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};r.addTranslation(t.locale,{translations:{\"\":e}})}));var o=r.build(),a=o.ngettext.bind(o),s=o.gettext.bind(o)},6730:()=>{\"use strict\"},3351:(t,e,n)=>{\"use strict\";n.d(e,{iQ:()=>d});n(6730),n(8136),n(334),n(3132);var i=n(3607),r=n(768),o=n.n(r);const a=require(\"@nextcloud/capabilities\");var s=n(4262);function l(t){return l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},l(t)}function c(){c=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==l(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return r(\"throw\",t,a,s)}))}s(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,s,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function u(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const d={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=c().mark((function e(){var r,l,u,d,p,A,m,h,f;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(r=(0,a.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if((0,i.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,o().get((0,s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:l=e.sent,u=l.data,d=u.ocs.data,p=d.status,A=d.message,m=d.icon,n.userStatus.status=p,n.userStatus.message=A||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(h=e.t0.response.data.ocs)||void 0===h||null===(f=h.data)||void 0===f?void 0:f.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function a(t){u(o,i,r,a,s,\"next\",t)}function s(t){u(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()}}}},8136:()=>{\"use strict\"},334:(t,e,n)=>{\"use strict\";var i=n(2734);new(n.n(i)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}})},3648:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>r});var i=n(932);const r={methods:{n:i.n,t:i.t}}},3132:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>h});var i=n(4470),r=n(1390);const o=require(\"escape-html\");var a=n.n(o);const s=require(\"striptags\");var l=n.n(s),c=n(2734),u=n.n(c),d=\"(?:^|\\\\s)\",p=\"(?:[^a-z]|$)\",A=new RegExp(\"\".concat(d,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(p,\")\"),\"gi\"),m=new RegExp(\"\".concat(d,\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(p,\")\"),\"gi\");const h={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(A).map((function(t){return t.split(m)})).flat().map((function(t){if(!t.startsWith(\"@\"))return(0,r.Z)(t);var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){if(void 0===t)return\"\".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);var e=this.userData[t];return e?this.renderComponentHtml(e,i.Z).replace(/[\\n\\t]/gim,\"\"):t.includes(\" \")||t.includes(\"/\")?'@\"'.concat(t,'\"'):\"@\".concat(t)},renderComponentHtml:function(t,e){var n=new(u().extend(e))({propsData:t}),i=document.createElement(\"div\"),r=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(r),document.body.appendChild(i),n.$mount(r);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},1336:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t,e){for(var n=[],i=0,r=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;r>-1&&o<t.length;)i=r+e.length,n.push({start:r,end:i}),r=t.toLowerCase().indexOf(e.toLowerCase(),i),o++;return n}},6609:(t,e,n)=>{\"use strict\";function i(t,e,n){this.r=t,this.g=e,this.b=n}function r(t,e,n){var r=[];r.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),a=1;a<t;a++){var s=parseInt(e.r+o[0]*a,10),l=parseInt(e.g+o[1]*a,10),c=parseInt(e.b+o[2]*a,10);r.push(new i(s,l,c))}return r}n.d(e,{Z:()=>o});const o=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),a=r(t,e,n),s=r(t,n,o),l=r(t,o,e);return a.concat(s).concat(l)}},1205:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,t||5)}},1390:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>o});const i=require(\"linkify-string\");var r=n.n(i);const o=function(t){return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external linkified\",attributes:{rel:\"nofollow noopener noreferrer\"}})}},7645:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"caee4c9\"),\"\")}))}},1206:(t,e,n)=>{\"use strict\";n.d(e,{L:()=>i});n(4505);var i=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},636:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-caee4c9]{margin:0;padding:0 !important;display:inline-block;min-width:260px;position:relative}.multiselect[data-v-caee4c9]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-caee4c9].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-caee4c9].multiselect--disabled,.multiselect[data-v-caee4c9].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-caee4c9] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-caee4c9] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:44px;padding:8px 12px !important;background-color:var(--color-main-background);box-sizing:border-box}.multiselect[data-v-caee4c9] .multiselect__tags:focus,.multiselect[data-v-caee4c9] .multiselect__tags:hover{border-color:var(--color-primary-element)}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;gap:5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:2px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:var(--border-radius);min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:0}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__single,.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__placeholder{z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__single,.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__single *,.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__strong,.multiselect[data-v-caee4c9] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-caee4c9] .multiselect__tags input.multiselect__input{width:100% !important;height:auto !important;margin:0;opacity:0;border:none;cursor:pointer;display:none;height:40px;min-height:26px;padding:0 !important;font-size:var(--default-font-size)}.multiselect[data-v-caee4c9].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-caee4c9].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-caee4c9] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-caee4c9] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li,.multiselect[data-v-caee4c9] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span::before{content:\" \";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-caee4c9] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-caee4c9].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-caee4c9].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-caee4c9].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-dark)}.multiselect[data-v-caee4c9].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-dark);visibility:visible}.multiselect[data-v-caee4c9].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-caee4c9]:hover .multiselect__placeholder,.multiselect[data-v-caee4c9] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcMultiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CACA,2BAAA,CACA,6CAAA,CACA,qBAAA,CAEA,4GACC,yCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAzBe,CA0Bf,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,QAAA,CAGA,qGACC,aAAA,CAID,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UClGc,CDmGd,gBAjGe,CAmGf,SAAA,CAGD,yEACC,qBAAA,CACA,sBAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,YAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,kCAAA,CAQD,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UC/Lc,CDgMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCrMc,CDuMf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,2CAAA,CAMA,qHACC,qCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 260px;\\n\\tposition: relative;\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t.loading-icon {\\n\\t\\tposition: absolute;\\n\\t\\tright: 1px;\\n\\t\\ttop: 1px;\\n\\t\\twidth: 48px;\\n\\t\\theight: 35px;\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 3;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tmin-height: 44px;\\n\\t\\theight: 44px;\\n\\t\\tpadding: 8px 12px !important;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t&:focus, &:hover {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tgap: $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 2px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\theight: auto !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tdisplay: none;\\n\\t\\t\\theight: 40px;\\n\\t\\t\\tmin-height: 26px;\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t}\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-dark);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},8384:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap (http://getbootstrap.com)\\n* SCSS copied from version 3.3.5\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9286:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-3e2a42f5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-3e2a42f5]{display:flex;align-items:center}.action-items>button[data-v-3e2a42f5]{margin-right:7px}.action-item[data-v-3e2a42f5]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-3e2a42f5]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-3e2a42f5]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-3e2a42f5]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-3e2a42f5]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-3e2a42f5]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-3e2a42f5]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-3e2a42f5]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2377:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2242:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-f73be20c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-f73be20c]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-f73be20c]{position:relative;background-color:var(--color-main-background)}.avatardiv[data-v-f73be20c]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-f73be20c]{cursor:pointer}.avatardiv--with-menu[data-v-f73be20c] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-f73be20c]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-f73be20c],.avatardiv--with-menu:hover .icon-more[data-v-f73be20c]{opacity:1}.avatardiv--with-menu:focus img[data-v-f73be20c],.avatardiv--with-menu:hover img[data-v-f73be20c]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-f73be20c],.avatardiv--with-menu img[data-v-f73be20c]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-f73be20c]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-f73be20c]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-f73be20c]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-f73be20c]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-f73be20c]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-f73be20c]{background-image:url(\"+A+\")}.avatardiv .avatardiv__user-status--dnd[data-v-f73be20c]{background-image:url(\"+m+\");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-f73be20c]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-f73be20c]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-f73be20c]{position:relative;display:inline-block}.avatar-class-icon[data-v-f73be20c]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAvatar/NcAvatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White/black background for avatars with transparency\\n\\t\\tbackground-color: var(--color-main-background) !important;\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t:deep(.v-popper) {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__initials-wrapper {\\n\\t\\theight: var(--size);\\n\\t\\twidth: var(--size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.unknown {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t}\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.material-design-icon {\\n\\t\\twidth: var(--size);\\n\\t\\theight: var(--size);\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]);const f=p},1898:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},436:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-3daafbe0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-3daafbe0]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-3daafbe0]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-3daafbe0],.name-parts__last[data-v-3daafbe0]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-3daafbe0],.name-parts__last strong[data-v-3daafbe0]{font-weight:bold}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEllipsisedOption/NcEllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,cAAA,CACA,qFACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\tcursor: inherit;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tcursor: inherit;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},3300:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-04d732c3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-04d732c3]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.modal-wrapper .empty-content[data-v-04d732c3]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-04d732c3]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-04d732c3] svg{width:64px;height:64px}.empty-content__title[data-v-04d732c3]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-04d732c3]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-04d732c3]{margin-top:20px;display:flex}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEmptyContent/NcEmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,+CACC,cAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA,CAEA,uDACC,eAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t.modal-wrapper & {\\n\\t\\tmargin-top: 5vh;\\n\\t\\tmargin-bottom: 5vh;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t:deep(svg) {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\t&__action {\\n\\t\\tmargin-top: 8px;\\n\\n\\t\\t.modal-wrapper & {\\n\\t\\t\\tmargin-top: 20px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},5635:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-5bf5fa74]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-5bf5fa74]{display:flex;justify-content:center;align-items:center;width:44px;height:44px;opacity:1}.icon-vue[data-v-5bf5fa74] svg{fill:currentColor;max-width:20px;max-height:20px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.icon-vue {\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t&:deep(svg) {\\n\\t\\tfill: currentColor;\\n\\t\\tmax-width: 20px;\\n\\t\\tmax-height: 20px;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},847:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-f50b337c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-f50b337c]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-f50b337c]{height:36px;position:relative}.input-field__input[data-v-f50b337c]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-f50b337c]:active:not([disabled]),.input-field__input[data-v-f50b337c]:hover:not([disabled]),.input-field__input[data-v-f50b337c]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-f50b337c]:focus{cursor:text}.input-field__input[data-v-f50b337c]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-f50b337c]{border-color:var(--color-success) !important}.input-field__input--success[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-f50b337c]{border-color:var(--color-error) !important}.input-field__input--error[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-f50b337c]{padding-left:28px}.input-field__input--trailing-icon[data-v-f50b337c]{padding-right:28px}.input-field__label[data-v-f50b337c]{padding:4px 0;display:block}.input-field__label--hidden[data-v-f50b337c]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-f50b337c]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-f50b337c]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-f50b337c]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-f50b337c]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-f50b337c]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-f50b337c]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-f50b337c]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-f50b337c]{color:var(--color-success)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcInputField/NcInputField.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.input-field {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\tborder-radius: var(--border-radius-large);\\n\\n\\t&__main-wrapper {\\n\\t\\theight: 36px;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__input {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0 12px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t\\theight: 36px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcursor: pointer;\\n\\t\\twidth: 100%;\\n\\t\\t-webkit-appearance: textfield !important;\\n\\t\\t-moz-appearance: textfield !important;\\n\\n\\t\\t&:active:not([disabled]),\\n\\t\\t&:hover:not([disabled]),\\n\\t\\t&:focus:not([disabled]) {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\tcursor: text;\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: unset !important; // Override server rules\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tborder-color: var(--color-success) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tborder-color: var(--color-error) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--leading-icon {\\n\\t\\t\\tpadding-left: 28px;\\n\\t\\t}\\n\\n\\t\\t&--trailing-icon {\\n\\t\\t\\tpadding-right: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: block;\\n\\n\\t\\t&--hidden {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: -10000px;\\n\\t\\t\\ttop: auto;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 1px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: absolute;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: 0.7;\\n\\t\\t&--leading {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tleft: 2px;\\n\\t\\t}\\n\\n\\t\\t&--trailing {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tright: 2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__clear-button.button-vue {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 2px;\\n\\t\\tright: 1px;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tcolor: var(--color-success);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},808:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4f3daf70]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-4f3daf70]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-4f3daf70]{margin-right:var(--margin)}.option__details[data-v-4f3daf70]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-4f3daf70]{color:var(--color-main-text)}.option__linetwo[data-v-4f3daf70]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-4f3daf70],.option__linetwo strong[data-v-4f3daf70]{font-weight:bold}.option__icon[data-v-4f3daf70]{width:44px;height:44px;color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-4f3daf70]{flex:0 0 44px;opacity:.7;background-position:center;background-size:16px}.option__details[data-v-4f3daf70],.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70],.option__icon[data-v-4f3daf70]{cursor:inherit}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcListItemIcon/NcListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CACA,cAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,4BAAA,CAGD,kCACC,mCAAA,CAGD,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,UChBe,CDiBf,WCjBe,CDkBf,mCAAA,CACA,oCACC,aAAA,CACA,UCHc,CDId,0BAAA,CACA,oBAAA,CAIF,qIAIC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\tcursor: inherit;\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__linetwo {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t&.icon {\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__details,\\n\\t&__lineone,\\n\\t&__linetwo,\\n\\t&__icon {\\n\\t\\tcursor: inherit;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},5030:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.loading-icon svg{\\n\\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4167:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-1350db4f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-1350db4f]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-1350db4f]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-1350db4f]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-header.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-header .modal-title[data-v-1350db4f]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-1350db4f]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-1350db4f]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-1350db4f]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1350db4f]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons__pause[data-v-1350db4f]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-1350db4f]{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item{margin:3px}.modal-header .icons-menu[data-v-1350db4f] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-1350db4f] button{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle span,.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-1350db4f],.modal-wrapper .next[data-v-1350db4f]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-1350db4f]:focus-visible,.modal-wrapper .next[data-v-1350db4f]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .prev.invisible[style*=\"display: none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-wrapper .prev[data-v-1350db4f]{left:2px}.modal-wrapper .next[data-v-1350db4f]{right:2px}.modal-wrapper .modal-container[data-v-1350db4f]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-1350db4f]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-1350db4f]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-1350db4f]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-1350db4f]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-1350db4f]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-1350db4f]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-1350db4f],.fade-leave-active[data-v-1350db4f]{transition:opacity 250ms}.fade-enter[data-v-1350db4f],.fade-leave-to[data-v-1350db4f]{opacity:0}.fade-visibility-enter[data-v-1350db4f],.fade-visibility-leave-to[data-v-1350db4f]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-1350db4f],.modal-in-leave-active[data-v-1350db4f],.modal-out-enter-active[data-v-1350db4f],.modal-out-leave-active[data-v-1350db4f]{transition:opacity 250ms}.modal-in-enter[data-v-1350db4f],.modal-in-leave-to[data-v-1350db4f],.modal-out-enter[data-v-1350db4f],.modal-out-leave-to[data-v-1350db4f]{opacity:0}.modal-in-enter .modal-container[data-v-1350db4f],.modal-in-leave-to .modal-container[data-v-1350db4f]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-1350db4f],.modal-out-leave-to .modal-container[data-v-1350db4f]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-1350db4f]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1350db4f]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-1350db4f linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-1350db4f]{animation:breath-1350db4f 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1350db4f]{animation-play-state:paused !important}@keyframes progressring-1350db4f{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-1350db4f{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcModal/NcModal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\toverflow: hidden;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t&:deep() .action-item {\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\n\\t\\t\\t&--single {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: 22px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t:deep(button) {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&:deep(.action-item__menutoggle) {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\t// Override NcButton focus styles\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\\n\\t\\t\\tbackground-color: var(--color-box-shadow);\\n\\t\\t}\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 2px;\\n\\t}\\n\\t.next {\\n\\t\\tright: 2px;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t\\t&__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 4px;\\n\\t\\t\\tright: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 400px;\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},4401:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},2:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},408:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*=\"display:none\"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*=\"display:none\"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*=\"display:none\"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},6956:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-800c95ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-800c95ae]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-800c95ae]{color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.highlight .autocomplete-result[data-v-800c95ae],.highlight .autocomplete-result *[data-v-800c95ae]{cursor:pointer}.autocomplete-result__icon[data-v-800c95ae]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-800c95ae]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-800c95ae]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-800c95ae]{background-image:url(\"+A+\")}.autocomplete-result__status--dnd[data-v-800c95ae]{background-image:url(\"+m+\");background-color:#fff}.autocomplete-result__status--away[data-v-800c95ae]{background-image:url(\"+h+\")}.autocomplete-result__status--icon[data-v-800c95ae]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-800c95ae]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-800c95ae],.autocomplete-result__subline[data-v-800c95ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-800c95ae]{color:var(--color-text-maxcontrast)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,6CAAA,CACA,6CAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const f=p},5594:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-8a961b36]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: math.div($bubble-height, 2);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: math.div($bubble-avatar-size, 2);\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},6366:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-48b21e01]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-48b21e01]{overflow-y:auto;width:auto;margin:0;padding:8px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-dark);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-48b21e01]:before{content:attr(placeholder);color:var(--color-text-maxcontrast);position:absolute}.rich-contenteditable__input[contenteditable=false][data-v-48b21e01]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-48b21e01]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-48b21e01]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,wCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CACA,iBAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCFiB,CDGjB,mCAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 8px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 2px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius-large);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tborder: 2px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},2431:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji,.tribute-container-link{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji,.tribute-container-link{min-width:200px;max-width:200px;padding:4px;max-height:192.5px !important}.tribute-container-emoji__item,.tribute-container-link__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child,.tribute-container-link__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji,.tribute-container-link__item__emoji{padding-right:8px}.tribute-container-emoji .highlight,.tribute-container-link .highlight{opacity:1;color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *,.tribute-container-link .highlight,.tribute-container-link .highlight *{cursor:pointer}.tribute-container-link{min-width:200px;max-width:300px}.tribute-container-link__item{display:flex;align-items:center}.tribute-container-link__item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-link__item__icon{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:8px;filter:var(--background-invert-if-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oEACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,iDACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,6BAAA,CAEA,6DACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,mFACC,eAAA,CAGD,2EACC,iBAAA,CAIF,uEACC,SAAA,CACA,6CAAA,CACA,6CAAA,CACA,kJACC,cAAA,CAKH,wBACC,eAAA,CACA,eAAA,CACA,8BACC,YAAA,CACA,kBAAA,CACA,qCACC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,oCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,iBAAA,CACA,uCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.tribute-container, .tribute-container-emoji, .tribute-container-link {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji, .tribute-container-link {\\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: 35px * 5 + math.div(35px, 2) !important;\\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\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n.tribute-container-link {\\n\\tmin-width: 200px;\\n\\tmax-width: 300px;\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t&__label {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\t\\t&__icon {\\n\\t\\t\\tmargin: auto 0;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},122:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-36a4d5cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list.icon-loading[data-v-36a4d5cc]{min-height:44px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6CACC,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.widgets--list.icon-loading {\\n\\tmin-height: 44px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-60e96d80]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4091:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-51a83e19]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-51a83e19]{width:100%;min-height:350px;padding-right:2px;display:flex;flex-direction:column}.provider-list--empty-content[data-v-51a83e19]{margin-top:auto !important;margin-bottom:auto !important}.provider-list--select[data-v-51a83e19]{width:100%}.provider-list--select .provider[data-v-51a83e19]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-51a83e19]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-51a83e19]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-51a83e19]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcProviderList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,UAAA,CACA,gBAAA,CAGA,iBAAA,CACA,YAAA,CACA,qBAAA,CAEA,+CACC,0BAAA,CACA,6BAAA,CAGD,wCACC,UAAA,CAEA,kDACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,6DACC,gBAAA,CAGD,iEACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,uCAAA,CAGD,+DACC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.provider-list {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\t// multiselect dropdown is wider than the select input\\n\\t// this avoids overflow\\n\\tpadding-right: 2px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.provider {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\theight: 28px;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t.link-icon {\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.provider-icon {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t.option-text {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6068:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e61b91c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-2e61b91c]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto}.raw-link .input-wrapper[data-v-2e61b91c]{width:100%}.raw-link .reference-widget[data-v-2e61b91c]{display:flex}.raw-link--empty-content[data-v-2e61b91c]{margin-top:auto !important;margin-bottom:auto !important}.raw-link--empty-content .provider-icon[data-v-2e61b91c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-2e61b91c]{width:99%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,UAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,eAAA,CAEA,0CACC,UAAA,CAGD,6CACC,YAAA,CAGD,0CACC,0BAAA,CACA,6BAAA,CAEA,yDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAIF,kCACC,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.raw-link {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\toverflow-y: auto;\\n\\n\\t.input-wrapper {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.reference-widget {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\n\\t\\t.provider-icon {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&--input {\\n\\t\\twidth: 99%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},34:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-9b2f661a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}.reference-picker .custom-element-wrapper[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,2DACC,YAAA,CACA,eAAA,CACA,UAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker {\\n\\tdisplay: flex;\\n\\toverflow-y: auto;\\n\\twidth: 100%;\\n\\n\\t.custom-element-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-y: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},698:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,uBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n// this is to avoid scroll on the container and leave it to the result block\\n.reference-picker-modal .modal-container {\\n\\tdisplay: flex !important;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6508:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-1f66021a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-1f66021a]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-1f66021a],.reference-picker-modal--content .back-button[data-v-1f66021a]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-1f66021a]{left:4px}.reference-picker-modal--content .close-button[data-v-1f66021a]{right:4px}.reference-picker-modal--content>h2[data-v-1f66021a]{display:flex;margin:12px 0 20px 0}.reference-picker-modal--content>h2 .icon[data-v-1f66021a]{margin-right:8px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,+HAEC,iBAAA,CACA,OAAA,CAED,+DACC,QAAA,CAED,gEACC,SAAA,CAGD,qDACC,YAAA,CACA,oBAAA,CACA,2DACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker-modal--content {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\toverflow-y: auto;\\n\\n\\t.close-button,\\n\\t.back-button {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 4px;\\n\\t}\\n\\t.back-button {\\n\\t\\tleft: 4px;\\n\\t}\\n\\t.close-button {\\n\\t\\tright: 4px;\\n\\t}\\n\\n\\t> h2 {\\n\\t\\tdisplay: flex;\\n\\t\\tmargin: 12px 0 20px 0;\\n\\t\\t.icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2873:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-26e3248c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-26e3248c]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px 16px}.smart-picker-search.with-empty-content[data-v-26e3248c]{min-height:350px}.smart-picker-search--empty-content[data-v-26e3248c]{margin-top:auto !important;margin-bottom:auto !important}.smart-picker-search .provider-icon[data-v-26e3248c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-26e3248c]{width:100%}.smart-picker-search--select .search-result[data-v-26e3248c]{width:100%}.smart-picker-search--select .group-title-icon[data-v-26e3248c],.smart-picker-search--select .option-simple-icon[data-v-26e3248c]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-26e3248c]{height:44px;display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-26e3248c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-picker-search--select[data-v-26e3248c] .multiselect__content-wrapper{width:calc(100% - 4px) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearch.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,wBAAA,CACA,yDACC,gBAAA,CAGD,qDACC,0BAAA,CACA,6BAAA,CAGD,qDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAGD,8CACC,UAAA,CAEA,6DACC,UAAA,CAGD,kIAEC,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,6DACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,2DACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAKD,4EACC,iCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.smart-picker-search {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding: 0 16px 16px 16px;\\n\\t&.with-empty-content {\\n\\t\\tmin-height: 350px;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t.provider-icon {\\n\\t\\twidth: 150px;\\n\\t\\theight: 150px;\\n\\t\\tobject-fit: contain;\\n\\t\\tfilter: var(--background-invert-if-dark);\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.search-result {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.group-title-icon,\\n\\t\\t.option-simple-icon {\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tmargin: 0 20px 0 10px;\\n\\t\\t}\\n\\n\\t\\t.custom-option {\\n\\t\\t\\theight: 44px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\n\\t\\t.option-text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// multiselect dropdown is wider than the select input\\n\\t\\t// this avoids overflow\\n\\t\\t:deep(.multiselect__content-wrapper) {\\n\\t\\t\\twidth: calc(100% - 4px) !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9052:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-7297c50a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-7297c50a]{display:flex;align-items:center;height:44px;overflow:hidden}.result--icon-class[data-v-7297c50a],.result--image[data-v-7297c50a]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-7297c50a],.result--image.rounded[data-v-7297c50a]{border-radius:50%}.result--content[data-v-7297c50a]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--title[data-v-7297c50a],.result--content--subline[data-v-7297c50a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearchResult.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,qEAEC,UAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CAEA,qFACC,iBAAA,CAIF,kCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,oFAEC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n.result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\toverflow: hidden;\\n\\n\\t&--icon-class,\\n\\t&--image {\\n\\t\\twidth: 40px;\\n\\t\\tmin-width: 40px;\\n\\t\\theight: 40px;\\n\\t\\tobject-fit: contain;\\n\\n\\t\\t&.rounded {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&--content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tpadding-left: 10px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&--title,\\n\\t\\t&--subline {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},1880:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4be6aca8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-access[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;padding:calc(var(--default-grid-baseline, 4px)*3)}.widget-default[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-default--compact[data-v-4be6aca8]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-4be6aca8]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-4be6aca8]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px)*2);padding-bottom:calc(var(--default-grid-baseline, 4px)*2)}.widget-default--compact .widget-default--description[data-v-4be6aca8]{display:none}.widget-default--image[data-v-4be6aca8]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--title[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-default--details[data-v-4be6aca8]{padding:calc(var(--default-grid-baseline, 4px)*3);width:60%}.widget-default--details p[data-v-4be6aca8]{margin:0;padding:0}.widget-default--description[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-4be6aca8]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceWidget.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCOD,gCAXC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAOD,gCAfC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CASA,iDAAA,CAGD,iCApBC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAeA,0CACC,qBAAA,CAEA,iEACC,UAAA,CACA,YAAA,CAGD,mEACC,UAAA,CACA,qDAAA,CACA,wDAAA,CAGD,uEACC,YAAA,CAKF,wCACC,SAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAGD,wCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,0CACC,iDAAA,CACA,SAAA,CAEA,4CACC,QAAA,CACA,SAAA,CAIF,8CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAGD,uCACC,mCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"caee4c9\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n@mixin widget {\\n\\twidth: 100%;\\n\\tmargin: auto;\\n\\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\\n\\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\\n\\toverflow: hidden;\\n\\tborder: 2px solid var(--color-border);\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: transparent;\\n\\tdisplay: flex;\\n}\\n\\n.widget-custom {\\n\\t@include widget;\\n}\\n\\n.widget-access {\\n\\t@include widget;\\n\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n}\\n\\n.widget-default {\\n\\t@include widget;\\n\\n\\t&--compact {\\n\\t\\tflex-direction: column;\\n\\n\\t\\t.widget-default--image {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t}\\n\\n\\t\\t.widget-default--details {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t\\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t}\\n\\n\\t\\t.widget-default--description {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&--image {\\n\\t\\twidth: 40%;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t}\\n\\n\\t&--title {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&--details {\\n\\t\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n\\t\\twidth: 60%;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&--description {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tdisplay: -webkit-box;\\n\\t\\t-webkit-line-clamp: 3;\\n\\t\\tline-clamp: 3;\\n\\t\\t-webkit-box-orient: vertical;\\n\\t}\\n\\n\\t&--link {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},8369:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"\\nbutton.menuitem[data-v-127b0c62] {\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-127b0c62] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-127b0c62]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-127b0c62] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-127b0c62] {\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\"],names:[],mappings:\";AAgYA;CACA,oDAAA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,mDAAA;CACA,mFAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\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 <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"nofollow noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'NcPopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\tborder-radius: var(--border-radius-large) !important;\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]);const s=a},7856:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(5425),l=a()(r());l.i(s.Z),l.push([t.id,\"\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\na[data-v-57480046]:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/NcRichText.vue\"],names:[],mappings:\";AAkPA,iEAAA;AAGA;CACA,0BAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n - @author Guido Krömer <mail@cacodaemon.de>\\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 <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n<docs>\\n```vue\\n<template>\\n\\t<div>\\n\\t\\t<textarea v-model=\\\"text\\\" />\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"autolink\\\" type=\\\"checkbox\\\">Autolink</NcCheckboxRadioSwitch>\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"useMarkdown\\\" type=\\\"checkbox\\\">Use Markdown</NcCheckboxRadioSwitch>\\n\\n\\t\\t<NcRichText\\n\\t\\t\\t:text=\\\"text\\\" :autolink=\\\"autolink\\\" :arguments=\\\"args\\\"\\n\\t\\t\\t:use-markdown=\\\"useMarkdown\\\" />\\n\\t</div>\\n</template>\\n<script>\\nexport default {\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\ttext: `Hello {username}. The file {file} was added by {username}. Go visit https://nextcloud.com\\n\\nLocal IP: http://127.0.0.1/status.php should be clickable\\n\\nSome examples for markdown syntax: **bold text** *italic text* ~~strikethrough~~`,\\n\\t\\t\\tautolink: true,\\n\\t\\t\\tuseMarkdown: true,\\n\\t\\t\\targs: {\\n\\t\\t\\t\\tfile: 'MyDocument.odt',\\n\\t\\t\\t\\tusername: {\\n\\t\\t\\t\\t\\tcomponent: 'NcUserBubble',\\n\\t\\t\\t\\t\\tprops: {\\n\\t\\t\\t\\t\\t\\tdisplayName: 'Jane Doe'\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t}\\n\\t},\\n}\\n<\\/script>\\n<style lang=\\\"scss\\\">\\ntextarea {\\n\\twidth: 100%;\\n\\theight: 100px;\\n}\\n</style>\\n```\\n</docs>\\n\\n<script>\\nimport NcReferenceList from './NcReferenceList.vue'\\nimport { remarkAutolink } from './autolink.js'\\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\\n\\nimport { unified } from 'unified'\\nimport markdown from 'remark-parse'\\nimport breaks from 'remark-breaks'\\nimport remark2rehype from 'remark-rehype'\\nimport rehype2react from 'rehype-react'\\nimport remarkExternalLinks from 'remark-external-links'\\n\\nexport default {\\n\\tname: 'NcRichText',\\n\\tcomponents: {\\n\\t\\tNcReferenceList,\\n\\t},\\n\\tprops: {\\n\\t\\ttext: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\targuments: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\treferenceLimit: {\\n\\t\\t\\ttype: Number,\\n\\t\\t\\tdefault: 0,\\n\\t\\t},\\n\\t\\t/** Provide data upfront to avoid extra http request */\\n\\t\\treferences: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: null,\\n\\t\\t},\\n\\t\\tmarkdownCssClasses: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ta: 'rich-text--external-link',\\n\\t\\t\\t\\t\\tol: 'rich-text--ordered-list',\\n\\t\\t\\t\\t\\tul: 'rich-text--un-ordered-list',\\n\\t\\t\\t\\t\\tli: 'rich-text--list-item',\\n\\t\\t\\t\\t\\tstrong: 'rich-text--strong',\\n\\t\\t\\t\\t\\tem: 'rich-text--italic',\\n\\t\\t\\t\\t\\th1: 'rich-text--heading rich-text--heading-1',\\n\\t\\t\\t\\t\\th2: 'rich-text--heading rich-text--heading-2',\\n\\t\\t\\t\\t\\th3: 'rich-text--heading rich-text--heading-3',\\n\\t\\t\\t\\t\\th4: 'rich-text--heading rich-text--heading-4',\\n\\t\\t\\t\\t\\th5: 'rich-text--heading rich-text--heading-5',\\n\\t\\t\\t\\t\\th6: 'rich-text--heading rich-text--heading-6',\\n\\t\\t\\t\\t\\thr: 'rich-text--hr',\\n\\t\\t\\t\\t\\ttable: 'rich-text--table',\\n\\t\\t\\t\\t\\tpre: 'rich-text--pre',\\n\\t\\t\\t\\t\\tcode: 'rich-text--code',\\n\\t\\t\\t\\t\\tblockquote: 'rich-text--blockquote',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\tuseMarkdown: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: false,\\n\\t\\t},\\n\\t\\tautolink: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: true,\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\trenderPlaintext(h) {\\n\\t\\t\\tconst context = this\\n\\t\\t\\tconst placeholders = this.text.split(/(\\\\{[a-z\\\\-_.0-9]+\\\\})/ig).map(function(entry, index, list) {\\n\\t\\t\\t\\tconst matches = entry.match(/^\\\\{([a-z\\\\-_.0-9]+)\\\\}$/i)\\n\\t\\t\\t\\t// just return plain string nodes as text\\n\\t\\t\\t\\tif (!matches) {\\n\\t\\t\\t\\t\\treturn prepareTextNode({ h, context }, entry)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// return component instance if argument is an object\\n\\t\\t\\t\\tconst argumentId = matches[1]\\n\\t\\t\\t\\tconst argument = context.arguments[argumentId]\\n\\t\\t\\t\\tif (typeof argument === 'object') {\\n\\t\\t\\t\\t\\tconst { component, props } = argument\\n\\t\\t\\t\\t\\treturn h(component, {\\n\\t\\t\\t\\t\\t\\tprops,\\n\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif (argument) {\\n\\t\\t\\t\\t\\treturn h('span', { class: 'rich-text--fallback' }, argument)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn entry\\n\\t\\t\\t})\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\th('div', {}, placeholders.flat()),\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t\\trenderMarkdown(h) {\\n\\t\\t\\tconst renderedMarkdown = unified()\\n\\t\\t\\t\\t.use(markdown)\\n\\t\\t\\t\\t.use(remarkAutolink, {\\n\\t\\t\\t\\t\\tautolink: this.autolink,\\n\\t\\t\\t\\t\\tuseMarkdown: this.useMarkdown,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(remarkExternalLinks, {\\n\\t\\t\\t\\t\\ttarget: '_blank',\\n\\t\\t\\t\\t\\trel: ['noopener noreferrer'],\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(breaks)\\n\\t\\t\\t\\t.use(remark2rehype, {\\n\\t\\t\\t\\t\\thandlers: {\\n\\t\\t\\t\\t\\t\\tcomponent(toHast, node) {\\n\\t\\t\\t\\t\\t\\t\\treturn toHast(node, node.component, { value: node.value })\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t// .use(rehypeAddClasses, this.markdownCssClasses)\\n\\t\\t\\t\\t.use(remarkPlaceholder)\\n\\t\\t\\t\\t.use(rehype2react, {\\n\\t\\t\\t\\t\\tcreateElement: (tag, attrs, children) => {\\n\\t\\t\\t\\t\\t\\tif (!tag.startsWith('#')) {\\n\\t\\t\\t\\t\\t\\t\\treturn h(tag, attrs, children)\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tconst placeholder = this.arguments[tag.slice(1)]\\n\\t\\t\\t\\t\\t\\tif (!placeholder) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tif (!placeholder.component) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', attrs, [placeholder])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\treturn h(\\n\\t\\t\\t\\t\\t\\t\\tplaceholder.component,\\n\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\tattrs,\\n\\t\\t\\t\\t\\t\\t\\t\\tprops: placeholder.props,\\n\\t\\t\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tprefix: false,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.processSync(this.text)\\n\\t\\t\\t\\t.result\\n\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\trenderedMarkdown,\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t},\\n\\trender(h) {\\n\\t\\tif (!this.useMarkdown) {\\n\\t\\t\\treturn this.renderPlaintext(h)\\n\\t\\t}\\n\\n\\t\\treturn this.renderMarkdown(h)\\n\\t},\\n}\\n<\\/script>\\n<style scoped>\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\n@import './richtext.scss';\\n\\na:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n</style>\\n\"],sourceRoot:\"\"}]);const c=l},5425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/richtext.scss\"],names:[],mappings:\"AAAA;;EAEE;;AAEF;CACC,sBAAsB;CACtB,gBAAgB;;CAEhB;EACC,eAAe;CAChB;;CAEA;EACC,0BAA0B;EAC1B;GACC,aAAa;EACd;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC,oBAAoB;EACpB,8BAA8B;EAC9B,gBAAgB;EAChB,iBAAiB;;EAEjB;GACC,gBAAgB;GAChB,oBAAoB;GACpB,8BAA8B;;GAE9B;IACC,mBAAmB;GACpB;EACD;CACD;;CAEA;EACC,oBAAoB;EACpB,iBAAiB;EACjB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;EAClB,eAAe;EACf,iBAAiB;;EAEjB;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;CACD;;CAEA;EACC,8CAA8C;EAC9C,gBAAgB;CACjB;;CAEA;EACC,0CAA0C;EAC1C,8CAA8C;EAC9C,YAAY;CACb;;CAEA;EACC,8CAA8C;CAC/C;;CAEA;EACC,+CAA+C;EAC/C,iBAAiB;CAClB;;CAEA;EACC,yBAAyB;;EAEzB;GACC,0CAA0C;GAC1C,iBAAiB;GACjB,iBAAiB;EAClB;;EAEA;GACC;IACC,0CAA0C;IAC1C,iBAAiB;GAClB;;GAEA;IACC,8CAA8C;GAC/C;EACD;CACD;AACD\",sourcesContent:[\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",i=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),i&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),i&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,i,r,o){\"string\"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]=\"@layer\".concat(u[5].length>0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=o),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=r):u[4]=\"\".concat(r)),e.push(u))}},e}},1667:t=>{\"use strict\";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]|(%20)/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t):t}},7537:t=>{\"use strict\";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),o=\"/*# \".concat(r,\" */\");return[e].concat([o]).join(\"\\n\")}return[e].join(\"\\n\")}},5664:(t,e,n)=>{\"use strict\";var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(847),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f),h.Z&&h.Z.locals&&h.Z.locals},3379:t=>{\"use strict\";var e=[];function n(t){for(var n=-1,i=0;i<e.length;i++)if(e[i].identifier===t){n=i;break}return n}function i(t,i){for(var o={},a=[],s=0;s<t.length;s++){var l=t[s],c=i.base?l[0]+i.base:l[0],u=o[c]||0,d=\"\".concat(c,\" \").concat(u);o[c]=u+1;var p=n(d),A={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)e[p].references++,e[p].updater(A);else{var m=r(A,i);i.byIndex=s,e.splice(s,0,{identifier:d,updater:m,references:1})}a.push(d)}return a}function r(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,r){var o=i(t=t||[],r=r||{});return function(t){t=t||[];for(var a=0;a<o.length;a++){var s=n(o[a]);e[s].references--}for(var l=i(t,r),c=0;c<o.length;c++){var u=n(o[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=l}}},569:t=>{\"use strict\";var e={};t.exports=function(t,n){var i=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}},9216:t=>{\"use strict\";t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{\"use strict\";t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{\"use strict\";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var i=\"\";n.supports&&(i+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(i+=\"@media \".concat(n.media,\" {\"));var r=void 0!==n.layer;r&&(i+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),i+=n.css,r&&(i+=\"}\"),n.media&&(i+=\"}\"),n.supports&&(i+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleTagTransform(i,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},9563:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(1039),r=n(5495),o=(n(9521),n(1900)),a=n(4348),s=n.n(a),l=(0,o.Z)(r.Z,i.s,i.x,!1,null,\"f50b337c\",null);\"function\"==typeof s()&&s()(l);const c=l.exports},4470:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>C});var i=n(4262);const r={name:\"NcMentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},iconUrl:{type:[String,null],default:null},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return this.id.includes(\" \")||this.id.includes(\"/\")?'@\"'.concat(this.id,'\"'):\"@\".concat(this.id)}},methods:{getAvatarUrl:function(t,e){return(0,i.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(5594),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;const C=(0,n(1900).Z)(r,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"8a961b36\",null).exports},5495:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=n(9456).Z},9521:(t,e,n)=>{\"use strict\";n(5664)},5727:()=>{},3051:()=>{},2102:()=>{},9258:()=>{},6274:()=>{},1287:()=>{},4348:()=>{},8488:()=>{},9280:()=>{},9989:()=>{},6049:()=>{},2405:()=>{},1174:()=>{},2272:()=>{},3407:()=>{},5439:()=>{},1900:(t,e,n)=>{\"use strict\";function i(t,e,n,i,r,o,a,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=s?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,{Z:()=>i})},7127:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},2605:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},3423:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},3607:t=>{\"use strict\";t.exports=require(\"@nextcloud/auth\")},768:t=>{\"use strict\";t.exports=require(\"@nextcloud/axios\")},7672:t=>{\"use strict\";t.exports=require(\"@nextcloud/browser-storage\")},542:t=>{\"use strict\";t.exports=require(\"@nextcloud/event-bus\")},733:t=>{\"use strict\";t.exports=require(\"@nextcloud/initial-state\")},7931:t=>{\"use strict\";t.exports=require(\"@nextcloud/l10n/gettext\")},4262:t=>{\"use strict\";t.exports=require(\"@nextcloud/router\")},4055:t=>{\"use strict\";t.exports=require(\"@vueuse/components\")},3465:t=>{\"use strict\";t.exports=require(\"debounce\")},9:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast\")},1822:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast/data/all.json\")},9454:t=>{\"use strict\";t.exports=require(\"floating-vue\")},4505:t=>{\"use strict\";t.exports=require(\"focus-trap\")},2640:t=>{\"use strict\";t.exports=require(\"hammerjs\")},2734:t=>{\"use strict\";t.exports=require(\"vue\")},5512:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/AlertCircleOutline.vue\")},6921:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowLeft.vue\")},3875:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowRight.vue\")},6915:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Check.vue\")},9044:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},8618:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Close.vue\")},1441:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={id:i,exports:{}};return t[i](o,o.exports,n),o.exports}n.m=t,n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.b=document.baseURI||self.location.href,n.nc=void 0;var i={};return(()=>{\"use strict\";n.r(i),n.d(i,{NcAutoCompleteResult:()=>b,NcMentionBubble:()=>t.Z,default:()=>R});var t=n(4470),e=n(4262);const r={name:\"NcAutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},iconUrl:{type:String,default:null},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var t,e,n;return(null===(t=this.status)||void 0===t?void 0:t.icon)||(null===(e=this.status)||void 0===e?void 0:e.status)&&\"offline\"!==(null===(n=this.status)||void 0===n?void 0:n.status)}},methods:{getAvatarUrl:function(t,n){return(0,e.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(6956),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;var C=n(1900);const b=(0,C.Z)(r,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[t.icon,\"autocomplete-result__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null},[t.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\".concat(t.status&&t.status.icon?\"icon\":t.status.status)]},[t._v(\"\\n\\t\\t\\t\"+t._s(t.status&&t.status.icon||\"\")+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.label)+\"\\n\\t\\t\")]),t._v(\" \"),t.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.subline)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"800c95ae\",null).exports;var y=n(932),x=n(3132),w=n(336),k=n(6540),_=n(2611);const S=require(\"tributejs/dist/tribute.esm.js\");var B=n.n(S),j=n(3465),E=n.n(j);const N=require(\"string-length\");var P=n.n(N);function z(t){return z=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},z(t)}function O(){O=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==z(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function D(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const T={name:\"NcRichContenteditable\",directives:{tooltip:w.default},mixins:[x.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,y.t)('Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …')},autoComplete:{type:Function,default:function(){return[]}},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0},linkAutocomplete:{type:Boolean,default:!0}},emits:[\"submit\",\"paste\",\"update:value\"],data:function(){var t=this;return{textSmiles:[],tribute:null,autocompleteOptions:{allowSpaces:!0,fillAttr:\"id\",lookup:function(t){return\"\".concat(t.id,\" \").concat(t.label)},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.renderComponentHtml(e.original,b)},noMatchTemplate:function(){return'<span class=\"hidden\"></span>'},selectTemplate:function(e){var n;return t.genSelectTemplate(null==e||null===(n=e.original)||void 0===n?void 0:n.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:'<span class=\"tribute-container-emoji__item__emoji\">'.concat(e.original.native,\"</span> :\").concat(e.original.short_name)},noMatchTemplate:function(){return(0,y.t)(\"No emoji found\")},selectTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:((0,k.emojiAddRecent)(e.original),e.original.native)},values:function(e,n){var i=(0,k.emojiSearch)(e);t.textSmiles.includes(\":\"+e)&&i.unshift(\":\"+e),n(i)},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},linkOptions:{trigger:\"/\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(t){return'<img class=\"tribute-container-link__item__icon\" src=\"'.concat(t.original.icon_url,'\"> <span class=\"tribute-container-link__item__label\">').concat(t.original.title,\"</span>\")},noMatchTemplate:function(){return(0,y.t)(\"No link provider found\")},selectTemplate:this.getLink,values:function(t,e){return e((0,_.searchProvider)(t))},containerClass:\"tribute-container-link\",itemClass:\"tribute-container-link__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&P()(this.localValue)>this.maxlength},tooltipString:function(){return this.isOverMaxlength?{content:(0,y.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),shown:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted:function(){var t=this;this.textSmiles=[],[\"d\",\"D\",\"p\",\"P\",\"s\",\"S\",\"x\",\"X\",\")\",\"(\",\"|\",\"/\"].forEach((function(e){t.textSmiles.push(\":\"+e),t.textSmiles.push(\":-\"+e)})),this.autocompleteTribute=new(B())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(B())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.linkAutocomplete&&(this.linkTribute=new(B())(this.linkOptions),this.linkTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el),this.linkTribute&&this.linkTribute.detach(this.$el)},methods:{getLink:function(t){var e=this;return(0,_.getLinkWithPicker)(t.original.id).then((function(t){var n=document.getElementById(\"tmp-link-result-node\"),i=document.createTextNode(t);n.replaceWith(i),e.setCursorAfter(i),e.updateValue(e.$refs.contenteditable.innerHTML)})).catch((function(t){console.debug(\"Smart picker promise rejected:\",t);var n=document.getElementById(\"tmp-link-result-node\");e.setCursorAfter(n),n.remove()})),'<span id=\"tmp-link-result-node\"></span>'},setCursorAfter:function(t){var e=document.createRange();e.setEndAfter(t),e.collapse();var n=window.getSelection();n.removeAllRanges(),n.addRange(e)},onInput:function(t){this.updateValue(t.target.innerHTML)},onPaste:function(t){if(this.canEdit){t.preventDefault();var e=t.clipboardData;if(this.$emit(\"paste\",t),0===e.files.length&&Object.values(e.items).find((function(t){return null==t?void 0:t.type.startsWith(\"text\")}))){var n=e.getData(\"text\"),i=window.getSelection();if(i.rangeCount){var r=i.getRangeAt(0);i.deleteFromDocument(),r.insertNode(document.createTextNode(n));var o=document.createRange();o.setStart(t.target,r.endOffset),o.collapse(!0),i.removeAllRanges(),i.addRange(o),this.updateValue(this.$refs.contenteditable.innerHTML)}else this.updateValue(n)}}},updateValue:function(t){var e=this.parseContent(t);this.localValue=e,this.$emit(\"update:value\",e)},updateContent:function(t){var e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete:function(t){if(this.isFF&&window.getSelection&&this.canEdit){var e=window.getSelection(),n=t.target;if(e.isCollapsed&&e.rangeCount){var i=e.getRangeAt(e.rangeCount-1);if(!(3===i.commonAncestorContainer.nodeType&&i.startOffset>0)){var r=document.createRange();if(e.anchorNode!==n)r.selectNodeContents(n),r.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;r.setEnd(n,e.anchorOffset)}r.setStart(n,r.endOffset-1);var o=r.cloneContents().lastChild;o&&\"false\"===o.contentEditable&&(r.deleteContents(),t.preventDefault())}}}},onEnter:function(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||this.linkTribute.isActive||(t.preventDefault(),t.stopPropagation(),this.$emit(\"submit\",t))},onCtrlEnter:function(t){this.isOverMaxlength||this.$emit(\"submit\",t)},debouncedAutoComplete:E()(function(){var t,e=(t=O().mark((function t(e,n){return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.autoComplete(e,n);case 1:case\"end\":return t.stop()}}),t,this)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){D(o,i,r,a,s,\"next\",t)}function s(t){D(o,i,r,a,s,\"throw\",t)}a(void 0)}))});return function(t,n){return e.apply(this,arguments)}}(),100),onKeyUp:function(t){t.stopImmediatePropagation()}}};var L=n(6366),I={};I.styleTagTransform=f(),I.setAttributes=p(),I.insert=u().bind(null,\"head\"),I.domAPI=l(),I.insertStyleElement=m();a()(L.Z,I);L.Z&&L.Z.locals&&L.Z.locals;var $=n(2431),G={};G.styleTagTransform=f(),G.setAttributes=p(),G.insert=u().bind(null,\"head\"),G.domAPI=l(),G.insertStyleElement=m();a()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(2272),U=n.n(M),F=(0,C.Z)(T,(function(){var t=this;return(0,t._self._c)(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltipString,expression:\"tooltipString\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":t.isEmptyValue,\"rich-contenteditable__input--multiline\":t.multiline,\"rich-contenteditable__input--overflow\":t.isOverMaxlength,\"rich-contenteditable__input--disabled\":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:t.onInput,keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\",\"Del\"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:e.ctrlKey?e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments)):null}],paste:t.onPaste,\"!keyup\":function(e){return e.stopPropagation(),e.preventDefault(),t.onKeyUp.apply(null,arguments)}}},t.$listeners))}),[],!1,null,\"48b21e01\",null);\"function\"==typeof U()&&U()(F);const R=F.exports})(),i})()));\n//# sourceMappingURL=NcRichContenteditable.js.map","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","if (!Array.prototype.find) {\n Array.prototype.find = function(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n function CustomEvent$1(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt\n }\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent$1.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent$1;\n}\n\nclass TributeEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n static keys() {\n return [\n {\n key: 9,\n value: \"TAB\"\n },\n {\n key: 8,\n value: \"DELETE\"\n },\n {\n key: 13,\n value: \"ENTER\"\n },\n {\n key: 27,\n value: \"ESCAPE\"\n },\n {\n key: 32,\n value: \"SPACE\"\n },\n {\n key: 38,\n value: \"UP\"\n },\n {\n key: 40,\n value: \"DOWN\"\n }\n ];\n }\n\n bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n\n element.addEventListener(\"keydown\", element.boundKeydown, false);\n element.addEventListener(\"keyup\", element.boundKeyup, false);\n element.addEventListener(\"input\", element.boundInput, false);\n }\n\n unbind(element) {\n element.removeEventListener(\"keydown\", element.boundKeydown, false);\n element.removeEventListener(\"keyup\", element.boundKeyup, false);\n element.removeEventListener(\"input\", element.boundInput, false);\n\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n\n keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n let element = this;\n instance.commandEvent = false;\n\n TributeEvents.keys().forEach(o => {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n\n input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n\n click(instance, event) {\n let tribute = instance.tribute;\n if (tribute.menu && tribute.menu.contains(event.target)) {\n let li = event.target;\n event.preventDefault();\n event.stopPropagation();\n while (li.nodeName.toLowerCase() !== \"li\") {\n li = li.parentNode;\n if (!li || li === tribute.menu) {\n throw new Error(\"cannot find the <li> container for the click\");\n }\n }\n tribute.selectItemAtIndex(li.getAttribute(\"data-index\"), event);\n tribute.hideMenu();\n\n // TODO: should fire with externalTrigger and target is outside of menu\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(() => tribute.hideMenu());\n }\n }\n\n keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n instance.updateSelection(this);\n\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, \"\");\n } else {\n let keyCode = instance.getKeyCode(instance, this, event);\n\n if (isNaN(keyCode) || !keyCode) return;\n\n let trigger = instance.tribute.triggers().find(trigger => {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== \"undefined\") {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if (\n instance.tribute.current.mentionText.length <\n instance.tribute.current.collection.menuShowMinLength\n ) {\n return;\n }\n\n if (\n ((instance.tribute.current.trigger ||\n instance.tribute.autocompleteMode) &&\n instance.commandEvent === false) ||\n (instance.tribute.isActive && event.keyCode === 8)\n ) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n\n shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n let eventKeyPressed = false;\n TributeEvents.keys().forEach(o => {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n\n return !eventKeyPressed;\n }\n\n return false;\n }\n\n getKeyCode(instance, el, event) {\n let tribute = instance.tribute;\n let info = tribute.range.getTriggerInfo(\n false,\n tribute.hasTrailingSpace,\n true,\n tribute.allowSpaces,\n tribute.autocompleteMode\n );\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n\n updateSelection(el) {\n this.tribute.current.element = el;\n let info = this.tribute.range.getTriggerInfo(\n false,\n this.tribute.hasTrailingSpace,\n true,\n this.tribute.allowSpaces,\n this.tribute.autocompleteMode\n );\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n\n callbacks() {\n return {\n triggerChar: (e, el, trigger) => {\n let tribute = this.tribute;\n tribute.current.trigger = trigger;\n\n let collectionItem = tribute.collection.find(item => {\n return item.trigger === trigger;\n });\n\n tribute.current.collection = collectionItem;\n\n if (\n tribute.current.mentionText.length >=\n tribute.current.collection.menuShowMinLength &&\n tribute.inputEvent\n ) {\n tribute.showMenuFor(el, true);\n }\n },\n enter: (e, el) => {\n // choose selection\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.selectItemAtIndex(this.tribute.menuSelected, e);\n this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: (e, el) => {\n if (this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n this.tribute.isActive = false;\n this.tribute.hideMenu();\n }\n },\n tab: (e, el) => {\n // choose first match\n this.callbacks().enter(e, el);\n },\n space: (e, el) => {\n if (this.tribute.isActive) {\n if (this.tribute.spaceSelectsMatch) {\n this.callbacks().enter(e, el);\n } else if (!this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.hideMenu();\n this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: (e, el) => {\n // navigate up ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length,\n selected = this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n this.tribute.menuSelected--;\n this.setActiveLi();\n } else if (selected === 0) {\n this.tribute.menuSelected = count - 1;\n this.setActiveLi();\n this.tribute.menu.scrollTop = this.tribute.menu.scrollHeight;\n }\n }\n },\n down: (e, el) => {\n // navigate down ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length - 1,\n selected = this.tribute.menuSelected;\n\n if (count > selected) {\n this.tribute.menuSelected++;\n this.setActiveLi();\n } else if (count === selected) {\n this.tribute.menuSelected = 0;\n this.setActiveLi();\n this.tribute.menu.scrollTop = 0;\n }\n }\n },\n delete: (e, el) => {\n if (\n this.tribute.isActive &&\n this.tribute.current.mentionText.length < 1\n ) {\n this.tribute.hideMenu();\n } else if (this.tribute.isActive) {\n this.tribute.showMenuFor(el);\n }\n }\n };\n }\n\n setActiveLi(index) {\n let lis = this.tribute.menu.querySelectorAll(\"li\"),\n length = lis.length >>> 0;\n\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (let i = 0; i < length; i++) {\n let li = lis[i];\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n\n let liClientRect = li.getBoundingClientRect();\n let menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n let scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n let scrollDistance = menuClientRect.top - liClientRect.top;\n this.tribute.menu.scrollTop -= scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n\n getFullHeight(elem, includeMargin) {\n let height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n let style = elem.currentStyle || window.getComputedStyle(elem);\n return (\n height + parseFloat(style.marginTop) + parseFloat(style.marginBottom)\n );\n }\n\n return height;\n }\n}\n\nclass TributeMenuEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n bind(menu) {\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.showMenuFor(this.tribute.current.element, false);\n }\n },\n 300,\n false\n );\n this.windowResizeEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.range.positionMenuAtCaret(true);\n }\n },\n 300,\n false\n );\n\n // fixes IE11 issues with mousedown\n this.tribute.range\n .getDocument()\n .addEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .addEventListener(\"mousedown\", this.menuClickEvent, false);\n window.addEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.addEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n unbind(menu) {\n this.tribute.range\n .getDocument()\n .removeEventListener(\"mousedown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .removeEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n window.removeEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.removeEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n debounce(func, wait, immediate) {\n var timeout;\n return () => {\n var context = this,\n args = arguments;\n var later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n}\n\n// Thanks to https://github.com/jeff-collins/ment.io\n\nclass TributeRange {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n getDocument() {\n let iframe;\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document\n }\n\n return iframe.contentWindow.document\n }\n\n positionMenuAtCaret(scrollTo) {\n let context = this.tribute.current,\n coordinates;\n\n let info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n\n if(!this.tribute.positionMenu){\n this.tribute.menu.style.cssText = `display: block;`;\n return\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,\n info.mentionPosition);\n }\n else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = `top: ${coordinates.top}px;\n left: ${coordinates.left}px;\n right: ${coordinates.right}px;\n bottom: ${coordinates.bottom}px;\n position: absolute;\n display: block;`;\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n\n window.setTimeout(() => {\n let menuDimensions = {\n width: this.tribute.menu.offsetWidth,\n height: this.tribute.menu.offsetHeight\n };\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n let menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n let menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n this.tribute.menu.style.cssText = 'display: none';\n this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n\n get menuContainerIsBody() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n\n\n selectElement(targetElement, path, offset) {\n let range;\n let elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n if (elem === undefined) {\n return\n }\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n\n replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n let info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n let context = this.tribute.current;\n let replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent,\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n let myField = this.tribute.current.element;\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : ' ';\n text += textSuffix;\n let startPos = info.mentionPosition;\n let endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length - 1;\n }\n myField.value = myField.value.substring(0, startPos) + text +\n myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : '\\xA0';\n text += textSuffix;\n let endPos = info.mentionPosition + info.mentionText.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length;\n }\n this.pasteHtml(text, info.mentionPosition, endPos);\n }\n\n context.element.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n context.element.dispatchEvent(replaceEvent);\n }\n }\n\n pasteHtml(html, startPos, endPos) {\n let range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n\n let el = this.getDocument().createElement('div');\n el.innerHTML = html;\n let frag = this.getDocument().createDocumentFragment(),\n node, lastNode;\n while ((node = el.firstChild)) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n\n getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection()\n }\n\n return window.getSelection()\n }\n\n getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n let node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i\n }\n }\n }\n\n getContentEditableSelectedPath(ctx) {\n let sel = this.getWindowSelection();\n let selected = sel.anchorNode;\n let path = [];\n let offset;\n\n if (selected != null) {\n let i;\n let ce = selected.contentEditable;\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n path.reverse();\n\n // getRangeAt may not exist, need alternative\n offset = sel.getRangeAt(0).startOffset;\n\n return {\n selected: selected,\n path: path,\n offset: offset\n }\n }\n }\n\n getTextPrecedingCurrentSelection() {\n let context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n let textComponent = this.tribute.current.element;\n if (textComponent) {\n let startPos = textComponent.selectionStart;\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n\n } else {\n let selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n let workingNodeContent = selectedElem.textContent;\n let selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text\n }\n\n getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n let wordsArray = text.split(/\\s+/);\n let worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim()\n }\n\n getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n let ctx = this.tribute.current;\n let selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n let selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n let effectiveRange = this.getTextPrecedingCurrentSelection();\n let lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n }\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n let mostRecentTriggerCharPos = -1;\n let triggerChar;\n\n this.tribute.collection.forEach(config => {\n let c = config.trigger;\n let idx = config.requireLeadingSpace ?\n this.lastIndexWithLeadingSpace(effectiveRange, c) :\n effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 &&\n (\n mostRecentTriggerCharPos === 0 ||\n !requireLeadingSpace ||\n /[\\xA0\\s]/g.test(\n effectiveRange.substring(\n mostRecentTriggerCharPos - 1,\n mostRecentTriggerCharPos)\n )\n )\n ) {\n let currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + triggerChar.length,\n effectiveRange.length);\n\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + triggerChar.length);\n let firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n let leadingSpace = currentTriggerSnippet.length > 0 &&\n (\n firstSnippetChar === ' ' ||\n firstSnippetChar === '\\xA0'\n );\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n let regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !(regex.test(currentTriggerSnippet)))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n }\n }\n }\n }\n }\n\n lastIndexWithLeadingSpace (str, trigger) {\n let reversedStr = str.split('').reverse().join('');\n let index = -1;\n\n for (let cidx = 0, len = str.length; cidx < len; cidx++) {\n let firstChar = cidx === str.length - 1;\n let leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n\n let match = true;\n for (let triggerIdx = trigger.length - 1; triggerIdx >= 0; triggerIdx--) {\n if (trigger[triggerIdx] !== reversedStr[cidx-triggerIdx]) {\n match = false;\n break\n }\n }\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break\n }\n }\n\n return index\n }\n\n isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA'\n }\n\n isMenuOffScreen(coordinates, menuDimensions) {\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n let menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n let menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n let menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n }\n }\n\n getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n let dimensions = {\n width: null,\n height: null\n };\n\n this.tribute.menu.style.cssText = `top: 0px;\n left: 0px;\n position: fixed;\n display: block;\n visibility; hidden;`;\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n\n this.tribute.menu.style.cssText = `display: none;`;\n\n return dimensions\n }\n\n getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n let properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX',\n 'overflowY', 'borderTopWidth', 'borderRightWidth',\n 'borderBottomWidth', 'borderLeftWidth', 'paddingTop',\n 'paddingRight', 'paddingBottom', 'paddingLeft',\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch',\n 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily',\n 'textAlign', 'textTransform', 'textIndent',\n 'textDecoration', 'letterSpacing', 'wordSpacing'\n ];\n\n let isFirefox = (window.mozInnerScreenX !== null);\n\n let div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n\n let style = div.style;\n let computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n }\n\n // position off-screen\n style.position = 'absolute';\n style.visibility = 'hidden';\n\n // transfer the element's properties to the div\n properties.forEach(prop => {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = `${(parseInt(computed.width) - 2)}px`;\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n let span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n\n let rect = element.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let top = 0;\n let left = 0;\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n let coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates\n }\n\n getContentEditableCaretPosition(selectedNodePosition) {\n let range;\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n\n range.collapse(false);\n\n let rect = range.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let left = rect.left;\n let top = rect.top;\n\n let coordinates = {\n left: left + windowLeft,\n top: top + rect.height + windowTop\n };\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n if (!this.menuContainerIsBody) {\n coordinates.left = coordinates.left ? coordinates.left - this.tribute.menuContainer.offsetLeft : coordinates.left;\n coordinates.top = coordinates.top ? coordinates.top - this.tribute.menuContainer.offsetTop : coordinates.top;\n }\n\n return coordinates\n }\n\n scrollIntoView(elem) {\n let reasonableBuffer = 20,\n clientRect;\n let maxScrollDisplacement = 100;\n let e = this.menu;\n\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n if (e === undefined || !e.getBoundingClientRect) {\n return\n }\n }\n }\n\n let elemTop = clientRect.top;\n let elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n let maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n let targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n}\n\n// Thanks to https://github.com/mattyork/fuzzy\nclass TributeSearch {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n simpleFilter(pattern, array) {\n return array.filter(string => {\n return this.test(pattern, string)\n })\n }\n\n test(pattern, string) {\n return this.match(pattern, string) !== null\n }\n\n match(pattern, string, opts) {\n opts = opts || {};\n let len = string.length,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase();\n\n if (opts.skip) {\n return {rendered: string, score: 0}\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n\n let patternCache = this.traverse(compareString, pattern, 0, 0, []);\n if (!patternCache) {\n return null\n }\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n }\n }\n\n traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n }\n }\n\n // if string at end or remaining pattern > remaining string\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined\n }\n\n let c = pattern[patternIndex];\n let index = string.indexOf(c, stringIndex);\n let best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop();\n\n // if downstream traversal failed, return best answer so far\n if (!temp) {\n return best\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best\n }\n\n calculateScore(patternCache) {\n let score = 0;\n let temp = 1;\n\n patternCache.forEach((index, i) => {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n }\n else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n\n return score\n }\n\n render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n\n indices.forEach((index, i) => {\n rendered += pre + string[index] + post +\n string.substring(index + 1, (indices[i + 1]) ? indices[i + 1] : string.length);\n });\n\n return rendered\n }\n\n filter(pattern, arr, opts) {\n opts = opts || {};\n return arr\n .reduce((prev, element, idx, arr) => {\n let str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) { // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n let rendered = this.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev\n }, [])\n\n .sort((a, b) => {\n let compare = b.score - a.score;\n if (compare) return compare\n return a.index - b.index\n })\n }\n}\n\nclass Tribute {\n constructor({\n values = null,\n iframe = null,\n selectClass = \"highlight\",\n containerClass = \"tribute-container\",\n itemClass = \"\",\n trigger = \"@\",\n autocompleteMode = false,\n selectTemplate = null,\n menuItemTemplate = null,\n lookup = \"key\",\n fillAttr = \"value\",\n collection = null,\n menuContainer = null,\n noMatchTemplate = null,\n requireLeadingSpace = true,\n allowSpaces = false,\n replaceTextSuffix = null,\n positionMenu = true,\n spaceSelectsMatch = false,\n searchOpts = {},\n menuItemLimit = null,\n menuShowMinLength = 0\n }) {\n this.autocompleteMode = autocompleteMode;\n this.menuSelected = 0;\n this.current = {};\n this.inputEvent = false;\n this.isActive = false;\n this.menuContainer = menuContainer;\n this.allowSpaces = allowSpaces;\n this.replaceTextSuffix = replaceTextSuffix;\n this.positionMenu = positionMenu;\n this.hasTrailingSpace = false;\n this.spaceSelectsMatch = spaceSelectsMatch;\n\n if (this.autocompleteMode) {\n trigger = \"\";\n allowSpaces = false;\n }\n\n if (values) {\n this.collection = [\n {\n // symbol that starts the lookup\n trigger: trigger,\n\n // is it wrapped in an iframe\n iframe: iframe,\n\n // class applied to selected item\n selectClass: selectClass,\n\n // class applied to the Container\n containerClass: containerClass,\n\n // class applied to each item\n itemClass: itemClass,\n\n // function called on select that retuns the content to insert\n selectTemplate: (\n selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n\n // function called that returns content for an item\n menuItemTemplate: (\n menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n\n // column to search against in the object\n lookup: lookup,\n\n // column that contains the content to insert by default\n fillAttr: fillAttr,\n\n // array of objects or a function returning an array of objects\n values: values,\n\n requireLeadingSpace: requireLeadingSpace,\n\n searchOpts: searchOpts,\n\n menuItemLimit: menuItemLimit,\n\n menuShowMinLength: menuShowMinLength\n }\n ];\n } else if (collection) {\n if (this.autocompleteMode)\n console.warn(\n \"Tribute in autocomplete mode does not work for collections\"\n );\n this.collection = collection.map(item => {\n return {\n trigger: item.trigger || trigger,\n iframe: item.iframe || iframe,\n selectClass: item.selectClass || selectClass,\n containerClass: item.containerClass || containerClass,\n itemClass: item.itemClass || itemClass,\n selectTemplate: (\n item.selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n menuItemTemplate: (\n item.menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n lookup: item.lookup || lookup,\n fillAttr: item.fillAttr || fillAttr,\n values: item.values,\n requireLeadingSpace: item.requireLeadingSpace,\n searchOpts: item.searchOpts || searchOpts,\n menuItemLimit: item.menuItemLimit || menuItemLimit,\n menuShowMinLength: item.menuShowMinLength || menuShowMinLength\n };\n });\n } else {\n throw new Error(\"[Tribute] No collection specified.\");\n }\n\n new TributeRange(this);\n new TributeEvents(this);\n new TributeMenuEvents(this);\n new TributeSearch(this);\n }\n\n get isActive() {\n return this._isActive;\n }\n\n set isActive(val) {\n if (this._isActive != val) {\n this._isActive = val;\n if (this.current.element) {\n let noMatchEvent = new CustomEvent(`tribute-active-${val}`);\n this.current.element.dispatchEvent(noMatchEvent);\n }\n }\n }\n\n static defaultSelectTemplate(item) {\n if (typeof item === \"undefined\")\n return `${this.current.collection.trigger}${this.current.mentionText}`;\n if (this.range.isContentEditable(this.current.element)) {\n return (\n '<span class=\"tribute-mention\">' +\n (this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]) +\n \"</span>\"\n );\n }\n\n return (\n this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]\n );\n }\n\n static defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n\n static inputTypes() {\n return [\"TEXTAREA\", \"INPUT\"];\n }\n\n triggers() {\n return this.collection.map(config => {\n return config.trigger;\n });\n }\n\n attach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._attach(el[i]);\n }\n } else {\n this._attach(el);\n }\n }\n\n _attach(el) {\n if (el.hasAttribute(\"data-tribute\")) {\n console.warn(\"Tribute was already bound to \" + el.nodeName);\n }\n\n this.ensureEditable(el);\n this.events.bind(el);\n el.setAttribute(\"data-tribute\", true);\n }\n\n ensureEditable(element) {\n if (Tribute.inputTypes().indexOf(element.nodeName) === -1) {\n if (element.contentEditable) {\n element.contentEditable = true;\n } else {\n throw new Error(\"[Tribute] Cannot bind to \" + element.nodeName);\n }\n }\n }\n\n createMenu(containerClass) {\n let wrapper = this.range.getDocument().createElement(\"div\"),\n ul = this.range.getDocument().createElement(\"ul\");\n wrapper.className = containerClass;\n wrapper.appendChild(ul);\n\n if (this.menuContainer) {\n return this.menuContainer.appendChild(wrapper);\n }\n\n return this.range.getDocument().body.appendChild(wrapper);\n }\n\n showMenuFor(element, scrollTo) {\n // Only proceed if menu isn't already shown for the current element & mentionText\n if (\n this.isActive &&\n this.current.element === element &&\n this.current.mentionText === this.currentMentionTextSnapshot\n ) {\n return;\n }\n this.currentMentionTextSnapshot = this.current.mentionText;\n\n // create the menu if it doesn't exist.\n if (!this.menu) {\n this.menu = this.createMenu(this.current.collection.containerClass);\n element.tributeMenu = this.menu;\n this.menuEvents.bind(this.menu);\n }\n\n this.isActive = true;\n this.menuSelected = 0;\n\n if (!this.current.mentionText) {\n this.current.mentionText = \"\";\n }\n\n const processValues = values => {\n // Tribute may not be active any more by the time the value callback returns\n if (!this.isActive) {\n return;\n }\n\n let items = this.search.filter(this.current.mentionText, values, {\n pre: this.current.collection.searchOpts.pre || \"<span>\",\n post: this.current.collection.searchOpts.post || \"</span>\",\n skip: this.current.collection.searchOpts.skip,\n extract: el => {\n if (typeof this.current.collection.lookup === \"string\") {\n return el[this.current.collection.lookup];\n } else if (typeof this.current.collection.lookup === \"function\") {\n return this.current.collection.lookup(el, this.current.mentionText);\n } else {\n throw new Error(\n \"Invalid lookup attribute, lookup must be string or function.\"\n );\n }\n }\n });\n\n if (this.current.collection.menuItemLimit) {\n items = items.slice(0, this.current.collection.menuItemLimit);\n }\n\n this.current.filteredItems = items;\n\n let ul = this.menu.querySelector(\"ul\");\n\n this.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n let noMatchEvent = new CustomEvent(\"tribute-no-match\", {\n detail: this.menu\n });\n this.current.element.dispatchEvent(noMatchEvent);\n if (\n (typeof this.current.collection.noMatchTemplate === \"function\" &&\n !this.current.collection.noMatchTemplate()) ||\n !this.current.collection.noMatchTemplate\n ) {\n this.hideMenu();\n } else {\n typeof this.current.collection.noMatchTemplate === \"function\"\n ? (ul.innerHTML = this.current.collection.noMatchTemplate())\n : (ul.innerHTML = this.current.collection.noMatchTemplate);\n }\n\n return;\n }\n\n ul.innerHTML = \"\";\n let fragment = this.range.getDocument().createDocumentFragment();\n\n items.forEach((item, index) => {\n let li = this.range.getDocument().createElement(\"li\");\n li.setAttribute(\"data-index\", index);\n li.className = this.current.collection.itemClass;\n li.addEventListener(\"mousemove\", e => {\n let [li, index] = this._findLiTarget(e.target);\n if (e.movementY !== 0) {\n this.events.setActiveLi(index);\n }\n });\n if (this.menuSelected === index) {\n li.classList.add(this.current.collection.selectClass);\n }\n li.innerHTML = this.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === \"function\") {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n\n _findLiTarget(el) {\n if (!el) return [];\n const index = el.getAttribute(\"data-index\");\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n\n showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n\n if (element.isContentEditable)\n this.insertTextAtCursor(this.current.collection.trigger);\n else this.insertAtCaret(element, this.current.collection.trigger);\n\n this.showMenuFor(element);\n }\n\n // TODO: make sure this works for inputs/textareas\n placeCaretAtEnd(el) {\n el.focus();\n if (\n typeof window.getSelection != \"undefined\" &&\n typeof document.createRange != \"undefined\"\n ) {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n }\n\n // for contenteditable\n insertTextAtCursor(text) {\n var sel, range;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n // for regular inputs\n insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(\n textarea.selectionEnd,\n textarea.value.length\n );\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n\n hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = \"display: none;\";\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n\n selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== \"number\" || isNaN(index)) return;\n let item = this.current.filteredItems[index];\n let content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n\n replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n\n _append(collection, newValues, replace) {\n if (typeof collection.values === \"function\") {\n throw new Error(\"Unable to append to values, as it is a function.\");\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n\n append(collectionIndex, newValues, replace) {\n let index = parseInt(collectionIndex);\n if (typeof index !== \"number\")\n throw new Error(\"please provide an index for the collection to update.\");\n\n let collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n\n appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error(\n \"No active state. Please use append instead and pass an index.\"\n );\n }\n }\n\n detach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n\n _detach(el) {\n this.events.unbind(el);\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(() => {\n el.removeAttribute(\"data-tribute\");\n this.isActive = false;\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n}\n\n/**\n * Tribute.js\n * Native ES6 JavaScript @mention Plugin\n **/\n\nexport default Tribute;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon link-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LinkVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LinkVariant.vue?vue&type=template&id=3834522c&\"\nimport script from \"./LinkVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./LinkVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../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 render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon link-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=d480a606&\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js&\"\nexport * from \"./Magnify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../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 * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Definition} Definition\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback GetDefinition\n * Get a definition by identifier.\n * @param {string | null | undefined} [identifier]\n * Identifier of definition.\n * @returns {Definition | null}\n * Definition corresponding to `identifier` or `null`.\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `tree`.\n *\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} tree\n * Tree to check.\n * @returns {GetDefinition}\n * Getter.\n */\nexport function definitions(tree) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!tree || !tree.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(tree, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /** @type {GetDefinition} */\n function definition(identifier) {\n const id = clean(identifier)\n // To do: next major: return `undefined` when not found.\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string | null | undefined} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record<string, string>}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","import StyleToObject from './index.js';\n\nexport default StyleToObject;\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback CreateElementLike\n * Function that works somewhat like `React.createElement`.\n * @param {string} name\n * Element name.\n * @param {any} attributes\n * Properties.\n * @param {Array<any>} [children]\n * Children.\n * @returns {any}\n * Something.\n *\n * @typedef State\n * Info passed around.\n * @property {Schema} schema\n * Current schema.\n * @property {string | undefined} prefix\n * Prefix to use.\n * @property {number} key\n * Current key.\n * @property {boolean} react\n * Looks like React.\n * @property {boolean} vue\n * Looks like Vue.\n * @property {boolean} vdom\n * Looks like vdom.\n * @property {boolean} hyperscript\n * Looks like `hyperscript`.\n *\n * @typedef Options\n * Configuration.\n * @property {string | null | undefined} [prefix]\n * Prefix to use as a prefix for keys passed in `props` to `h()`, this\n * behavior is turned off by passing `false` and turned on by passing a\n * `string`.\n * By default, `h-` is used as a prefix if the given `h` is detected as being\n * `virtual-dom/h` or `React.createElement`\n * @property {'html' | 'svg' | null | undefined} [space]\n * Whether `node` is in the `'html'` or `'svg'` space.\n * If an `<svg>` element is found when inside the HTML space, `toH`\n * automatically switches to the SVG space when entering the element, and\n * switches back when exiting.\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Node} tree\n * Tree to transform.\n * @param {string | boolean | Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\n// eslint-disable-next-line complexity\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (tree && tree.type === 'root') {\n const head = tree.children[0]\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && head.type === 'element'\n ? head\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (tree && tree.type === 'element') {\n node = tree\n } else {\n throw new Error(\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : undefined\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : undefined,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Element} node\n * Node to transform.\n * @param {State} state\n * Info passed around.\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\nfunction transform(h, node, state) {\n const parentSchema = state.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record<string, unknown>} */\n const attributes = {}\n /** @type {Array<ReturnType<H>|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n state.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], state, name)\n }\n }\n\n if (state.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = webNamespaces[schema.space]\n }\n }\n\n if (state.prefix) {\n state.key++\n attributes.key = state.prefix + state.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (value.type === 'element') {\n nodes.push(transform(h, value, state))\n } else if (value.type === 'text') {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n state.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * Add an attribute to `props`.\n *\n * @param {Record<string, unknown>} props\n * Map.\n * @param {string} prop\n * Key.\n * @param {unknown} value\n * Value.\n * @param {State} state\n * Info passed around.\n * @param {string} name\n * Element name.\n * @returns {void}\n * Nothing.\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, state, name) {\n const info = find(state.schema, prop)\n /** @type {string | undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (state.vue || state.vdom || state.hyperscript)) ||\n (!value && info.boolean && (state.vue || state.vdom || state.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && state.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (state.react || state.vue || state.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 2 */\n if (state.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (state.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (state.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && state.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like React.\n */\nfunction react(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `hyperscript`.\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `virtual-dom`\n */\nfunction vdom(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like Vue.\n */\nfunction vue(h) {\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 3 */\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * Parse a declaration into an object.\n *\n * @param {string} value\n * CSS declarations.\n * @param {string} tagName\n * Tag name.\n * @returns {Record<string, string>}\n * Properties.\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n styleToObject(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */\n (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error_) {\n const error = /** @type {Error} */ (error_)\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<unknown>} ReactElement\n *\n * @callback CreateElementLike\n * @param {any} name\n * @param {any} props\n * @param {...ReactNode} children\n * @returns {ReactNode}\n *\n * @typedef SharedOptions\n * Base configuration (without `components`).\n * @property {CreateElementLike} createElement\n * How to create elements or components.\n * You should typically pass `React.createElement`.\n * @property {((props: any) => ReactNode)|undefined} [Fragment]\n * Create fragments instead of an outer `<div>` if available.\n * You should typically pass `React.Fragment`.\n * @property {string|undefined} [prefix='h-']\n * React key prefix.\n * @property {boolean|undefined} [fixTableCellAlign=true]\n * Fix obsolete align attributes on table cells by turning them\n * into inline styles.\n * Keep it on when working with markdown, turn it off when working\n * with markup for emails.\n * The default is `true`.\n *\n * @typedef {SharedOptions & (import('./complex-types').ComponentsWithNodeOptions|import('./complex-types').ComponentsWithoutNodeOptions)} Options\n * Configuration.\n */\n\nimport {toH} from 'hast-to-hyperscript'\n// @ts-expect-error: hush.\nimport tableCellStyle from '@mapbox/hast-util-table-cell-style'\nimport {whitespace} from 'hast-util-whitespace'\n\nconst own = {}.hasOwnProperty\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * Compile HTML to React nodes.\n *\n * > 👉 **Note**: this compiler returns a React node where compilers typically\n * > return `string`.\n * > When using `.stringify`, the result is such a React node.\n * > When using `.process` (or `.processSync`), the result is available at\n * > `file.result`.\n *\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options], Root, ReactElement>}\n */\nexport default function rehypeReact(options) {\n if (!options || typeof options.createElement !== 'function') {\n throw new TypeError('createElement is not a function')\n }\n\n const createElement = options.createElement\n\n const fixTableCellAlign = options.fixTableCellAlign !== false\n\n Object.assign(this, {Compiler: compiler})\n\n /** @type {import('unified').CompilerFunction<Root, ReactNode>} */\n function compiler(node) {\n /** @type {ReactNode} */\n let result = toH(\n // @ts-expect-error: assume `name` is a known element.\n h,\n fixTableCellAlign ? tableCellStyle(node) : node,\n options.prefix\n )\n\n if (node.type === 'root') {\n // Invert <https://github.com/syntax-tree/hast-to-hyperscript/blob/d227372/index.js#L46-L56>.\n result =\n result &&\n typeof result === 'object' &&\n 'type' in result &&\n 'props' in result &&\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? // `children` does exist.\n // type-coverage:ignore-next-line\n result.props.children\n : [result]\n\n return createElement(options.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n /**\n * @param {keyof JSX.IntrinsicElements} name\n * @param {Record<string, unknown>} props\n * @param {Array<ReactNode>} [children]\n * @returns {ReactNode}\n */\n function h(name, props, children) {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/rehypejs/rehype-react/pull/29>.\n // See: <https://github.com/rehypejs/rehype-react/pull/32>.\n // See: <https://github.com/rehypejs/rehype-react/pull/45>.\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child))\n }\n\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name]\n\n if (options.passNode && typeof component === 'function') {\n // @ts-expect-error: `toH` passes the current node.\n // type-coverage:ignore-next-line\n props = Object.assign({node: this}, props)\n }\n\n return createElement(component, props, children)\n }\n\n return createElement(name, props, children)\n }\n}\n","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://infra.spec.whatwg.org/#ascii-whitespace>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst find = /[\\t ]*(?:\\r?\\n|\\r)/g\n\n/**\n * Plugin to support hard breaks without needing spaces or escapes (turns enters\n * into `<br>`s).\n *\n * @type {import('unified').Plugin<void[], Root>}\n */\nexport default function remarkBreaks() {\n return (tree) => {\n visit(tree, 'text', (node, index, parent) => {\n /** @type {PhrasingContent[]} */\n const result = []\n let start = 0\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n\n if (start !== position) {\n result.push({type: 'text', value: node.value.slice(start, position)})\n }\n\n result.push({type: 'break'})\n start = position + match[0].length\n match = find.exec(node.value)\n }\n\n if (result.length > 0 && parent && typeof index === 'number') {\n if (start < node.value.length) {\n result.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...result)\n return index + result.length\n }\n })\n }\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element['children'][number]} ElementChild\n *\n * @typedef Options\n * Configuration.\n * @property {'_self'|'_blank'|'_parent'|'_top'|false} [target='_blank']\n * How to display referenced documents (`string?`: `_self`, `_blank`,\n * `_parent`, or `_top`, default: `_blank`).\n * Pass `false` to not set `target`s on links.\n * @property {string[]|string|false} [rel=['nofollow', 'noopener', 'noreferrer']]\n * Link types to hint about the referenced documents.\n * Pass `false` to not set `rel`s on links.\n *\n * > When using a `target`, add `noopener` and `noreferrer` to avoid\n * > exploitation of the `window.opener` API.\n * @property {string[]} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel`.\n * @property {ElementChild|ElementChild[]} [content]\n * hast content to insert at the end of external links.\n * Will be inserted in a `<span>` element.\n *\n * Useful for improving accessibility by [giving users advanced warning when\n * opening a new window.\n * @property {Properties} [contentProperties]\n * `Properties` to add to the `span` wrapping `content`, when given.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {definitions} from 'mdast-util-definitions'\nimport {parse} from 'space-separated-tokens'\nimport absolute from 'is-absolute-url'\nimport extend from 'extend'\n\nconst defaultTarget = '_blank'\nconst defaultRel = ['nofollow', 'noopener', 'noreferrer']\nconst defaultProtocols = ['http', 'https']\n\n/**\n * Plugin to automatically add `target` and `rel` attributes to external links.\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkExternalLinks(options = {}) {\n const target = options.target\n const rel = typeof options.rel === 'string' ? parse(options.rel) : options.rel\n const protocols = options.protocols || defaultProtocols\n const content =\n options.content && !Array.isArray(options.content)\n ? [options.content]\n : options.content\n const contentProperties = options.contentProperties || {}\n\n return (tree) => {\n const definition = definitions(tree)\n\n visit(tree, (node) => {\n if (node.type === 'link' || node.type === 'linkReference') {\n const ctx = node.type === 'link' ? node : definition(node.identifier)\n\n // Undefined references can be injected into the tree by plugins.\n /* c8 ignore next */\n if (!ctx) return\n\n const protocol = ctx.url.slice(0, ctx.url.indexOf(':'))\n\n if (absolute(ctx.url) && protocols.includes(protocol)) {\n const data = node.data || (node.data = {})\n const props = /** @type {Properties} */ (\n data.hProperties || (data.hProperties = {})\n )\n\n if (target !== false) {\n props.target = target || defaultTarget\n }\n\n if (rel !== false) {\n props.rel = (rel || defaultRel).concat()\n }\n\n if (content) {\n // `fragment` is not a known mdast node, but unknown nodes with\n // children are handled as elements by `mdast-util-to-hast`:\n // See: <https://github.com/syntax-tree/mdast-util-to-hast#notes>.\n node.children.push({\n // @ts-expect-error\n type: 'fragment',\n children: [],\n data: {\n hName: 'span',\n hProperties: extend(true, contentProperties),\n hChildren: extend(true, content)\n }\n })\n }\n }\n }\n })\n }\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s.\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML.\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} value\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array<unknown>} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Node}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array<StackItem>} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Array<Construct>} */\n\n const resolveAllConstructs = []\n /** @type {Array<Chunk>} */\n\n let chunks = []\n /** @type {Array<Token>} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Array<Construct>|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Array<Construct>} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Array<Construct>} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array<Chunk>} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Array<Chunk>}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array<Chunk>} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array<Chunk>} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array<string>} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`&not`, for instance), which leads to situations where parsing the assumed\n // named reference of `&notit;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`&semi;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Array<Chunk>}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Root | Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n *\n * @typedef {Omit<UnistParent, 'type' | 'children'> & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | undefined | null | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array<string>} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array<Transform>} transforms\n * Tree transforms.\n *\n * @typedef {Partial<Config>} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array<Node | Fragment>} stack\n * Stack of nodes.\n * @property {Array<TokenTuple>} tokenStack\n * Stack of tokens.\n * @property {<Key extends keyof CompileData>(key: Key) => CompileData[Key]} getData\n * Get data from the key/value store.\n * @property {<Key extends keyof CompileData>(key: Key, value?: CompileData[Key]) => void} setData\n * Set data into the key/value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<Kind extends Node>(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array<Extension | Array<Extension>> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\n// To do: micromark: create a registry of tokens?\n// To do: next major: don’t return given `Node` from `enter`.\n// To do: next major: remove setter/getter.\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * @param value\n * Markdown to parse.\n * @param encoding\n * Character encoding for when `value` is `Buffer`.\n * @param options\n * Configuration.\n * @returns\n * mdast tree.\n */\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &\n * ((value: Value, options?: Options | null | undefined) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding | Options | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n // @ts-expect-error: micromark types need to accept `null`.\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array<Event>} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n /** @type {Array<number>} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n }\n // @ts-expect-error: `listItem` is most definitely defined, TS...\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n // @ts-expect-error Patched.\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Set data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @param {CompileData[Key]} [value]\n * New value.\n * @returns {void}\n * Nothing.\n */\n function setData(key, value) {\n data[key] = value\n }\n\n /**\n * Get data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @returns {CompileData[Key]}\n * Value.\n */\n function getData(key) {\n return data[key]\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Node} create\n * Create a node.\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {void}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @template {Node} Kind\n * Node type.\n * @this {CompileContext}\n * Context.\n * @param {Kind} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {Kind}\n * The given node.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n // @ts-expect-error: `end` will be patched later.\n node.position = {\n start: point(token.start)\n }\n return node\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {Node}\n * The closed node.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n return node\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n let tail = node.children[node.children.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n // @ts-expect-error: we’ll add `end` later.\n tail.position = {\n start: point(token.start)\n }\n // @ts-expect-error: Assume `parent` accepts `text`.\n node.children.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n setData('inReference', true)\n if (node.type === 'link') {\n /** @type {Array<StaticPhrasingContent>} */\n // @ts-expect-error: Assume static phrasing content.\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n setData('inReference')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {HTML} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array<Extension | Array<Extension>>} extensions\n * @returns {void}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {void}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n if (key === 'canContainEols') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'transforms') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'enter' || key === 'exit') {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Array<Event>} events\n * @returns {Array<Event>}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri` below).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * Then, a regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`,\n * or `/^https?$/i` for `img[src]`.\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string|undefined} url\n * @param {RegExp} [protocol]\n * @returns {string}\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n\n if (!protocol) {\n return value\n }\n\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) || // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n/**\n * Normalize a URL (such as used in definitions).\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function normalizeUri(value) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n\n let replace = '' // A correct percent encoded value.\n\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n } // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n } // Astral.\n else if (code > 55295 && code < 57344) {\n const next = value.charCodeAt(index + 1) // A correct surrogate pair.\n\n if (code < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n } // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n } // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n\n if (skip) {\n index += skip\n skip = 0\n }\n }\n\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('hast').Element} Element\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {FootnoteReference} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnoteReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n const index = state.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n if (index === -1) {\n state.footnoteOrder.push(id)\n state.footnoteCounts[id] = 1\n counter = state.footnoteOrder.length\n } else {\n state.footnoteCounts[id]++\n counter = index + 1\n }\n\n const reuseCounter = state.footnoteCounts[id]\n\n /** @type {Element} */\n const link = {\n type: 'element',\n tagName: 'a',\n properties: {\n href: '#' + state.clobberPrefix + 'fn-' + safeId,\n id:\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: ['footnote-label']\n },\n children: [{type: 'text', value: String(counter)}]\n }\n state.patch(node, link)\n\n /** @type {Element} */\n const sup = {\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [link]\n }\n state.patch(node, sup)\n return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Reference} Reference\n * @typedef {import('mdast').Root} Root\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Reference>} References\n */\n\n// To do: next major: always return array.\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {References} node\n * Reference node (image, link).\n * @returns {ElementContent | Array<ElementContent>}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return {type: 'text', value: '![' + node.alt + suffix}\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array<ElementContent>} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * Node.\n * @returns {Position}\n * Position.\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start' | 'end'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n // To do: next major: don’t return points when invalid.\n return {\n // @ts-expect-error: in practice, null is allowed.\n line: point.line || null,\n // @ts-expect-error: in practice, null is allowed.\n column: point.column || null,\n // @ts-expect-error: in practice, null is allowed.\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array<string>} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array<Element | Text>}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang ? node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/) : null\n /** @type {Properties} */\n const properties = {}\n\n if (lang) {\n properties.className = ['language-' + lang]\n }\n\n // Create `<code>`.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `<pre>`.\n result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n state.patch(node, result)\n return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Delete} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strikethrough(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'del',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Emphasis} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function emphasis(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'em',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../state.js').State} State\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n// To do: when both:\n// * <https://github.com/micromark/micromark-extension-footnote>\n// * <https://github.com/syntax-tree/mdast-util-footnote>\n// …are archived, remove this (also from mdast).\n// These inline notes are not used in GFM.\n\n/**\n * Turn an mdast `footnote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Footnote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnote(state, node) {\n const footnoteById = state.footnoteById\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(state, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Heading} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function heading(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'h' + node.depth,\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').HTML} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n * Info passed around.\n * @param {Html} node\n * mdast node.\n * @returns {Raw | Element | null}\n * hast node.\n */\nexport function html(state, node) {\n if (state.dangerous) {\n /** @type {Raw} */\n const result = {type: 'raw', value: node.value}\n state.patch(node, result)\n return state.applyData(node, result)\n }\n\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ImageReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function imageReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Image} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function image(state, node) {\n /** @type {Properties} */\n const properties = {src: normalizeUri(node.url)}\n\n if (node.alt !== null && node.alt !== undefined) {\n properties.alt = node.alt\n }\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {InlineCode} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function inlineCode(state, node) {\n /** @type {Text} */\n const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n state.patch(node, text)\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'code',\n properties: {},\n children: [text]\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {LinkReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function linkReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {href: normalizeUri(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Link} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function link(state, node) {\n /** @type {Properties} */\n const properties = {href: normalizeUri(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {List} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function list(state, node) {\n /** @type {Properties} */\n const properties = {}\n const results = state.all(node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n properties.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < results.length) {\n const child = results[index]\n\n if (\n child.type === 'element' &&\n child.tagName === 'li' &&\n child.properties &&\n Array.isArray(child.properties.className) &&\n child.properties.className.includes('task-list-item')\n ) {\n properties.className = ['contains-task-list']\n break\n }\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: node.ordered ? 'ol' : 'ul',\n properties,\n children: state.wrap(results, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Paragraph} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function paragraph(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'p',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastRoot} node\n * mdast node.\n * @returns {HastRoot | HastElement}\n * hast node.\n */\nexport function root(state, node) {\n /** @type {HastRoot} */\n const result = {type: 'root', children: state.wrap(state.all(node))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Strong} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strong(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'strong',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Table} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function table(state, node) {\n const rows = state.all(node)\n const firstRow = rows.shift()\n /** @type {Array<Element>} */\n const tableContent = []\n\n if (firstRow) {\n /** @type {Element} */\n const head = {\n type: 'element',\n tagName: 'thead',\n properties: {},\n children: state.wrap([firstRow], true)\n }\n state.patch(node.children[0], head)\n tableContent.push(head)\n }\n\n if (rows.length > 0) {\n /** @type {Element} */\n const body = {\n type: 'element',\n tagName: 'tbody',\n properties: {},\n children: state.wrap(rows, true)\n }\n\n const start = pointStart(node.children[1])\n const end = pointEnd(node.children[node.children.length - 1])\n if (start.line && end.line) body.position = {start, end}\n tableContent.push(body)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'table',\n properties: {},\n children: state.wrap(tableContent, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableCell} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function tableCell(state, node) {\n // Note: this function is normally not called: see `table-row` for how rows\n // and their cells are compiled.\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'td', // Assume body cell.\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableRow} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function tableRow(state, node, parent) {\n const siblings = parent ? parent.children : undefined\n // Generate a body row when without parent.\n const rowIndex = siblings ? siblings.indexOf(node) : 1\n const tagName = rowIndex === 0 ? 'th' : 'td'\n const align = parent && parent.type === 'table' ? parent.align : undefined\n const length = align ? align.length : node.children.length\n let cellIndex = -1\n /** @type {Array<ElementContent>} */\n const cells = []\n\n while (++cellIndex < length) {\n // Note: can also be undefined.\n const cell = node.children[cellIndex]\n /** @type {Properties} */\n const properties = {}\n const alignValue = align ? align[cellIndex] : undefined\n\n if (alignValue) {\n properties.align = alignValue\n }\n\n /** @type {Element} */\n let result = {type: 'element', tagName, properties, children: []}\n\n if (cell) {\n result.children = state.all(cell)\n state.patch(cell, result)\n result = state.applyData(node, result)\n }\n\n cells.push(result)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'tr',\n properties: {},\n children: state.wrap(cells, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastText} node\n * mdast node.\n * @returns {HastText | HastElement}\n * hast node.\n */\nexport function text(state, node) {\n /** @type {HastText} */\n const result = {type: 'text', value: trimLines(String(node.value))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ThematicBreak} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function thematicBreak(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'hr',\n properties: {},\n children: []\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Parent} MdastParent\n * @typedef {import('mdast').Root} MdastRoot\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n * @typedef {Extract<MdastNodes, MdastParent>} MdastParents\n *\n * @typedef EmbeddedHastFields\n * hast fields.\n * @property {string | null | undefined} [hName]\n * Generate a specific element with this tag name instead.\n * @property {HastProperties | null | undefined} [hProperties]\n * Generate an element with these properties instead.\n * @property {Array<HastElementContent> | null | undefined} [hChildren]\n * Generate an element with this content instead.\n *\n * @typedef {Record<string, unknown> & EmbeddedHastFields} MdastData\n * mdast data with embedded hast fields.\n *\n * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData\n * mdast node with embedded hast data.\n *\n * @typedef PointLike\n * Point-like value.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @typedef PositionLike\n * Position-like value.\n * @property {PointLike | null | undefined} [start]\n * Point-like value.\n * @property {PointLike | null | undefined} [end]\n * Point-like value.\n *\n * @callback Handler\n * Handle a node.\n * @param {State} state\n * Info passed around.\n * @param {any} node\n * mdast node to handle.\n * @param {MdastParents | null | undefined} parent\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * hast node.\n *\n * @callback HFunctionProps\n * Signature of `state` for when props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {HastProperties} props\n * Properties.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @callback HFunctionNoProps\n * Signature of `state` for when no props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @typedef HFields\n * Info on `state`.\n * @property {boolean} dangerous\n * Whether HTML is allowed.\n * @property {string} clobberPrefix\n * Prefix to use to prevent DOM clobbering.\n * @property {string} footnoteLabel\n * Label to use to introduce the footnote section.\n * @property {string} footnoteLabelTagName\n * HTML used for the footnote label.\n * @property {HastProperties} footnoteLabelProperties\n * Properties on the HTML tag used for the footnote label.\n * @property {string} footnoteBackLabel\n * Label to use from backreferences back to their footnote call.\n * @property {(identifier: string) => MdastDefinition | null} definition\n * Definition cache.\n * @property {Record<string, MdastFootnoteDefinition>} footnoteById\n * Footnote definitions by their identifier.\n * @property {Array<string>} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Record<string, number>} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {Handler} unknownHandler\n * Handler for any none not in `passThrough` or otherwise handled.\n * @property {(from: MdastNodes, node: HastNodes) => void} patch\n * Copy a node’s positional info.\n * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => Type | HastElement} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array<HastElementContent> | null | undefined} one\n * Transform an mdast node to hast.\n * @property {(node: MdastNodes) => Array<HastElementContent>} all\n * Transform the children of an mdast parent to hast.\n * @property {<Type extends HastContent>(nodes: Array<Type>, loose?: boolean | null | undefined) => Array<Type | HastText>} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment\n * Like `state` but lower-level and usable on non-elements.\n * Deprecated: use `patch` and `applyData`.\n * @property {Array<string>} passThrough\n * List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Whether to persist raw HTML in markdown in the hast tree.\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n * Prefix to use before the `id` attribute on footnotes to prevent it from\n * *clobbering*.\n * @property {string | null | undefined} [footnoteBackLabel='Back to content']\n * Label to use from backreferences back to their footnote call (affects\n * screen readers).\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Label to use for the footnotes section (affects screen readers).\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (note that `id: 'footnote-label'`\n * is always added as footnote calls use it with `aria-describedby` to\n * provide an accessible label).\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * Tag name to use for the footnote label.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes.\n * @property {Array<string> | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes.\n *\n * @typedef {Record<string, Handler>} Handlers\n * Handle nodes.\n *\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} State\n * Info passed around.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {position, pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Record<string, MdastFootnoteDefinition>} */\n const footnoteById = {}\n\n // To do: next major: add `options` to state, remove:\n // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,\n // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,\n // `unknownHandler`.\n\n // To do: next major: move to `state.options.allowDangerousHtml`.\n state.dangerous = dangerous\n // To do: next major: move to `state.options`.\n state.clobberPrefix =\n settings.clobberPrefix === undefined || settings.clobberPrefix === null\n ? 'user-content-'\n : settings.clobberPrefix\n // To do: next major: move to `state.options`.\n state.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n // To do: next major: move to `state.options`.\n state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'\n // To do: next major: move to `state.options`.\n state.footnoteLabelProperties = settings.footnoteLabelProperties || {\n className: ['sr-only']\n }\n // To do: next major: move to `state.options`.\n state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n // To do: next major: move to `state.options`.\n state.unknownHandler = settings.unknownHandler\n // To do: next major: move to `state.options`.\n state.passThrough = settings.passThrough\n\n state.handlers = {...handlers, ...settings.handlers}\n\n // To do: next major: replace utility with `definitionById` object, so we\n // only walk once (as we need footnotes too).\n state.definition = definitions(tree)\n state.footnoteById = footnoteById\n /** @type {Array<string>} */\n state.footnoteOrder = []\n /** @type {Record<string, number>} */\n state.footnoteCounts = {}\n\n state.patch = patch\n state.applyData = applyData\n state.one = oneBound\n state.all = allBound\n state.wrap = wrap\n // To do: next major: remove `augment`.\n state.augment = augment\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return state\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n *\n * @param {MdastNodeWithData | PositionLike | null | undefined} left\n * @param {HastElementContent} right\n * @returns {HastElementContent}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {MdastData} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n // @ts-expect-error: fine.\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n /* c8 ignore stop */\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function state(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n /* c8 ignore stop */\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n function oneBound(node, parent) {\n // @ts-expect-error: that’s a state :)\n return one(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n function allBound(parent) {\n // @ts-expect-error: that’s a state :)\n return all(state, parent)\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {void}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {Type | HastElement}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {Type | HastElement} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent is likely to keep the content around (otherwise: pass\n // `hChildren`).\n else {\n result = {\n type: 'element',\n tagName: hName,\n properties: {},\n children: []\n }\n\n // To do: next major: take the children from the `root`, or inject the\n // raw/text/comment or so into the element?\n // if ('children' in node) {\n // // @ts-expect-error: assume `children` are allowed in elements.\n // result.children = node.children\n // } else {\n // // @ts-expect-error: assume `node` is allowed in elements.\n // result.children.push(node)\n // }\n }\n }\n\n if (result.type === 'element' && hProperties) {\n result.properties = {...result.properties, ...hProperties}\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n // @ts-expect-error: assume valid children are defined.\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an mdast node into a hast node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n// To do: next major: do not expose, keep bound.\nexport function one(state, node, parent) {\n const type = node && node.type\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(state.handlers, type)) {\n return state.handlers[type](state, node, parent)\n }\n\n if (state.passThrough && state.passThrough.includes(type)) {\n // To do: next major: deep clone.\n // @ts-expect-error: types of passed through nodes are expected to be added manually.\n return 'children' in node ? {...node, children: all(state, node)} : node\n }\n\n if (state.unknownHandler) {\n return state.unknownHandler(state, node, parent)\n }\n\n return defaultUnknownHandler(state, node)\n}\n\n/**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n// To do: next major: do not expose, keep bound.\nexport function all(state, parent) {\n /** @type {Array<HastElementContent>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = one(state, nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastText | HastElement}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastText | HastElement} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: all(state, node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastContent} Type\n * Node type.\n * @param {Array<Type>} nodes\n * List of nodes to wrap.\n * @param {boolean | null | undefined} [loose=false]\n * Whether to add line endings at start and end.\n * @returns {Array<Type | HastText>}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array<Type | HastText>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Root} HastRoot\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Root} MdastRoot\n *\n * @typedef {import('./state.js').Options} Options\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n */\n\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `<div>` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef NodeLike\n * @property {PositionLike | null | undefined} [position]\n */\n\n/**\n * Check if `node` is generated.\n *\n * @param {NodeLike | null | undefined} [node]\n * Node to check.\n * @returns {boolean}\n * Whether `node` is generated (does not have positional info).\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array<ElementContent>} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array<ElementContent>} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","import stripAnsi from 'strip-ansi';\nimport charRegex from 'char-regex';\n\nexport default function stringLength(string, {countAnsiEscapeCodes = false} = {}) {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\treturn string.match(charRegex()).length;\n}\n","import ansiRegex from 'ansi-regex';\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\treturn string.replace(ansiRegex(), '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","// Based on https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\r\n\r\nexport default function charRegex() {\r\n\t// Unicode character classes\r\n\tconst astralRange = '\\\\ud800-\\\\udfff';\r\n\tconst comboMarksRange = '\\\\u0300-\\\\u036f';\r\n\tconst comboHalfMarksRange = '\\\\ufe20-\\\\ufe2f';\r\n\tconst comboSymbolsRange = '\\\\u20d0-\\\\u20ff';\r\n\tconst comboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff';\r\n\tconst comboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff';\r\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange;\r\n\tconst varRange = '\\\\ufe0e\\\\ufe0f';\r\n\r\n\t// Telugu characters\r\n\tconst teluguVowels = '\\\\u0c05-\\\\u0c0c\\\\u0c0e-\\\\u0c10\\\\u0c12-\\\\u0c14\\\\u0c60-\\\\u0c61';\r\n\tconst teluguVowelsDiacritic = '\\\\u0c3e-\\\\u0c44\\\\u0c46-\\\\u0c48\\\\u0c4a-\\\\u0c4c\\\\u0c62-\\\\u0c63';\r\n\tconst teluguConsonants = '\\\\u0c15-\\\\u0c28\\\\u0c2a-\\\\u0c39';\r\n\tconst teluguConsonantsRare = '\\\\u0c58-\\\\u0c5a';\r\n\tconst teluguModifiers = '\\\\u0c01-\\\\u0c03\\\\u0c4d\\\\u0c55\\\\u0c56';\r\n\tconst teluguNumerals = '\\\\u0c66-\\\\u0c6f\\\\u0c78-\\\\u0c7e';\r\n\tconst teluguSingle = `[${teluguVowels}(?:${teluguConsonants}(?!\\\\u0c4d))${teluguNumerals}${teluguConsonantsRare}]`;\r\n\tconst teluguDouble = `[${teluguConsonants}${teluguConsonantsRare}][${teluguVowelsDiacritic}]|[${teluguConsonants}${teluguConsonantsRare}][${teluguModifiers}`;\r\n\tconst teluguTriple = `[${teluguConsonants}]\\\\u0c4d[${teluguConsonants}]`;\r\n\tconst telugu = `(?:${teluguTriple}|${teluguDouble}|${teluguSingle})`;\r\n\r\n\t// Unicode capture groups\r\n\tconst astral = `[${astralRange}]`;\r\n\tconst combo = `[${comboRange}]`;\r\n\tconst fitz = '\\\\ud83c[\\\\udffb-\\\\udfff]';\r\n\tconst modifier = `(?:${combo}|${fitz})`;\r\n\tconst nonAstral = `[^${astralRange}]`;\r\n\tconst regional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}';\r\n\tconst surrogatePair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]';\r\n\tconst zeroWidthJoiner = '\\\\u200d';\r\n\tconst blackFlag = '(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)';\r\n\r\n\t// Unicode regexes\r\n\tconst optModifier = `${modifier}?`;\r\n\tconst optVar = `[${varRange}]?`;\r\n\tconst optJoin = `(?:${zeroWidthJoiner}(?:${[nonAstral, regional, surrogatePair].join('|')})${optVar + optModifier})*`;\r\n\tconst seq = optVar + optModifier + optJoin;\r\n\tconst nonAstralCombo = `${nonAstral}${combo}?`;\r\n\tconst symbol = `(?:${[blackFlag, nonAstralCombo, combo, regional, surrogatePair, astral].join('|')})`;\r\n\r\n\t// Match string symbols (https://mathiasbynens.be/notes/javascript-unicode)\r\n\treturn new RegExp(`${fitz}(?=${fitz})|${telugu}|${symbol + seq}`, 'g');\r\n}\r\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason` at `place` from `origin`.\n *\n * When an error is passed in as `reason`, the `stack` is copied.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n *\n * > 👉 **Note**: you should use markdown.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // To do: next major: expose `undefined` everywhere instead of `null`.\n constructor(reason, place, origin) {\n /** @type {[string | null, string | null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n // To do: next major: deep clone.\n // @ts-expect-error: looks like a position.\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-expect-error: looks like a position.\n // To do: next major: deep clone.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // To do: next major: deep clone.\n position.start = place\n }\n }\n\n // Fields from `Error`.\n /**\n * Serialized positional info of error.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(place) || '1:1'\n\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = typeof reason === 'object' ? reason.message : reason\n\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack = ''\n\n if (typeof reason === 'object' && reason.stack) {\n this.stack = reason.stack\n }\n\n /**\n * Reason for message.\n *\n * > 👉 **Note**: you should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /* eslint-disable no-unused-expressions */\n /**\n * State of problem.\n *\n * * `true` — marks associated file as no longer processable (error)\n * * `false` — necessitates a (potential) change (warning)\n * * `null | undefined` — for things that might not need changing (info)\n *\n * @type {boolean | null | undefined}\n */\n this.fatal\n\n /**\n * Starting line of error.\n *\n * @type {number | null}\n */\n this.line = position.start.line\n\n /**\n * Starting column of error.\n *\n * @type {number | null}\n */\n this.column = position.start.column\n\n /**\n * Full unist position.\n *\n * @type {Position | null}\n */\n this.position = position\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | null}\n */\n this.source = parts[0]\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | null}\n */\n this.ruleId = parts[1]\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | null}\n */\n this.file\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | null}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array<string> | null}\n */\n this.expected\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | null}\n */\n this.url\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | null}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array<string>} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * Check if `fileUrlOrPath` looks like a URL.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileUrlOrPath) {\n return (\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.href &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n *\n * This is a copy of the types from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Options | URL | Value | VFile} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {Value | null | undefined} [value]\n * Set `value`.\n * @property {string | null | undefined} [cwd]\n * Set `cwd`.\n * @property {Array<string> | null | undefined} [history]\n * Set `history`.\n * @property {URL | string | null | undefined} [path]\n * Set `path`.\n * @property {string | null | undefined} [basename]\n * Set `basename`.\n * @property {string | null | undefined} [stem]\n * Set `stem`.\n * @property {string | null | undefined} [extname]\n * Set `extname`.\n * @property {string | null | undefined} [dirname]\n * Set `dirname`.\n * @property {Data | null | undefined} [data]\n * Set `data`.\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array<string>} sources\n * An array of URLs to the original source files.\n * @property {Array<string>} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array<string> | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template {ReporterSettings} Settings\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array<VFile>} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport bufferLike from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n *\n * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}\n */\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Buffer` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {string | URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Buffer`\n * (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding || undefined)\n }\n\n /**\n * Create a warning message associated with the file.\n *\n * Its `fatal` is set to `false` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Create an info message associated with the file.\n *\n * Its `fatal` is set to `null` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Create a fatal error associated with the file.\n *\n * Its `fatal` is set to `true` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Message.\n * @throws {VFileMessage}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {void}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is a buffer.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Buffer}\n * Whether `value` is a Node.js buffer.\n */\nfunction buffer(value) {\n return bufferLike(value)\n}\n","/// <reference lib=\"dom\" />\n\nimport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>\n\n/**\n * @param {string | URL} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array<Node> | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record<string, unknown>} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @param type\n * Node type.\n * @param props\n * Fields assigned to node.\n * @param value\n * Children of node or value of `node` (cast to string).\n * @returns\n * Built node.\n */\nexport const u =\n /**\n * @type {(\n * (<T extends string>(type: T) => {type: T}) &\n * (<T extends string, P extends Props>(type: T, props: P) => {type: T} & P) &\n * (<T extends string>(type: T, value: string) => {type: T, value: string}) &\n * (<T extends string, P extends Props>(type: T, props: P, value: string) => {type: T, value: string} & P) &\n * (<T extends string, C extends Array<Node>>(type: T, children: C) => {type: T, children: C}) &\n * (<T extends string, P extends Props, C extends Array<Node>>(type: T, props: P, children: C) => {type: T, children: C} & P)\n * )}\n */\n (\n /**\n * @param {string} type\n * @param {Props | ChildrenOrValue | null | undefined} [props]\n * @param {ChildrenOrValue | null | undefined} [value]\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n }\n )\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @typedef {Record<string, unknown>} Props\n * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test\n * Check for an arbitrary node, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if a node passes a test, unaware of TypeScript inferral.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | void}\n * Whether this node passes the test.\n */\n\n/**\n * @template {Node} Kind\n * Node type.\n * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest\n * Check for a node that can be inferred by TypeScript.\n */\n\n/**\n * Check if a node passes a certain test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback TestFunctionPredicate\n * Complex test function for a node that can be inferred by TypeScript.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this node passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is a node, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if a node is a node and passes a certain node test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific node, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific node.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n /**\n * @type {(\n * (() => false) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &\n * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &\n * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convert =\n /**\n * @type {(\n * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array<string | Props | TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n 'type' in node &&\n // @ts-expect-error: fine.\n Boolean(check.call(this, node, ...parameters))\n )\n }\n}\n\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * @typedef {boolean | 'skip'} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array<Ancestor>} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * Tree type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor<Node>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {Node} node\n * @param {number | undefined} index\n * @param {Array<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Record<string, unknown>} */\n // @ts-expect-error: hush\n const value = node && typeof node === 'object' ? node : {}\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {ActionTuple}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * Check if `Child` can be a child of `Ancestor`.\n *\n * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns\n * `never`.\n *\n * @template {Node} Ancestor\n * Node type.\n * @template {Node} Child\n * Node type.\n * @typedef {(\n * Ancestor extends Parent\n * ? Child extends Ancestor['children'][number]\n * ? Ancestor\n * : never\n * : never\n * )} ParentsOf\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends Node ? number | null : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends Node ? Ancestor | null : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Visited\n * Node type.\n * @template {Parent} Ancestor\n * Parent type.\n * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch\n */\n\n/**\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n * @typedef {(\n * BuildVisitorFromMatch<\n * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,\n * Extract<Descendant, Parent>\n * >\n * )} BuildVisitorFromDescendants\n */\n\n/**\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} [Tree=Node]\n * Node type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {(\n * BuildVisitorFromDescendants<\n * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,\n * Check\n * >\n * )} BuildVisitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n"],"names":["visit","hasOwnProperty","Object","prototype","hastCssPropertyMap","align","valign","height","width","visitor","node","hastName","tagName","call","undefined","properties","appendStyle","property","value","prevStyle","style","trim","test","nextStyle","module","exports","convert","Boolean","type","typeFactory","ok","anyFactory","matchesFactory","Error","key","tests","checks","results","length","index","convertAll","apply","this","arguments","visitParents","CONTINUE","SKIP","EXIT","tree","reverse","is","one","parents","subresult","result","toResult","children","step","all","concat","parent","indexOf","e","self","t","n","d","Z","c","i","r","o","a","s","l","name","components","NcButton","default","AlertCircle","Check","inheritAttrs","props","String","required","validator","includes","label","labelOutside","labelVisible","placeholder","showTrailingButton","trailingButtonLabel","success","error","helperText","disabled","inputClass","emits","computed","computedId","$attrs","id","inputName","hasLeadingIcon","$slots","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","console","warn","methods","handleInput","$emit","target","handleTrailingButtonClick","x","_self","_c","staticClass","class","attrs","for","_v","_s","_e","_g","_b","ref","domProps","on","input","$listeners","directives","rawName","expression","_t","click","scopedSlots","_u","fn","proxy","size","G","u","Symbol","iterator","constructor","p","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","A","forEach","m","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","TypeError","configurable","writable","h","Array","isArray","f","from","toString","slice","v","g","DotsHorizontal","NcPopover","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","ariaLabel","ariaHidden","placement","boundariesElement","Element","document","querySelector","container","inline","Number","data","opened","focusIndex","randomId","triggerBtnType","watch","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","openMenu","closeMenu","$refs","popover","clearFocusTrap","returnFocus","menuButton","$el","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","remove","add","preventIfEvent","stopPropagation","onFocus","onBlur","render","util","C","b","y","w","k","_","S","icon","propsData","B","listeners","j","text","E","N","P","title","blur","slot","delay","handleResize","shown","boundary","popoverBaseClass","setReturnFocus","show","hide","tabindex","keydown","mousemove","role","map","z","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","locals","O","D","T","L","I","$","asyncIterator","toStringTag","create","arg","wrap","getPrototypeOf","_invoke","resolve","__await","then","done","method","delegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","pop","values","prev","charAt","stop","rval","complete","finish","catch","delegateYield","getBuilder","persist","build","setItem","ClickOutside","vOnClickOutside","NcLoadingIcon","NcPopoverMenu","mixins","iQ","url","iconClass","user","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","hasStatus","status","userStatus","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","getCurrentUser","uid","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","Math","round","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","toUpperCase","href","hyperlink","longtext","message","createTextNode","createElement","appendChild","innerHTML","loadAvatarUrl","mounted","subscribe","fetchUserStatus","handleUserStatusUpdated","beforeDestroy","unsubscribe","handlePopoverAfterShow","popoverMenu","getElementsByTagName","handlePopoverAfterHide","main","userId","toggleMenu","fetchContactsMenu","encodeURIComponent","post","generateUrl","topAction","actions","t0","updateImageIfValid","avatarUrlGenerator","join","window","getComputedStyle","body","getPropertyValue","oc_userconfig","avatar","version","getItem","Image","onload","onerror","debug","srcset","src","M","U","F","R","_k","alt","nativeType","wide","to","exact","navigate","isActive","isExactActive","custom","NcHighlight","search","needsTruncate","split","min","floor","part1","part2","highlight1","highlight2","start","end","highlight","description","hasTitle","hasDescription","action","ranges","reduce","sort","max","chunks","svg","cleanSvg","beforeMount","sanitizeSVG","NcAvatar","NcIconSvgWrapper","subtitle","iconSvg","iconTitle","avatarSize","noMargin","margin","hasIcon","hasIconSvg","isValidSubtitle","isSizeBigEnough","cssVars","appearance","colors","viewBox","fill","K","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","NcActions","ChevronLeft","ChevronRight","Close","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","inlineActions","mc","playing","slideshowTimeout","iconSize","focusTrap","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","addEventListener","handleKeydown","removeEventListener","off","destroy","useFocusTrap","handleSwipe","insertBefore","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","createFocusTrap","allowOutsideClick","trapStack","activate","deactivate","q","W","Y","V","appear","modifiers","auto","stroke","cx","cy","mousedown","currentTarget","invisible","H","NcEllipsisedOption","NcListItemIcon","VueMultiselect","closeOnSelect","multiple","limit","trackBy","options","userSelect","loading","autoLimit","tagWidth","elWidth","ariaExpanded","maxOptions","limitString","localValue","get","set","willCloseOnSelect","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","$scopedSlots","option","_l","model","callback","Dropdown","HTMLElement","SVGElement","popperContent","$focusTrap","escapeDeactivates","afterShow","afterHide","distance","item","random","iconIsUrl","URL","NcPopoverMenuItem","download","rel","active","submit","checked","_i","change","$set","_q","composing","getLinkWithPicker","Ee","searchProvider","yt","_vue_richtext_widgets","_registerWidget","onDestroy","reference","compact","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","display","lineClamp","webkitLineClamp","compactLink","openGraphObject","link","startsWith","substring","renderWidget","observer","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","thumb","NcReferenceWidget","referenceData","references","isVisible","displayedReferences","firstReference","fetch","RegExp","exec","ocs","generateOcsUrl","autolink","useMarkdown","splice","flat","component","match","Q","J","X","tt","et","nt","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","li","strong","em","h1","h2","h3","h4","h5","h6","hr","table","pre","code","blockquote","renderPlaintext","context","renderMarkdown","unified","use","handlers","prefix","processSync","it","rt","ot","at","st","lt","_vue_richtext_custom_picker_elements","ct","_registerCustomPickerElement","ut","provider","isRegistered","renderResult","renderElement","domElement","providerId","object","_isVue","$on","onSubmit","onCancel","element","detail","dt","pt","At","mt","ht","ft","vt","icon_url","imagePath","gt","Ct","find","_vue_richtext_reference_providers","search_providers_ids","replace","_vue_richtext_reference_provider_timestamps","order","bt","loadState","xt","wt","kt","St","Bt","jt","Et","Pt","zt","NcMultiselect","NcEmptyContent","LinkVariantIcon","selectedProvider","query","multiselectPlaceholder","isLink","Nt","onProviderSelected","Ot","Dt","Tt","Lt","It","$t","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","onClear","onInput","abort","updateReference","AbortController","signal","Gt","Mt","Ut","nativeOn","keyup","Ft","Rt","Zt","entry","qt","Wt","Yt","rounded","thumbnailUrl","subline","Vt","Ht","Kt","Qt","Jt","Xt","te","DotsHorizontalIcon","MagnifyIcon","NcSearchResult","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","entries","isCustomGroupTitle","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","searchMoreOf","searchProviders","searchOneProvider","cursor","allSettled","reason","term","ee","ne","ie","re","oe","providerList","standardLinkInput","searchInput","customElement","ae","NcCustomPickerElement","NcProviderList","NcRawLinkInput","NcSearch","initialProvider","focusOnCreate","MODES","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","now","put","se","le","ce","cancel","ue","de","pe","Ae","me","he","fe","ve","NcReferencePicker","NcModal","ArrowLeftIcon","CloseIcon","isInsideViewer","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalTitle","modalTitle","modal_content","emit","onProviderSelect","onBackClicked","referencePicker","ge","Ce","be","ye","xe","we","ke","Se","Be","Ne","je","append","extend","$mount","$destroy","NcInputField","ArrowRight","Undo","trailingButtonIcon","clearTextLabel","$props","themes","html","VTooltip","emojiAddRecent","emojiSearch","EmojiIndex","frequently","emoji","toLowerCase","parseInt","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","ngettext","gettext","getCapabilities","user_status","enabled","response","isMobile","created","handleWindowResize","documentElement","clientWidth","userData","renderContent","genSelectTemplate","parseContent","autocompleteTribute","current","collection","trigger","mentionText","renderComponentHtml","defaultProtocol","className","attributes","setAttribute","assign","_nc_focus_trap","sources","names","mappings","sourcesContent","sourceRoot","__esModule","hash","needQuotes","btoa","unescape","JSON","stringify","identifier","base","css","media","sourceMap","supports","layer","updater","byIndex","update","HTMLIFrameElement","contentDocument","head","nc","parentNode","removeChild","styleSheet","cssText","firstChild","iconUrl","source","avatarUrl","getAvatarUrl","contenteditable","backgroundImage","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","baseURI","location","NcAutoCompleteResult","NcMentionBubble","haveStatus","autoComplete","Function","multiline","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","original","noMatchTemplate","selectTemplate","debouncedAutoComplete","emojiOptions","native","short_name","unshift","containerClass","itemClass","linkOptions","getLink","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","canEdit","updateContent","attach","emojiTribute","linkTribute","contentEditable","detach","getElementById","replaceWith","setCursorAfter","updateValue","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onPaste","clipboardData","files","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","onDelete","isCollapsed","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","deleteContents","onEnter","onCtrlEnter","onKeyUp","stopImmediatePropagation","ctrlKey","altKey","metaKey","paste","hasOwn","toStr","gOPD","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","copy","copyIsArray","clone","deep","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","errorsList","msg","err","filename","silent","comments","rules","comment","pos","declaration","prop","val","ret","decl","decls","declarations","parse","StyleToObject","output","hasIterator","len","predicate","list","thisArg","CustomEvent","CustomEvent$1","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","TributeEvents","events","static","boundKeydown","boundKeyup","boundInput","unbind","instance","shouldDeactivate","hideMenu","commandEvent","callbacks","inputEvent","contains","nodeName","selectItemAtIndex","getAttribute","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","charCodeAt","menuShowMinLength","showMenuFor","eventKeyPressed","el","info","range","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","enter","filteredItems","menuSelected","escape","tab","space","spaceSelectsMatch","up","selected","setActiveLi","scrollTop","scrollHeight","down","delete","lis","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","top","getFullHeight","elem","includeMargin","currentStyle","parseFloat","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","debounce","windowResizeEvent","positionMenuAtCaret","getDocument","func","wait","immediate","timeout","args","callNow","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","scrollIntoView","menuDimensions","offsetHeight","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","menuContainerIsBody","selectElement","targetElement","path","offset","childNodes","nextSibling","previousSibling","sel","getWindowSelection","replaceTriggerText","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","selectionStart","selectionEnd","dispatchEvent","lastNode","frag","createDocumentFragment","cloneRange","setStartAfter","getNodePositionInParent","getContentEditableSelectedPath","ctx","getTextPrecedingCurrentSelection","selectedElem","workingNodeContent","textContent","selectStartOffset","textComponent","getLastWordInText","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","effectiveRange","lastWordOfEffectiveRange","mentionSelectedElement","mostRecentTriggerCharPos","config","idx","lastIndexWithLeadingSpace","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","reversedStr","cidx","firstChar","triggerIdx","windowWidth","windowHeight","doc","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","ceil","getMenuDimensions","dimensions","flipped","isFirefox","mozInnerScreenX","div","whiteSpace","wordWrap","visibility","overflowY","overflow","span","rect","offsetTop","borderTopWidth","offsetLeft","borderLeftWidth","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","simpleFilter","pattern","array","string","opts","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","cache","stringIndex","patternIndex","calculateScore","best","temp","indices","extract","Tribute","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","inputTypes","createMenu","wrapper","currentMentionTextSnapshot","tributeMenu","processValues","fragment","_findLiTarget","movementY","showMenuForCollection","collectionIndex","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","createTextRange","textRange","moveToElementText","select","textNode","textarea","scrollPos","caretPos","front","back","replaceText","_append","newValues","appendCurrent","_detach","removeAttribute","isBuffer","fillColor","_vm","$event","own","definitions","definition","clean","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","fromCharCode","Schema","normal","merge","normalize","Info","attribute","boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","defined","powers","increment","DefinedInfo","super","check","transform","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","autoCapitalize","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","lang","language","loop","low","manifest","maxLength","minLength","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeUnload","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFormData","onHashChange","onInvalid","onKeyDown","onKeyPress","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","shape","sizes","spellCheck","srcDoc","srcLang","srcSet","tabIndex","translate","typeMustMatch","useMap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","opacity","operator","orient","orientation","origin","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","textLength","transformBehavior","u1","u2","unicode","viewTarget","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","valid","dash","cap","kebab","$0","camelcase","hastToReact","webNamespaces","mathml","toH","react","vue","vd","vdom","schema","hyperscript","state","parentSchema","nodes","addAttribute","namespace","Type","rest","dashes","subprop","settings","padRight","padLeft","$1","error_","parseStyle","tableElements","Set","rehypeReact","fixTableCellAlign","has","child","thing","passNode","Compiler","Fragment","remarkBreaks","lastIndex","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","defaultTarget","defaultRel","defaultProtocols","remarkExternalLinks","protocols","contentProperties","protocol","hProperties","hName","hChildren","emptyOptions","includeImageAlt","includeHtml","parameters","chunkStart","syntaxExtension","extension","hook","constructs","existing","before","factorySpace","effects","POSITIVE_INFINITY","consume","exit","tokenize","contentStart","attempt","parser","contentInitial","lineStart","token","contentType","stack","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","point","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","write","seen","nok","disable","null","blankLine","partial","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","prefixed","tail","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","field","notText","atBreak","resolveAllLineSuffixes","extraResolver","tabs","bufferIndex","chunk","_index","_bufferIndex","called","createTokenizer","initialize","columnStart","resolveAllConstructs","consumed","accountForPotentialSkip","fields","constructFactory","construct","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","expectedCode","startIndex","startBufferIndex","endIndex","endBufferIndex","view","sliceChunks","restore","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","resolveTo","thematicBreak","marker","sequence","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","after","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","heading","htmlBlockNames","htmlRawNames","htmlFlow","startTag","buffer","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","group","insideSpan","destinationAfter","between","afterLabel","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","nextEvents","movePoint","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","gap","tailExitIndex","headEnterIndex","decodeNumericCharacterReference","characterEscapeOrReference","decode","$2","hex","fromMarkdown","encoding","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlowData","htmlText","htmlTextData","image","listItem","spread","_spread","listItemValue","setData","listOrdered","listUnordered","referenceString","resourceDestinationString","resourceTitleString","setextHeading","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","resume","codeFencedFence","onexithardbreak","referenceType","labelText","ancestor","decodeString","setextHeadingLineSequence","setextHeadingText","configure","mdastExtensions","tokenStack","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","atCarriageReturn","endPosition","preprocess","combined","Parser","normalizeUri","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","patch","sup","applyData","revert","subtype","suffix","contents","listItemLoose","pointStart","pointEnd","trimLines","last","trimLine","break","footnote","footnoteById","no","dangerous","imageReference","inlineCode","linkReference","loose","listLoose","root","firstRow","shift","tableContent","tableCell","tableRow","siblings","cellIndex","cells","cell","alignValue","toml","ignore","yaml","footnoteDefinition","passThrough","unknownHandler","defaultUnknownHandler","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","augment","createState","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","tailTail","dataFootnotes","footer","destination","file","run","bridge","mutate","stringLength","countAnsiEscapeCodes","onlyFirst","ansiRegex","stripAnsi","astralRange","teluguConsonants","teluguConsonantsRare","telugu","astral","combo","fitz","nonAstral","regional","surrogatePair","optModifier","optVar","seq","symbol","charRegex","bail","VFileMessage","place","parts","fatal","ruleId","actual","expected","note","basename","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","sep","proc","isUrl","fileUrlOrPath","VFile","messages","history","cwd","stored","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","urlToPath","assertNonEmpty","assertPart","stem","fail","part","transformers","fns","pipeline","middlewareIndex","middleware","fnExpectsCallback","middelware","trough","attachers","frozen","freezeIndex","processor","assertUnfrozen","freeze","attacher","transformer","addPlugin","addList","addPreset","plugin","plugins","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","reject","runSync","assertDone","process","asyncName","looksLikeAVFile","stringifyPosition","castFactory","propsFactory","factory","grandparents"],"sourceRoot":""}