diff --git a/apps/files/src/services/Recent.ts b/apps/files/src/services/Recent.ts index ecd43b90eccf5..26c4babb5a245 100644 --- a/apps/files/src/services/Recent.ts +++ b/apps/files/src/services/Recent.ts @@ -2,6 +2,7 @@ * @copyright Copyright (c) 2023 John Molakvoæ * * @author John Molakvoæ + * @author Ferdinand Thiessen * * @license AGPL-3.0-or-later * @@ -20,84 +21,19 @@ * */ import type { ContentsWithRoot } from '@nextcloud/files' -import type { FileStat, ResponseDataDetailed, DAVResultResponseProps } from 'webdav' +import type { FileStat, ResponseDataDetailed } from 'webdav' -import { Folder, Permission, getDavNameSpaces, getDavProperties } from '@nextcloud/files' -import { generateRemoteUrl } from '@nextcloud/router' import { getCurrentUser } from '@nextcloud/auth' +import { Folder, Permission, davGetRecentSearch, davGetClient, davResultToNode, davRootPath, davRemoteURL } from '@nextcloud/files' -import { getClient, rootPath } from './WebdavClient' -import { resultToNode } from './Files' - -const client = getClient(generateRemoteUrl('dav')) +const client = davGetClient() const lastTwoWeeksTimestamp = Math.round((Date.now() / 1000) - (60 * 60 * 24 * 14)) -const searchPayload = ` - - - - - ${getDavProperties()} - - - - - /files/${getCurrentUser()?.uid}/ - infinity - - - - - - - - - - - httpd/unix-directory - - - - - - - 0 - - - - - - - ${lastTwoWeeksTimestamp} - - - - - - - - - - - - - 100 - 0 - - -` - -interface ResponseProps extends DAVResultResponseProps { - permissions: string, - fileid: number, - size: number, -} export const getContents = async (path = '/'): Promise => { const contentsResponse = await client.getDirectoryContents(path, { details: true, - data: searchPayload, + data: davGetRecentSearch(lastTwoWeeksTimestamp), headers: { // Patched in WebdavClient.ts method: 'SEARCH', @@ -112,11 +48,11 @@ export const getContents = async (path = '/'): Promise => { return { folder: new Folder({ id: 0, - source: generateRemoteUrl('dav' + rootPath), - root: rootPath, + source: `${davRemoteURL}${davRootPath}`, + root: davRootPath, owner: getCurrentUser()?.uid || null, permissions: Permission.READ, }), - contents: contents.map(resultToNode), + contents: contents.map((r) => davResultToNode(r)), } } diff --git a/dist/5358-5358.js b/dist/5358-5358.js index 45c7b339726f3..b2b6f03111d02 100644 --- a/dist/5358-5358.js +++ b/dist/5358-5358.js @@ -1,3 +1,3 @@ /*! For license information please see 5358-5358.js.LICENSE.txt */ -"use strict";(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[5358],{42761:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},39896:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},19141:(t,e,i)=>{i.r(e),i.d(e,{default:()=>D});var n=i(20144),r=i(5656),o=i(31352),s=i(64882),a=i(62520),l=i(43554),c=i(79753),u=i(64886),d=i(93664),p=i(35820),f=i(74139),h=i(69183),g=i(25108);function m(t,e,i,n,r,o,s,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=a?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}}const v=m({name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,w=()=>{var t,e,i;const r=(0,l.j)("files","config",null),o=(0,n.ref)(null!=(t=null==r?void 0:r.show_hidden)&&t),s=(0,n.ref)(null==(e=null==r?void 0:r.sort_favorites_first)||e),a=(0,n.ref)(null==(i=null==r?void 0:r.crop_image_previews)||i);return(0,n.onMounted)((()=>{d.Z.get((0,c.generateUrl)("/apps/files/api/v1/configs")).then((t=>{var e,i,n,r,l,c,u,d,p;o.value=null!=(n=null==(i=null==(e=t.data)?void 0:e.data)?void 0:i.show_hidden)&&n,s.value=null==(c=null==(l=null==(r=t.data)?void 0:r.data)?void 0:l.sort_favorites_first)||c,a.value=null==(p=null==(d=null==(u=t.data)?void 0:u.data)?void 0:d.crop_image_previews)||p}))})),{showHiddenFiles:o,sortFavoritesFirst:s,cropImagePreviews:a}},y=m({name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-up-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,15L12,10L17,15H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,_=m({name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,10L12,15L17,10H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,b={"file-picker__file-icon":"_file-picker__file-icon_1vgv4_5"},x=m((0,n.defineComponent)({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup:t=>({__sfc:!0,fileListIconStyles:b})}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",{staticClass:"file-picker__row loading-row",attrs:{"aria-hidden":"true"}},[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e("span")]):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"row-wrapper"},[e("span",{class:i.fileListIconStyles["file-picker__file-icon"]}),e("span")])]),t._m(0),t._m(1)])}),[function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-size"},[t("span")])},function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-modified"},[t("span")])}],!1,null,"6aded0d9",null,null).exports,N=m({name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,C=m((0,n.defineComponent)({name:"FilePreview",props:{node:null,cropImagePreviews:{type:Boolean}},setup(t){const e=t,i=(0,n.ref)(b),o=(0,n.computed)((()=>function(t,e={}){var i;e={size:32,cropPreview:!1,mimeFallback:!0,...e};try{const n=(null==(i=t.attributes)?void 0:i.previewUrl)||(0,c.generateUrl)("/core/preview?fileId={fileid}",{fileid:t.fileid});let r;try{r=new URL(n)}catch{r=new URL(n,window.location.origin)}return r.searchParams.set("x","".concat(e.size)),r.searchParams.set("y","".concat(e.size)),r.searchParams.set("mimeFallback","".concat(e.mimeFallback)),r.searchParams.set("a",!0===e.cropPreview?"0":"1"),r.searchParams.set("c","".concat(t.attributes.etag)),r}catch{return null}}(e.node,{cropPreview:e.cropImagePreviews}))),s=(0,n.computed)((()=>e.node.type===r.Tv.File)),a=(0,n.ref)(!1);return(0,n.watch)(o,(()=>{if(a.value=!1,o.value){const t=document.createElement("img");t.src=o.value.href,t.onerror=()=>t.remove(),t.onload=()=>{a.value=!0,t.remove()},document.body.appendChild(t)}}),{immediate:!0}),{__sfc:!0,fileListIconStyles:i,props:e,previewURL:o,isFile:s,canLoadPreview:a,t:p.t,IconFile:v,IconFolder:N}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{class:i.fileListIconStyles["file-picker__file-icon"],style:i.canLoadPreview?{backgroundImage:"url(".concat(i.previewURL,")")}:void 0,attrs:{"aria-label":i.t("MIME type {mime}",{mime:t.node.mime||i.t("unknown")})}},[i.canLoadPreview?t._e():[i.isFile?e(i.IconFile,{attrs:{size:20}}):e(i.IconFolder,{attrs:{size:20}})]],2)}),[],!1,null,null,null,null).exports,I=m((0,n.defineComponent)({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:null,cropImagePreviews:{type:Boolean}},emits:["update:selected","enter-directory"],setup(t,{emit:e}){const i=t,o=(0,n.computed)((()=>{var t;return(null==(t=i.node.attributes)?void 0:t.displayName)||i.node.basename.slice(0,i.node.extension?-i.node.extension.length:void 0)})),a=(0,n.computed)((()=>i.node.extension)),l=(0,n.computed)((()=>i.node.type===r.Tv.Folder)),c=(0,n.computed)((()=>i.canPick&&(i.allowPickDirectory||!l.value)));function u(){e("update:selected",!i.selected)}function d(){l.value?e("enter-directory",i.node):u()}return{__sfc:!0,props:i,emit:e,displayName:o,fileExtension:a,isDirectory:l,isPickable:c,toggleSelected:u,handleClick:d,handleKeyDown:function(t){"Enter"===t.key&&d()},formatFileSize:r.sS,NcCheckboxRadioSwitch:s.rw,NcDateTime:s.Jh,t:p.t,FilePreview:C}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",t._g({class:["file-picker__row",{"file-picker__row--selected":t.selected&&!t.showCheckbox}],attrs:{tabindex:t.showCheckbox&&!i.isDirectory?void 0:0,"aria-selected":i.isPickable?t.selected:void 0,"data-filename":t.node.basename,"data-testid":"file-list-row"},on:{click:i.handleClick}},!t.showCheckbox||i.isDirectory?{keydown:i.handleKeyDown}:{}),[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e(i.NcCheckboxRadioSwitch,{attrs:{disabled:!i.isPickable,checked:t.selected,"aria-label":i.t("Select the row for {nodename}",{nodename:i.displayName}),"data-testid":"row-checkbox"},on:{click:function(t){t.stopPropagation()},"update:checked":i.toggleSelected}})],1):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"file-picker__name-container",attrs:{"data-testid":"row-name"}},[e(i.FilePreview,{attrs:{node:t.node,"crop-image-previews":t.cropImagePreviews}}),e("div",{staticClass:"file-picker__file-name",attrs:{title:i.displayName},domProps:{textContent:t._s(i.displayName)}}),e("div",{staticClass:"file-picker__file-extension",domProps:{textContent:t._s(i.fileExtension)}})],1)]),e("td",{staticClass:"row-size"},[t._v(" "+t._s(i.formatFileSize(t.node.size||0))+" ")]),e("td",{staticClass:"row-modified"},[e(i.NcDateTime,{attrs:{timestamp:t.node.mtime,"ignore-seconds":!0}})],1)])}),[],!1,null,"ee6f34b5",null,null).exports,E=m((0,n.defineComponent)({__name:"FileList",props:{currentView:null,multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:null,selectedFiles:null,path:null},emits:["update:path","update:selectedFiles"],setup(t,{emit:e}){const i=t,f=(0,n.ref)(),{currentConfig:h}=(t=>{var e,i,r,o,s,a,p,f,h,g,m,v;const w=t=>"asc"===t?"ascending":"desc"===t?"descending":"none",y=(0,l.j)("files","viewConfigs",null),_=(0,n.ref)({sortBy:null!=(i=null==(e=null==y?void 0:y.files)?void 0:e.sorting_mode)?i:"basename",order:w(null!=(o=null==(r=null==y?void 0:y.files)?void 0:r.sorting_direction)?o:"asc")}),b=(0,n.ref)({sortBy:null!=(a=null==(s=null==y?void 0:y.recent)?void 0:s.sorting_mode)?a:"basename",order:w(null!=(f=null==(p=null==y?void 0:y.recent)?void 0:p.sorting_direction)?f:"asc")}),x=(0,n.ref)({sortBy:null!=(g=null==(h=null==y?void 0:y.favorites)?void 0:h.sorting_mode)?g:"basename",order:w(null!=(v=null==(m=null==y?void 0:y.favorites)?void 0:m.sorting_direction)?v:"asc")});(0,n.onMounted)((()=>{d.Z.get((0,c.generateUrl)("/apps/files/api/v1/views")).then((t=>{var e,i,n,r,o,s,a,l,c,u,d,p,f,h,g,m,v,y,N,C,I;_.value={sortBy:null!=(r=null==(n=null==(i=null==(e=t.data)?void 0:e.data)?void 0:i.files)?void 0:n.sorting_mode)?r:"basename",order:w(null==(a=null==(s=null==(o=t.data)?void 0:o.data)?void 0:s.files)?void 0:a.sorting_direction)},x.value={sortBy:null!=(d=null==(u=null==(c=null==(l=t.data)?void 0:l.data)?void 0:c.favorites)?void 0:u.sorting_mode)?d:"basename",order:w(null==(h=null==(f=null==(p=t.data)?void 0:p.data)?void 0:f.favorites)?void 0:h.sorting_direction)},b.value={sortBy:null!=(y=null==(v=null==(m=null==(g=t.data)?void 0:g.data)?void 0:m.recent)?void 0:v.sorting_mode)?y:"basename",order:w(null==(I=null==(C=null==(N=t.data)?void 0:N.data)?void 0:C.recent)?void 0:I.sorting_direction)}}))}));const N=(0,n.computed)((()=>"files"===(0,u.Tn)(t||"files")?_.value:"recent"===(0,u.Tn)(t)?b.value:x.value)),C=(0,n.computed)((()=>N.value.sortBy)),I=(0,n.computed)((()=>N.value.order));return{filesViewConfig:_,favoritesViewConfig:x,recentViewConfig:b,currentConfig:N,sortBy:C,order:I}})(i.currentView),g=(0,n.computed)((()=>{var t;return null!=(t=f.value)?t:h.value})),m=(0,n.computed)((()=>"basename"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),v=(0,n.computed)((()=>"size"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),b=(0,n.computed)((()=>"mtime"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),{sortFavoritesFirst:N,cropImagePreviews:C}=w(),E=(0,n.computed)((()=>{const t={ascending:(t,e,i)=>i(t,e),descending:(t,e,i)=>i(e,t),none:(t,e,i)=>0},e={basename:(t,e)=>{var i,n;return((null==(i=t.attributes)?void 0:i.displayName)||t.basename).localeCompare((null==(n=e.attributes)?void 0:n.displayName)||e.basename,(0,o.aj)())},size:(t,e)=>(t.size||0)-(e.size||0),mtime:(t,e)=>{var i,n,r,o;return((null==(n=null==(i=e.mtime)?void 0:i.getTime)?void 0:n.call(i))||0)-((null==(o=null==(r=t.mtime)?void 0:r.getTime)?void 0:o.call(r))||0)}};return[...i.files].sort(((i,n)=>(n.type===r.Tv.Folder?1:0)-(i.type===r.Tv.Folder?1:0)||(N?(n.attributes.favorite?1:0)-(i.attributes.favorite?1:0):0)||t[g.value.order](i,n,e[g.value.sortBy])))})),S=(0,n.computed)((()=>i.files.filter((t=>i.allowPickDirectory||t.type!==r.Tv.Folder)))),k=(0,n.computed)((()=>!i.loading&&i.selectedFiles.length>0&&i.selectedFiles.length>=S.value.length)),L=(0,n.ref)(4),P=(0,n.ref)();{const t=()=>(0,n.nextTick)((()=>{var t,e,i,n,r;const o=(null==(e=null==(t=P.value)?void 0:t.parentElement)?void 0:e.children)||[];let s=(null==(n=null==(i=P.value)?void 0:i.parentElement)?void 0:n.clientHeight)||450;for(let t=0;t{window.addEventListener("resize",t),t()})),(0,n.onUnmounted)((()=>{window.removeEventListener("resize",t)}))}return{__sfc:!0,props:i,emit:e,customSortingConfig:f,filesAppSorting:h,sortingConfig:g,sortByName:m,sortBySize:v,sortByModified:b,toggleSorting:t=>{g.value.sortBy===t?"ascending"===g.value.order?f.value={sortBy:g.value.sortBy,order:"descending"}:f.value={sortBy:g.value.sortBy,order:"ascending"}:f.value={sortBy:t,order:"ascending"}},sortFavoritesFirst:N,cropImagePreviews:C,sortedFiles:E,selectableFiles:S,allSelected:k,onSelectAll:function(){i.selectedFiles.lengthe.path!==t.path))):i.multiselect?e("update:selectedFiles",[...i.selectedFiles,t]):e("update:selectedFiles",[t])},onChangeDirectory:function(t){e("update:path",(0,a.join)(i.path,t.basename))},skeletonNumber:L,fileContainer:P,NcButton:s.P2,NcCheckboxRadioSwitch:s.rw,t:p.t,IconSortAscending:y,IconSortDescending:_,LoadingTableRow:x,FileListRow:I}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{ref:"fileContainer",staticClass:"file-picker__files"},[e("table",[e("thead",[e("tr",[t.multiselect?e("th",{staticClass:"row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(i.t("Select entry"))+" ")]),t.multiselect?e(i.NcCheckboxRadioSwitch,{attrs:{"aria-label":i.t("Select all entries"),checked:i.allSelected,"data-testid":"select-all-checkbox"},on:{"update:checked":i.onSelectAll}}):t._e()],1):t._e(),e("th",{staticClass:"row-name",attrs:{"aria-sort":i.sortByName}},[e("div",{staticClass:"header-wrapper"},[e("span",{staticClass:"file-picker__header-preview"}),e(i.NcButton,{attrs:{wide:!0,type:"tertiary","data-test":"file-picker_sort-name"},on:{click:function(t){return i.toggleSorting("basename")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByName?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByName?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Name"))+" ")])],1)]),e("th",{staticClass:"row-size",attrs:{"aria-sort":i.sortBySize}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:function(t){return i.toggleSorting("size")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortBySize?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortBySize?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Size"))+" ")])],1),e("th",{staticClass:"row-modified",attrs:{"aria-sort":i.sortByModified}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:function(t){return i.toggleSorting("mtime")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByModified?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByModified?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Modified"))+" ")])],1)])]),e("tbody",[t.loading?t._l(i.skeletonNumber,(function(n){return e(i.LoadingTableRow,{key:n,attrs:{"show-checkbox":t.multiselect}})})):t._l(i.sortedFiles,(function(n){return e(i.FileListRow,{key:n.fileid||n.path,attrs:{"allow-pick-directory":t.allowPickDirectory,"show-checkbox":t.multiselect,"can-pick":t.multiselect||0===t.selectedFiles.length||t.selectedFiles.includes(n),selected:t.selectedFiles.includes(n),node:n,"crop-image-previews":i.cropImagePreviews},on:{"update:selected":function(t){return i.onNodeSelected(n)},"enter-directory":i.onChangeDirectory}})}))],2)])])}),[],!1,null,"4297db37",null,null).exports,S=m({name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,k=m({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,L=m((0,n.defineComponent)({__name:"FilePickerBreadcrumbs",props:{path:null,showMenu:{type:Boolean}},emits:["update:path","create-node"],setup(t,{emit:e}){const i=t,r=(0,n.ref)(""),o=(0,n.ref)();function a(){var t,e,i,n;const s=r.value.trim(),a=null==(e=null==(t=o.value)?void 0:t.$el)?void 0:e.querySelector("input");let l="";return 0===s.length?l=(0,p.t)("Folder name cannot be empty."):s.includes("/")?l=(0,p.t)('"/" is not allowed inside a folder name.'):["..","."].includes(s)?l=(0,p.t)('"{name}" is an invalid folder name.',{name:s}):null!=(i=window.OC.config)&&i.blacklist_files_regex&&s.match(null==(n=window.OC.config)?void 0:n.blacklist_files_regex)&&(l=(0,p.t)('"{name}" is not an allowed folder name',{name:s})),a&&a.setCustomValidity(l),""===l}const l=(0,n.computed)((()=>i.path.split("/").filter((t=>""!==t)).map(((t,e,i)=>({name:t,path:"/"+i.slice(0,e+1).join("/")})))));return{__sfc:!0,props:i,emit:e,newNodeName:r,nameInput:o,validateInput:a,onSubmit:function(){const t=r.value.trim();a()&&(e("create-node",t),r.value="")},pathElements:l,IconFolder:N,IconHome:S,IconPlus:k,NcActions:s.O3,NcActionInput:s.Iw,NcBreadcrumbs:s.fg,NcBreadcrumb:s.$U,t:p.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcBreadcrumbs,{staticClass:"file-picker__breadcrumbs",scopedSlots:t._u([{key:"default",fn:function(){return[e(i.NcBreadcrumb,{attrs:{name:i.t("Home"),title:i.t("Home")},on:{click:function(t){return i.emit("update:path","/")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconHome,{attrs:{size:20}})]},proxy:!0}])}),t._l(i.pathElements,(function(t){return e(i.NcBreadcrumb,{key:t.path,attrs:{name:t.name,title:t.path},on:{click:function(e){return i.emit("update:path",t.path)}}})}))]},proxy:!0},t.showMenu?{key:"actions",fn:function(){return[e(i.NcActions,{attrs:{"aria-label":i.t("Create directory"),"force-menu":!0,"force-name":!0,"menu-name":i.t("New"),type:"secondary"},on:{close:function(t){i.newNodeName=""}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconPlus,{attrs:{size:20}})]},proxy:!0}],null,!1,2971667417)},[e(i.NcActionInput,{ref:"nameInput",attrs:{value:i.newNodeName,label:i.t("New folder"),placeholder:i.t("New folder name")},on:{"update:value":function(t){i.newNodeName=t},submit:i.onSubmit,input:i.validateInput},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFolder,{attrs:{size:20}})]},proxy:!0}],null,!1,1614167509)})],1)]},proxy:!0}:null],null,!0)})}),[],!1,null,"3bc9efa5",null,null).exports,P=m({name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,A=m({name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,T=m({name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,Z=m({name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,F=m((0,n.defineComponent)({__name:"FilePickerNavigation",props:{currentView:null,filterString:null,isCollapsed:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:e}){const i=t,r=[{id:"files",label:(0,p.t)("All files"),icon:N},{id:"recent",label:(0,p.t)("Recent"),icon:P},{id:"favorites",label:(0,p.t)("Favorites"),icon:Z}],o=(0,n.computed)((()=>r.filter((t=>t.id===i.currentView))[0]));return{__sfc:!0,allViews:r,props:i,emit:e,currentViewObject:o,updateFilterValue:t=>e("update:filterString",t),IconClose:A,IconMagnify:T,NcButton:s.P2,NcSelect:s.QG,NcTextField:s.h3,t:p.t,Fragment:f.Fragment}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.Fragment,[e(i.NcTextField,{staticClass:"file-picker__filter-input",attrs:{value:t.filterString,label:i.t("Filter file list"),"show-trailing-button":!!t.filterString},on:{"update:value":i.updateFilterValue,"trailing-button-click":function(t){return i.updateFilterValue("")}},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e(i.IconClose,{attrs:{size:16}})]},proxy:!0}])},[e(i.IconMagnify,{attrs:{size:16}})],1),t.isCollapsed?e(i.NcSelect,{attrs:{"aria-label":i.t("Current view selector"),clearable:!1,searchable:!1,options:i.allViews,value:i.currentViewObject},on:{input:t=>i.emit("update:currentView",t.id)}}):e("ul",{staticClass:"file-picker__side",attrs:{role:"tablist","aria-label":i.t("Filepicker sections")}},t._l(i.allViews,(function(n){return e("li",{key:n.id},[e(i.NcButton,{attrs:{"aria-selected":t.currentView===n.id,type:t.currentView===n.id?"primary":"tertiary",wide:!0,role:"tab"},on:{click:function(e){return t.$emit("update:currentView",n.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(n.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(n.label)+" ")])],1)})),0)],1)}),[],!1,null,"fcfd0f23",null,null).exports,D=m((0,n.defineComponent)({name:"FilePicker",props:{buttons:null,name:null,allowPickDirectory:{type:Boolean,default:!1},container:{default:"body"},filterFn:{default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!0},path:{default:"/"}},emits:["close"],setup(t,{emit:e}){const i=t,o=(0,n.computed)((()=>({container:i.container,name:i.name,buttons:l.value,size:"large",contentClasses:["file-picker__content"],dialogClasses:["file-picker"],navigationClasses:["file-picker__navigation"]}))),l=(0,n.computed)((()=>("function"==typeof i.buttons?i.buttons(d.value,y.value,c.value):i.buttons).map((t=>({...t,callback:async()=>{const n=0===d.value.length&&i.allowPickDirectory?[await I(y.value)]:d.value;t.callback(n),e("close",n)}}))))),c=(0,n.ref)("files"),u=(0,n.computed)((()=>"favorites"===c.value?(0,p.t)("Favorites"):"recent"===c.value?(0,p.t)("Recent"):"")),d=(0,n.ref)([]),f=(0,n.ref)((null==window?void 0:window.sessionStorage.getItem("NC.FilePicker.LastPath"))||"/"),m=(0,n.ref)(),y=(0,n.computed)({get:()=>"files"===c.value?m.value||i.path||f.value:"/",set:t=>{void 0===i.path&&window.sessionStorage.setItem("NC.FilePicker.LastPath",t),m.value=t,d.value=[]}}),_=(0,n.ref)(""),{isSupportedMimeType:b}=function(t){const e=(0,n.computed)((()=>t.value.map((t=>t.split("/")))));return{isSupportedMimeType:t=>{const i=t.split("/");return e.value.some((([t,e])=>!(i[0]!==t&&"*"!==t||i[1]!==e&&"*"!==e)))}}}((0,n.toRef)(i,"mimetypeFilter")),{files:x,isLoading:N,loadFiles:C,getFile:I,client:S}=function(t,e){const i=(0,r.rp)(),o=(0,n.ref)([]),s=(0,n.ref)(!0);async function a(){if(s.value=!0,"favorites"===t.value)o.value=await(0,r.pC)(i,e.value);else if("recent"===t.value){const t=Math.round(Date.now()/1e3)-1209600,{data:e}=await i.search("/",{details:!0,data:(0,r.tB)(t)});o.value=e.results.map((t=>(0,r.RL)(t)))}else{const t=await i.getDirectoryContents("".concat(r._o).concat(e.value),{details:!0,data:(0,r.h7)()});o.value=t.data.map((t=>(0,r.RL)(t)))}s.value=!1}return(0,n.watch)([t,e],(()=>a())),(0,n.onMounted)((()=>a())),{isLoading:s,files:o,loadFiles:a,getFile:async function(t,e=r._o){const n=await i.stat("".concat(e).concat(t),{details:!0});return(0,r.RL)(n.data)},client:i}}(c,y);(0,n.onMounted)((()=>C()));const{showHiddenFiles:k}=w(),P=(0,n.computed)((()=>{let t=x.value;return k.value||(t=t.filter((t=>!t.basename.startsWith(".")))),i.mimetypeFilter.length>0&&(t=t.filter((t=>"folder"===t.type||t.mime&&b(t.mime)))),_.value&&(t=t.filter((t=>t.basename.toLowerCase().includes(_.value.toLowerCase())))),i.filterFn&&(t=t.filter((t=>i.filterFn(t)))),t})),A=(0,n.computed)((()=>"files"===c.value?(0,p.t)("Upload some content or sync with your devices!"):"recent"===c.value?(0,p.t)("Files and folders you recently modified will show up here."):(0,p.t)("Files and folders you mark as favorite will show up here.")));return{__sfc:!0,props:i,emit:e,dialogProps:o,dialogButtons:l,currentView:c,viewHeadline:u,selectedFiles:d,savedPath:f,navigatedPath:m,currentPath:y,filterString:_,isSupportedMimeType:b,files:x,isLoading:N,loadFiles:C,getFile:I,client:S,showHiddenFiles:k,filteredFiles:P,noFilesDescription:A,onCreateFolder:async t=>{try{await S.createDirectory((0,a.join)(r._o,y.value,t)),await C(),(0,h.j8)("files:node:created",x.value.filter((e=>e.basename===t))[0])}catch(e){g.warn("Could not create new folder",{name:t,error:e}),(0,p.k)((0,p.t)("Could not create the new folder"))}},handleClose:t=>{t||e("close")},IconFile:v,FileList:E,FilePickerBreadcrumbs:L,FilePickerNavigation:F,NcDialog:s.a0,NcEmptyContent:s.SL,t:p.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcDialog,t._b({on:{"update:open":i.handleClose},scopedSlots:t._u([{key:"navigation",fn:function({isCollapsed:t}){return[e(i.FilePickerNavigation,{attrs:{"is-collapsed":t,"current-view":i.currentView,"filter-string":i.filterString},on:{"update:currentView":function(t){i.currentView=t},"update:current-view":function(t){i.currentView=t},"update:filterString":function(t){i.filterString=t},"update:filter-string":function(t){i.filterString=t}}})]}}])},"NcDialog",i.dialogProps,!1),[e("div",{staticClass:"file-picker__main"},["files"===i.currentView?e(i.FilePickerBreadcrumbs,{attrs:{path:i.currentPath,"show-menu":t.allowPickDirectory},on:{"update:path":function(t){i.currentPath=t},"create-node":i.onCreateFolder}}):e("div",{staticClass:"file-picker__view"},[e("h3",[t._v(t._s(i.viewHeadline))])]),i.isLoading||i.filteredFiles.length>0?e(i.FileList,{attrs:{"allow-pick-directory":t.allowPickDirectory,"current-view":i.currentView,files:i.filteredFiles,multiselect:t.multiselect,loading:i.isLoading,path:i.currentPath,"selected-files":i.selectedFiles,name:i.viewHeadline},on:{"update:path":[function(t){i.currentPath=t},function(t){i.currentView="files"}],"update:selectedFiles":function(t){i.selectedFiles=t},"update:selected-files":function(t){i.selectedFiles=t}}}):i.filterString?e(i.NcEmptyContent,{attrs:{name:i.t("No matching files"),description:i.t("No files matching your filter were found.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])}):e(i.NcEmptyContent,{attrs:{name:i.t("No files in here"),description:i.noFilesDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])})],1)])}),[],!1,null,"86a13079",null,null).exports},5656:(t,e,i)=>{i.d(e,{$B:()=>B,DT:()=>w,De:()=>x,G7:()=>ue,Ir:()=>he,NB:()=>M,RL:()=>$,Ti:()=>Y,Tv:()=>T,Vn:()=>b,_o:()=>O,cd:()=>pe,e4:()=>D,gt:()=>z,h7:()=>L,jA:()=>v,m0:()=>S,oE:()=>fe,p$:()=>y,p4:()=>_,pC:()=>R,qq:()=>E,rp:()=>V,sS:()=>m,sg:()=>G,tB:()=>P,w4:()=>k,y3:()=>N,zu:()=>A});var n=i(77958),r=i(17499),o=i(31352),s=i(62520),a=i(65358),l=i(79753),c=i(14596);const u=null===(d=(0,n.ts)())?(0,r.IY)().setApp("files").build():(0,r.IY)().setApp("files").setUid(d.uid).build();var d;class p{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):u.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.enabled||e.enabled(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!t.iconSvgInline&&!t.iconClass||!t.handler)throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.enabled&&"function"!=typeof t.enabled)throw new Error("Invalid enabled property");if("function"!=typeof t.handler)throw new Error("Invalid handler property");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order property");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const f=function(){return typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new p,u.debug("NewFileMenu initialized")),window._nc_newfilemenu},h=["B","KB","MB","GB","TB","PB"],g=["B","KiB","MiB","GiB","TiB","PiB"];function m(t,e=!1,i=!1,n=!1){i=i&&!n,"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;r=Math.min((i?g.length:h.length)-1,r);const s=i?g[r]:h[r];let a=(t/Math.pow(n?1e3:1024,r)).toFixed(1);return!0===e&&0===r?("0.0"!==a?"< 1 ":"0 ")+(i?g[1]:h[1]):(a=r<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,o.aj)()),a+" "+s)}function v(t,e=!1){try{t=`${t}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch{return null}const i=t.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===i||"."===i[1]||""===i[1])return null;const n=`${i[1]}`,r="i"===i[4]||e?1024:1e3;return Math.round(Number.parseFloat(n)*r**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[i[3]])}var w=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(w||{});class y{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if("parent"in t&&"string"!=typeof t.parent)throw new Error("Invalid parent");if(t.default&&!Object.values(w).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const _=function(t){typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions.find((e=>e.id===t.id))?u.error(`FileAction ${t.id} already registered`,{action:t}):window._nc_fileactions.push(t)},b=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions},x=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],u.debug("FileListHeaders initialized")),window._nc_filelistheader};var N=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(N||{});const C=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],I={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},E=function(t,e={nc:"http://nextcloud.org/ns"}){typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...C],window._nc_dav_namespaces={...I});const i={...window._nc_dav_namespaces,...e};return window._nc_dav_properties.find((e=>e===t))?(u.error(`${t} already registered`,{prop:t}),!1):t.startsWith("<")||2!==t.split(":").length?(u.error(`${t} is not valid. See example: 'oc:fileid'`,{prop:t}),!1):i[t.split(":")[0]]?(window._nc_dav_properties.push(t),window._nc_dav_namespaces=i,!0):(u.error(`${t} namespace unknown`,{prop:t,namespaces:i}),!1)},S=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...C]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},k=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...I}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},L=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t`},P=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,n.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`},A=function(t=""){let e=N.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=N.CREATE),t.includes("G")&&(e|=N.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=N.UPDATE),t.includes("D")&&(e|=N.DELETE),t.includes("R")&&(e|=N.SHARE)),e};var T=(t=>(t.Folder="folder",t.File="file",t))(T||{});const Z=function(t,e){return null!==t.match(e)},F=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=N.NONE&&t.permissions<=N.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&Z(t.source,e)){const i=t.source.match(e)[0];if(!t.source.includes((0,s.join)(i,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(D).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var D=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(D||{});class M{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){F(t,e||this._knownDavService),this._data=t;const i={set:(t,e,i)=>(this.updateMtime(),Reflect.set(t,e,i)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},i),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,s.basename)(this.source)}get extension(){return(0,s.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,s.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,s.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:N.NONE:N.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return Z(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,s.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){F({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,s.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class B extends M{get type(){return T.File}}class z extends M{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return T.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const O=`/files/${(0,n.ts)()?.uid}`,j=(0,l.generateRemoteUrl)("dav"),V=function(t=j){const e=(0,c.eI)(t);function i(t){e.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,n._S)(i),i((0,n.IH)()),(0,c.lD)().patch("fetch",((t,e)=>{const i=e.headers;return i?.method&&(e.method=i.method,delete i.method),fetch(t,e)})),e},R=async(t,e="/",i=O)=>(await t.getDirectoryContents(`${i}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>$(t,i))),$=function(t,e=O,i=j){const r=t.props,o=A(r?.permissions),s=(0,n.ts)()?.uid,a={id:r?.fileid||0,source:`${i}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:o,owner:s,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new B(a):new z(a)};class H{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const Y=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new H,u.debug("Navigation service initialized")),window._nc_navigation};class G{_column;constructor(t){U(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const U=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var X={},W={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let o=0;o"u")},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const o=n.length;for(let t=0;t5&&"xml"===n)return at("InvalidXml","XML declaration allowed only at the start of the document.",ut(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function tt(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}X.validate=function(t,e){e=Object.assign({},Q,e);const i=[];let n=!1,r=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let o=0;o"!==t[o]&&" "!==t[o]&&"\t"!==t[o]&&"\n"!==t[o]&&"\r"!==t[o];o++)l+=t[o];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),o--),!ct(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",at("InvalidTag",e,ut(t,o))}const c=nt(t,o);if(!1===c)return at("InvalidAttr","Attributes for '"+l+"' have open quote.",ut(t,o));let u=c.value;if(o=c.index,"/"===u[u.length-1]){const i=o-u.length;u=u.substring(0,u.length-1);const r=ot(u,e);if(!0!==r)return at(r.err.code,r.err.msg,ut(t,i+r.err.line));n=!0}else if(a){if(!c.tagClosed)return at("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",ut(t,o));if(u.trim().length>0)return at("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",ut(t,s));{const e=i.pop();if(l!==e.tagName){let i=ut(t,e.tagStartPos);return at("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+l+"'.",ut(t,s))}0==i.length&&(r=!0)}}else{const a=ot(u,e);if(!0!==a)return at(a.err.code,a.err.msg,ut(t,o-u.length+a.err.line));if(!0===r)return at("InvalidXml","Multiple possible root nodes found.",ut(t,o));-1!==e.unpairedTags.indexOf(l)||i.push({tagName:l,tagStartPos:s}),n=!0}for(o++;o0)||at("InvalidXml","Invalid '"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):at("InvalidXml","Start tag expected.",1)};const et='"',it="'";function nt(t,e){let i="",n="",r=!1;for(;e"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const rt=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function ot(t,e){const i=q.getAllMatches(t,rt),n={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};pt.buildOptions=function(t){return Object.assign({},ft,t)},pt.defaultOptions=ft;const ht=W;function gt(t,e){let i="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},St=function(t,e){const i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let n=1,r=!1,o=!1,s="";for(;e"===t[e]){if(o?"-"===t[e-1]&&"-"===t[e-2]&&(o=!1,n--):n--,0===n)break}else"["===t[e]?r=!0:s+=t[e];else{if(r&&vt(t,e))e+=7,[entityName,val,e]=gt(t,e+1),-1===val.indexOf("&")&&(i[bt(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&wt(t,e))e+=8;else if(r&&yt(t,e))e+=8;else if(r&&_t(t,e))e+=9;else{if(!mt)throw new Error("Invalid DOCTYPE");o=!0}n++,s=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:e}},kt=function(t,e={}){if(e=Object.assign({},Ct,e),!t||"string"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(e.hex&&xt.test(i))return Number.parseInt(i,16);{const n=Nt.exec(i);if(n){const r=n[1],o=n[2];let s=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(n[3]);const a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&r&&"."!==i[2])return t;if(!e.leadingZeros&&o.length>0&&!r&&"."!==i[1])return t;{const n=Number(i),l=""+n;return-1!==l.search(/[eE]/)||a?e.eNotation?n:t:-1!==i.indexOf(".")?"0"===l&&""===s||l===s||r&&l==="-"+s?n:t:o?s===l||r+s===l?n:t:i===l||i===r+l?n:t}}return t}};function Lt(t){const e=Object.keys(t);for(let i=0;i0)){s||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,o);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?Rt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function At(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,It.nameRegexp);const Tt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function Zt(t,e,i){if(!this.options.ignoreAttributes&&"string"==typeof t){const i=It.getAllMatches(t,Tt),n=i.length,r={};for(let t=0;t",o,"Closing Tag is not closed.");let s=t.substring(o+2,e).trim();if(this.options.removeNSPrefix){const t=s.indexOf(":");-1!==t&&(s=s.substr(t+1))}this.options.transformTagName&&(s=this.options.transformTagName(s)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(s&&-1!==this.options.unpairedTags.indexOf(s))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",o=e}else if("?"===t[o+1]){let e=jt(t,o,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new Et(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,r,e.tagName)),this.addChild(i,t,r)}o=e.closeIndex+1}else if("!--"===t.substr(o+1,3)){const e=Ot(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){const s=t.substring(o+4,e-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:s}])}o=e}else if("!D"===t.substr(o+1,2)){const e=St(t,o);this.docTypeEntities=e.entities,o=e.i}else if("!["===t.substr(o+1,2)){const e=Ot(t,"]]>",o,"CDATA is not closed.")-2,s=t.substring(o+9,e);if(n=this.saveTextToParentTag(n,i,r),this.options.cdataPropName)i.add(this.options.cdataPropName,[{[this.options.textNodeName]:s}]);else{let t=this.parseTextData(s,i.tagname,r,!0,!1,!0);null==t&&(t=""),i.add(this.options.textNodeName,t)}o=e+2}else{let s=jt(t,o,this.options.removeNSPrefix),a=s.tagName;const l=s.rawTagName;let c=s.tagExp,u=s.attrExpPresent,d=s.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const p=i;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==e.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)o=s.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))o=s.closeIndex;else{const i=this.readStopNodeData(t,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);o=i.i,e=i.tagContent}const n=new Et(a);a!==c&&u&&(n[":@"]=this.buildAttributesMap(c,r,a)),e&&(e=this.parseTextData(e,a,r,!0,u,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,e),this.addChild(i,n,r)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new Et(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),r=r.substr(0,r.lastIndexOf("."))}else{const t=new Et(a);this.tagsNodeStack.push(i),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),i=t}n="",o=d}}else n+=t[o];return e.child};function Dt(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n&&(e.tagname=n),t.addChild(e))}const Mt=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Bt(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function zt(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function Ot(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function jt(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let o=e;o",i,`${e} is not closed`);if(t.substring(i+2,o).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:o};i=o}else if("?"===t[i+1])i=Ot(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=Ot(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=Ot(t,"]]>",i,"StopNode is not closed.")-2;else{const n=jt(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function Rt(t,e,i){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&kt(t,i)}return It.isExist(t)?t:""}var $t={};function Ht(t,e,i){let n;const r={};for(let o=0;o0&&(r[e.textNodeName]=n):void 0!==n&&(r[e.textNodeName]=n),r}function Yt(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=Lt,this.parseXml=Ft,this.parseTextData=Pt,this.resolveNameSpace=At,this.buildAttributesMap=Zt,this.isItStopNode=zt,this.replaceEntitiesValue=Mt,this.readStopNodeData=Vt,this.saveTextToParentTag=Bt,this.addChild=Dt}},{prettify:qt}=$t,Qt=X;function Kt(t,e,i,n){let r="",o=!1;for(let s=0;s`,o=!1;continue}if(l===e.commentPropName){r+=n+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,o=!0;continue}if("?"===l[0]){const t=te(a[":@"],e),i="?xml"===l?"":n;let s=a[l][0][e.textNodeName];s=0!==s.length?" "+s:"",r+=i+`<${l}${s}${t}?>`,o=!0;continue}let u=n;""!==u&&(u+=e.indentBy);const d=n+`<${l}${te(a[":@"],e)}`,p=Kt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=d+">":r+=d+"/>":p&&0!==p.length||!e.suppressEmptyNode?p&&p.endsWith(">")?r+=d+`>${p}${n}`:(r+=d+">",p&&""!==n&&(p.includes("/>")||p.includes("`):r+=d+"/>",o=!0}return r}function Jt(t){const e=Object.keys(t);for(let i=0;i0&&e.processEntities)for(let i=0;i0&&(i="\n"),Kt(t,e,"",i)},re={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function oe(t){this.options=Object.assign({},re,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=le),this.processTextOrObjNode=se,this.options.format?(this.indentate=ae,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function se(t,e,i){const n=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function ae(t){return this.options.indentBy.repeat(t)}function le(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}oe.prototype.build=function(t){return this.options.preserveOrder?ne(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},oe.prototype.j2x=function(t,e){let i="",n="";for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(typeof t[r]>"u")this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const o=this.isAttribute(r);if(o)i+=this.buildAttrPairStr(o,""+t[r]);else if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const i=t[r].length;let o="";for(let s=0;s"u"||(null===i?"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?o+=this.j2x(i,e+1).val:o+=this.processTextOrObjNode(i,r,e):o+=this.buildTextValNode(i,r,"",e))}this.options.oneListGroup&&(o=this.buildObjectNode(o,r,"",e)),n+=o}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),n=e.length;for(let o=0;o"+t+r}},oe.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ce.XMLValidator.validate(t))return!1;let e;const i=new ce.XMLParser;try{e=i.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof G))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},pe=function(t){return f().registerEntry(t)},fe=function(t){return f().unregisterEntry(t)},he=function(t){return f().getEntries(t).sort(((t,e)=>void 0!==t.order&&void 0!==e.order&&t.order!==e.order?t.order-e.order:t.displayName.localeCompare(e.displayName,void 0,{numeric:!0,sensitivity:"base"})))}},64882:(t,e,i)=>{i.d(e,{$F:()=>gt.N,$U:()=>A.Z,Iw:()=>a.Z,Jh:()=>j.Z,O3:()=>d.Z,O9:()=>wt.Z,P2:()=>Z.Z,QG:()=>ct.Z,SL:()=>G.Z,a0:()=>$.Z,fg:()=>T.Z,gE:()=>ht.Z,h3:()=>ut.Z,qf:()=>et.Z,rw:()=>F.Z});var n=i(72155),r=i(66236),o=i(75944),s=i(45157),a=i(26053),l=i(41989),c=i(99313),u=i(20090),d=i(55212),p=i(96204),f=i(16894),h=i(94162),g=i(40874),m=i(27657),v=i(2047),w=i(92870),y=i(26022),_=i(89998),b=i(51235),x=i(36065),N=i(96315),C=i(66845),I=i(87875),E=i(33429),S=i(56956),k=i(42899),L=i(98445),P=i(13887),A=i(36402),T=i(49231),Z=i(74628),F=i(34741),D=i(13607),M=i(73743),B=i(59897),z=i(89241),O=i(96226),j=i(97947),V=i(26939),R=i(37008),$=i(74764),H=i(6318),Y=i(78573),G=i(22175),U=i(93428),X=i(93815),W=i(40873),q=i(64865),Q=i(3172),K=i(88175),J=i(20435),tt=i(25475),et=i(6156),it=i(16972),nt=i(34246),rt=i(34854),ot=i(42213),st=i(22663),at=i(98212),lt=i(13372),ct=(i(29612),i(93664),i(79753),i(86884)),ut=(i(60577),i(49368)),dt=(i(69183),i(74911)),pt=i(35380),ft=i(56857),ht=i(67912),gt=i(13199),mt=i(13888),vt=i(34509),wt=i(70653),yt=(i(52299),i(50279),i(93911),i(85302),i(90318)),_t=i(17593),bt=(i(79845),i(84722),i(76692),i(40946),i(73045));n.Z,r.Z,o.Z,s.Z,a.Z,l.Z,c.Z,u.Z,p.Z,f.Z,h.Z,d.Z,g.Z,m.Z,v.Z,w.Z,y.Z,_.Z,b.Z,x.Z,N.Z,C.Z,I.Z,E.Z,S.Z,k.Z,L.Z,at.NcAutoCompleteResult,P.N,A.Z,T.Z,Z.Z,F.Z,D.Z,M.Z,B.Z,z.Z,O.Z,j.Z,V.Z,R.Z,$.Z,H.Z,Y.Z,G.Z,U.Z,X.Z,W.N,q.Z,Q.Z,K.Z,J.Z,st.N,tt.Z,et.Z,it.Z,nt.Z,rt.Z,ot.Z,at.default,lt.N,dt.Z,ct.Z,pt.Z,ft.Z,ht.Z,gt.N,wt.Z,ut.Z,mt.Z,vt.Z,Symbol.toStringTag,yt.X,_t.X,bt.VTooltip,Symbol.toStringTag}}]); -//# sourceMappingURL=5358-5358.js.map?v=8ea58c7886c9b4f45bd3 \ No newline at end of file +"use strict";(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[5358],{42761:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:t=>{t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},39896:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},19141:(t,e,i)=>{i.r(e),i.d(e,{default:()=>D});var n=i(20144),r=i(5656),o=i(31352),s=i(64882),a=i(62520),l=i(43554),c=i(79753),u=i(64886),d=i(93664),p=i(35820),f=i(74139),h=i(69183),g=i(25108);function m(t,e,i,n,r,o,s,a){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=a?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}}const v=m({name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,w=()=>{var t,e,i;const r=(0,l.j)("files","config",null),o=(0,n.ref)(null!=(t=null==r?void 0:r.show_hidden)&&t),s=(0,n.ref)(null==(e=null==r?void 0:r.sort_favorites_first)||e),a=(0,n.ref)(null==(i=null==r?void 0:r.crop_image_previews)||i);return(0,n.onMounted)((()=>{d.Z.get((0,c.generateUrl)("/apps/files/api/v1/configs")).then((t=>{var e,i,n,r,l,c,u,d,p;o.value=null!=(n=null==(i=null==(e=t.data)?void 0:e.data)?void 0:i.show_hidden)&&n,s.value=null==(c=null==(l=null==(r=t.data)?void 0:r.data)?void 0:l.sort_favorites_first)||c,a.value=null==(p=null==(d=null==(u=t.data)?void 0:u.data)?void 0:d.crop_image_previews)||p}))})),{showHiddenFiles:o,sortFavoritesFirst:s,cropImagePreviews:a}},y=m({name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-up-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,15L12,10L17,15H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,_=m({name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon menu-down-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7,10L12,15L17,10H7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,b={"file-picker__file-icon":"_file-picker__file-icon_1vgv4_5"},x=m((0,n.defineComponent)({__name:"LoadingTableRow",props:{showCheckbox:{type:Boolean}},setup:t=>({__sfc:!0,fileListIconStyles:b})}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",{staticClass:"file-picker__row loading-row",attrs:{"aria-hidden":"true"}},[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e("span")]):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"row-wrapper"},[e("span",{class:i.fileListIconStyles["file-picker__file-icon"]}),e("span")])]),t._m(0),t._m(1)])}),[function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-size"},[t("span")])},function(){var t=this._self._c;return this._self._setupProxy,t("td",{staticClass:"row-modified"},[t("span")])}],!1,null,"6aded0d9",null,null).exports,N=m({name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,C=m((0,n.defineComponent)({name:"FilePreview",props:{node:null,cropImagePreviews:{type:Boolean}},setup(t){const e=t,i=(0,n.ref)(b),o=(0,n.computed)((()=>function(t,e={}){var i;e={size:32,cropPreview:!1,mimeFallback:!0,...e};try{const n=(null==(i=t.attributes)?void 0:i.previewUrl)||(0,c.generateUrl)("/core/preview?fileId={fileid}",{fileid:t.fileid});let r;try{r=new URL(n)}catch{r=new URL(n,window.location.origin)}return r.searchParams.set("x","".concat(e.size)),r.searchParams.set("y","".concat(e.size)),r.searchParams.set("mimeFallback","".concat(e.mimeFallback)),r.searchParams.set("a",!0===e.cropPreview?"0":"1"),r.searchParams.set("c","".concat(t.attributes.etag)),r}catch{return null}}(e.node,{cropPreview:e.cropImagePreviews}))),s=(0,n.computed)((()=>e.node.type===r.Tv.File)),a=(0,n.ref)(!1);return(0,n.watch)(o,(()=>{if(a.value=!1,o.value){const t=document.createElement("img");t.src=o.value.href,t.onerror=()=>t.remove(),t.onload=()=>{a.value=!0,t.remove()},document.body.appendChild(t)}}),{immediate:!0}),{__sfc:!0,fileListIconStyles:i,props:e,previewURL:o,isFile:s,canLoadPreview:a,t:p.t,IconFile:v,IconFolder:N}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{class:i.fileListIconStyles["file-picker__file-icon"],style:i.canLoadPreview?{backgroundImage:"url(".concat(i.previewURL,")")}:void 0,attrs:{"aria-label":i.t("MIME type {mime}",{mime:t.node.mime||i.t("unknown")})}},[i.canLoadPreview?t._e():[i.isFile?e(i.IconFile,{attrs:{size:20}}):e(i.IconFolder,{attrs:{size:20}})]],2)}),[],!1,null,null,null,null).exports,I=m((0,n.defineComponent)({__name:"FileListRow",props:{allowPickDirectory:{type:Boolean},selected:{type:Boolean},showCheckbox:{type:Boolean},canPick:{type:Boolean},node:null,cropImagePreviews:{type:Boolean}},emits:["update:selected","enter-directory"],setup(t,{emit:e}){const i=t,o=(0,n.computed)((()=>{var t;return(null==(t=i.node.attributes)?void 0:t.displayName)||i.node.basename.slice(0,i.node.extension?-i.node.extension.length:void 0)})),a=(0,n.computed)((()=>i.node.extension)),l=(0,n.computed)((()=>i.node.type===r.Tv.Folder)),c=(0,n.computed)((()=>i.canPick&&(i.allowPickDirectory||!l.value)));function u(){e("update:selected",!i.selected)}function d(){l.value?e("enter-directory",i.node):u()}return{__sfc:!0,props:i,emit:e,displayName:o,fileExtension:a,isDirectory:l,isPickable:c,toggleSelected:u,handleClick:d,handleKeyDown:function(t){"Enter"===t.key&&d()},formatFileSize:r.sS,NcCheckboxRadioSwitch:s.rw,NcDateTime:s.Jh,t:p.t,FilePreview:C}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("tr",t._g({class:["file-picker__row",{"file-picker__row--selected":t.selected&&!t.showCheckbox}],attrs:{tabindex:t.showCheckbox&&!i.isDirectory?void 0:0,"aria-selected":i.isPickable?t.selected:void 0,"data-filename":t.node.basename,"data-testid":"file-list-row"},on:{click:i.handleClick}},!t.showCheckbox||i.isDirectory?{keydown:i.handleKeyDown}:{}),[t.showCheckbox?e("td",{staticClass:"row-checkbox"},[e(i.NcCheckboxRadioSwitch,{attrs:{disabled:!i.isPickable,checked:t.selected,"aria-label":i.t("Select the row for {nodename}",{nodename:i.displayName}),"data-testid":"row-checkbox"},on:{click:function(t){t.stopPropagation()},"update:checked":i.toggleSelected}})],1):t._e(),e("td",{staticClass:"row-name"},[e("div",{staticClass:"file-picker__name-container",attrs:{"data-testid":"row-name"}},[e(i.FilePreview,{attrs:{node:t.node,"crop-image-previews":t.cropImagePreviews}}),e("div",{staticClass:"file-picker__file-name",attrs:{title:i.displayName},domProps:{textContent:t._s(i.displayName)}}),e("div",{staticClass:"file-picker__file-extension",domProps:{textContent:t._s(i.fileExtension)}})],1)]),e("td",{staticClass:"row-size"},[t._v(" "+t._s(i.formatFileSize(t.node.size||0))+" ")]),e("td",{staticClass:"row-modified"},[e(i.NcDateTime,{attrs:{timestamp:t.node.mtime,"ignore-seconds":!0}})],1)])}),[],!1,null,"ee6f34b5",null,null).exports,E=m((0,n.defineComponent)({__name:"FileList",props:{currentView:null,multiselect:{type:Boolean},allowPickDirectory:{type:Boolean},loading:{type:Boolean},files:null,selectedFiles:null,path:null},emits:["update:path","update:selectedFiles"],setup(t,{emit:e}){const i=t,f=(0,n.ref)(),{currentConfig:h}=(t=>{var e,i,r,o,s,a,p,f,h,g,m,v;const w=t=>"asc"===t?"ascending":"desc"===t?"descending":"none",y=(0,l.j)("files","viewConfigs",null),_=(0,n.ref)({sortBy:null!=(i=null==(e=null==y?void 0:y.files)?void 0:e.sorting_mode)?i:"basename",order:w(null!=(o=null==(r=null==y?void 0:y.files)?void 0:r.sorting_direction)?o:"asc")}),b=(0,n.ref)({sortBy:null!=(a=null==(s=null==y?void 0:y.recent)?void 0:s.sorting_mode)?a:"basename",order:w(null!=(f=null==(p=null==y?void 0:y.recent)?void 0:p.sorting_direction)?f:"asc")}),x=(0,n.ref)({sortBy:null!=(g=null==(h=null==y?void 0:y.favorites)?void 0:h.sorting_mode)?g:"basename",order:w(null!=(v=null==(m=null==y?void 0:y.favorites)?void 0:m.sorting_direction)?v:"asc")});(0,n.onMounted)((()=>{d.Z.get((0,c.generateUrl)("/apps/files/api/v1/views")).then((t=>{var e,i,n,r,o,s,a,l,c,u,d,p,f,h,g,m,v,y,N,C,I;_.value={sortBy:null!=(r=null==(n=null==(i=null==(e=t.data)?void 0:e.data)?void 0:i.files)?void 0:n.sorting_mode)?r:"basename",order:w(null==(a=null==(s=null==(o=t.data)?void 0:o.data)?void 0:s.files)?void 0:a.sorting_direction)},x.value={sortBy:null!=(d=null==(u=null==(c=null==(l=t.data)?void 0:l.data)?void 0:c.favorites)?void 0:u.sorting_mode)?d:"basename",order:w(null==(h=null==(f=null==(p=t.data)?void 0:p.data)?void 0:f.favorites)?void 0:h.sorting_direction)},b.value={sortBy:null!=(y=null==(v=null==(m=null==(g=t.data)?void 0:g.data)?void 0:m.recent)?void 0:v.sorting_mode)?y:"basename",order:w(null==(I=null==(C=null==(N=t.data)?void 0:N.data)?void 0:C.recent)?void 0:I.sorting_direction)}}))}));const N=(0,n.computed)((()=>"files"===(0,u.Tn)(t||"files")?_.value:"recent"===(0,u.Tn)(t)?b.value:x.value)),C=(0,n.computed)((()=>N.value.sortBy)),I=(0,n.computed)((()=>N.value.order));return{filesViewConfig:_,favoritesViewConfig:x,recentViewConfig:b,currentConfig:N,sortBy:C,order:I}})(i.currentView),g=(0,n.computed)((()=>{var t;return null!=(t=f.value)?t:h.value})),m=(0,n.computed)((()=>"basename"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),v=(0,n.computed)((()=>"size"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),b=(0,n.computed)((()=>"mtime"===g.value.sortBy?"none"===g.value.order?void 0:g.value.order:void 0)),{sortFavoritesFirst:N,cropImagePreviews:C}=w(),E=(0,n.computed)((()=>{const t={ascending:(t,e,i)=>i(t,e),descending:(t,e,i)=>i(e,t),none:(t,e,i)=>0},e={basename:(t,e)=>{var i,n;return((null==(i=t.attributes)?void 0:i.displayName)||t.basename).localeCompare((null==(n=e.attributes)?void 0:n.displayName)||e.basename,(0,o.aj)())},size:(t,e)=>(t.size||0)-(e.size||0),mtime:(t,e)=>{var i,n,r,o;return((null==(n=null==(i=e.mtime)?void 0:i.getTime)?void 0:n.call(i))||0)-((null==(o=null==(r=t.mtime)?void 0:r.getTime)?void 0:o.call(r))||0)}};return[...i.files].sort(((i,n)=>(n.type===r.Tv.Folder?1:0)-(i.type===r.Tv.Folder?1:0)||(N?(n.attributes.favorite?1:0)-(i.attributes.favorite?1:0):0)||t[g.value.order](i,n,e[g.value.sortBy])))})),S=(0,n.computed)((()=>i.files.filter((t=>i.allowPickDirectory||t.type!==r.Tv.Folder)))),k=(0,n.computed)((()=>!i.loading&&i.selectedFiles.length>0&&i.selectedFiles.length>=S.value.length)),L=(0,n.ref)(4),P=(0,n.ref)();{const t=()=>(0,n.nextTick)((()=>{var t,e,i,n,r;const o=(null==(e=null==(t=P.value)?void 0:t.parentElement)?void 0:e.children)||[];let s=(null==(n=null==(i=P.value)?void 0:i.parentElement)?void 0:n.clientHeight)||450;for(let t=0;t{window.addEventListener("resize",t),t()})),(0,n.onUnmounted)((()=>{window.removeEventListener("resize",t)}))}return{__sfc:!0,props:i,emit:e,customSortingConfig:f,filesAppSorting:h,sortingConfig:g,sortByName:m,sortBySize:v,sortByModified:b,toggleSorting:t=>{g.value.sortBy===t?"ascending"===g.value.order?f.value={sortBy:g.value.sortBy,order:"descending"}:f.value={sortBy:g.value.sortBy,order:"ascending"}:f.value={sortBy:t,order:"ascending"}},sortFavoritesFirst:N,cropImagePreviews:C,sortedFiles:E,selectableFiles:S,allSelected:k,onSelectAll:function(){i.selectedFiles.lengthe.path!==t.path))):i.multiselect?e("update:selectedFiles",[...i.selectedFiles,t]):e("update:selectedFiles",[t])},onChangeDirectory:function(t){e("update:path",(0,a.join)(i.path,t.basename))},skeletonNumber:L,fileContainer:P,NcButton:s.P2,NcCheckboxRadioSwitch:s.rw,t:p.t,IconSortAscending:y,IconSortDescending:_,LoadingTableRow:x,FileListRow:I}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("div",{ref:"fileContainer",staticClass:"file-picker__files"},[e("table",[e("thead",[e("tr",[t.multiselect?e("th",{staticClass:"row-checkbox"},[e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(i.t("Select entry"))+" ")]),t.multiselect?e(i.NcCheckboxRadioSwitch,{attrs:{"aria-label":i.t("Select all entries"),checked:i.allSelected,"data-testid":"select-all-checkbox"},on:{"update:checked":i.onSelectAll}}):t._e()],1):t._e(),e("th",{staticClass:"row-name",attrs:{"aria-sort":i.sortByName}},[e("div",{staticClass:"header-wrapper"},[e("span",{staticClass:"file-picker__header-preview"}),e(i.NcButton,{attrs:{wide:!0,type:"tertiary","data-test":"file-picker_sort-name"},on:{click:function(t){return i.toggleSorting("basename")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByName?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByName?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Name"))+" ")])],1)]),e("th",{staticClass:"row-size",attrs:{"aria-sort":i.sortBySize}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:function(t){return i.toggleSorting("size")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortBySize?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortBySize?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Size"))+" ")])],1),e("th",{staticClass:"row-modified",attrs:{"aria-sort":i.sortByModified}},[e(i.NcButton,{attrs:{wide:!0,type:"tertiary"},on:{click:function(t){return i.toggleSorting("mtime")}},scopedSlots:t._u([{key:"icon",fn:function(){return["ascending"===i.sortByModified?e(i.IconSortAscending,{attrs:{size:20}}):"descending"===i.sortByModified?e(i.IconSortDescending,{attrs:{size:20}}):e("span",{staticStyle:{width:"44px"}})]},proxy:!0}])},[t._v(" "+t._s(i.t("Modified"))+" ")])],1)])]),e("tbody",[t.loading?t._l(i.skeletonNumber,(function(n){return e(i.LoadingTableRow,{key:n,attrs:{"show-checkbox":t.multiselect}})})):t._l(i.sortedFiles,(function(n){return e(i.FileListRow,{key:n.fileid||n.path,attrs:{"allow-pick-directory":t.allowPickDirectory,"show-checkbox":t.multiselect,"can-pick":t.multiselect||0===t.selectedFiles.length||t.selectedFiles.includes(n),selected:t.selectedFiles.includes(n),node:n,"crop-image-previews":i.cropImagePreviews},on:{"update:selected":function(t){return i.onNodeSelected(n)},"enter-directory":i.onChangeDirectory}})}))],2)])])}),[],!1,null,"4297db37",null,null).exports,S=m({name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,k=m({name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon plus-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,L=m((0,n.defineComponent)({__name:"FilePickerBreadcrumbs",props:{path:null,showMenu:{type:Boolean}},emits:["update:path","create-node"],setup(t,{emit:e}){const i=t,r=(0,n.ref)(""),o=(0,n.ref)();function a(){var t,e,i,n;const s=r.value.trim(),a=null==(e=null==(t=o.value)?void 0:t.$el)?void 0:e.querySelector("input");let l="";return 0===s.length?l=(0,p.t)("Folder name cannot be empty."):s.includes("/")?l=(0,p.t)('"/" is not allowed inside a folder name.'):["..","."].includes(s)?l=(0,p.t)('"{name}" is an invalid folder name.',{name:s}):null!=(i=window.OC.config)&&i.blacklist_files_regex&&s.match(null==(n=window.OC.config)?void 0:n.blacklist_files_regex)&&(l=(0,p.t)('"{name}" is not an allowed folder name',{name:s})),a&&a.setCustomValidity(l),""===l}const l=(0,n.computed)((()=>i.path.split("/").filter((t=>""!==t)).map(((t,e,i)=>({name:t,path:"/"+i.slice(0,e+1).join("/")})))));return{__sfc:!0,props:i,emit:e,newNodeName:r,nameInput:o,validateInput:a,onSubmit:function(){const t=r.value.trim();a()&&(e("create-node",t),r.value="")},pathElements:l,IconFolder:N,IconHome:S,IconPlus:k,NcActions:s.O3,NcActionInput:s.Iw,NcBreadcrumbs:s.fg,NcBreadcrumb:s.$U,t:p.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcBreadcrumbs,{staticClass:"file-picker__breadcrumbs",scopedSlots:t._u([{key:"default",fn:function(){return[e(i.NcBreadcrumb,{attrs:{name:i.t("Home"),title:i.t("Home")},on:{click:function(t){return i.emit("update:path","/")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconHome,{attrs:{size:20}})]},proxy:!0}])}),t._l(i.pathElements,(function(t){return e(i.NcBreadcrumb,{key:t.path,attrs:{name:t.name,title:t.path},on:{click:function(e){return i.emit("update:path",t.path)}}})}))]},proxy:!0},t.showMenu?{key:"actions",fn:function(){return[e(i.NcActions,{attrs:{"aria-label":i.t("Create directory"),"force-menu":!0,"force-name":!0,"menu-name":i.t("New"),type:"secondary"},on:{close:function(t){i.newNodeName=""}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconPlus,{attrs:{size:20}})]},proxy:!0}],null,!1,2971667417)},[e(i.NcActionInput,{ref:"nameInput",attrs:{value:i.newNodeName,label:i.t("New folder"),placeholder:i.t("New folder name")},on:{"update:value":function(t){i.newNodeName=t},submit:i.onSubmit,input:i.validateInput},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFolder,{attrs:{size:20}})]},proxy:!0}],null,!1,1614167509)})],1)]},proxy:!0}:null],null,!0)})}),[],!1,null,"3bc9efa5",null,null).exports,P=m({name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,A=m({name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,T=m({name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,Z=m({name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null,null).exports,F=m((0,n.defineComponent)({__name:"FilePickerNavigation",props:{currentView:null,filterString:null,isCollapsed:{type:Boolean}},emits:["update:currentView","update:filterString"],setup(t,{emit:e}){const i=t,r=[{id:"files",label:(0,p.t)("All files"),icon:N},{id:"recent",label:(0,p.t)("Recent"),icon:P},{id:"favorites",label:(0,p.t)("Favorites"),icon:Z}],o=(0,n.computed)((()=>r.filter((t=>t.id===i.currentView))[0]));return{__sfc:!0,allViews:r,props:i,emit:e,currentViewObject:o,updateFilterValue:t=>e("update:filterString",t),IconClose:A,IconMagnify:T,NcButton:s.P2,NcSelect:s.QG,NcTextField:s.h3,t:p.t,Fragment:f.Fragment}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.Fragment,[e(i.NcTextField,{staticClass:"file-picker__filter-input",attrs:{value:t.filterString,label:i.t("Filter file list"),"show-trailing-button":!!t.filterString},on:{"update:value":i.updateFilterValue,"trailing-button-click":function(t){return i.updateFilterValue("")}},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[e(i.IconClose,{attrs:{size:16}})]},proxy:!0}])},[e(i.IconMagnify,{attrs:{size:16}})],1),t.isCollapsed?e(i.NcSelect,{attrs:{"aria-label":i.t("Current view selector"),clearable:!1,searchable:!1,options:i.allViews,value:i.currentViewObject},on:{input:t=>i.emit("update:currentView",t.id)}}):e("ul",{staticClass:"file-picker__side",attrs:{role:"tablist","aria-label":i.t("Filepicker sections")}},t._l(i.allViews,(function(n){return e("li",{key:n.id},[e(i.NcButton,{attrs:{"aria-selected":t.currentView===n.id,type:t.currentView===n.id?"primary":"tertiary",wide:!0,role:"tab"},on:{click:function(e){return t.$emit("update:currentView",n.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(n.icon,{tag:"component",attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(n.label)+" ")])],1)})),0)],1)}),[],!1,null,"fcfd0f23",null,null).exports,D=m((0,n.defineComponent)({name:"FilePicker",props:{buttons:null,name:null,allowPickDirectory:{type:Boolean,default:!1},container:{default:"body"},filterFn:{default:void 0},mimetypeFilter:{default:()=>[]},multiselect:{type:Boolean,default:!0},path:{default:"/"}},emits:["close"],setup(t,{emit:e}){const i=t,o=(0,n.computed)((()=>({container:i.container,name:i.name,buttons:l.value,size:"large",contentClasses:["file-picker__content"],dialogClasses:["file-picker"],navigationClasses:["file-picker__navigation"]}))),l=(0,n.computed)((()=>("function"==typeof i.buttons?i.buttons(d.value,y.value,c.value):i.buttons).map((t=>({...t,callback:async()=>{const n=0===d.value.length&&i.allowPickDirectory?[await I(y.value)]:d.value;t.callback(n),e("close",n)}}))))),c=(0,n.ref)("files"),u=(0,n.computed)((()=>"favorites"===c.value?(0,p.t)("Favorites"):"recent"===c.value?(0,p.t)("Recent"):"")),d=(0,n.ref)([]),f=(0,n.ref)((null==window?void 0:window.sessionStorage.getItem("NC.FilePicker.LastPath"))||"/"),m=(0,n.ref)(),y=(0,n.computed)({get:()=>"files"===c.value?m.value||i.path||f.value:"/",set:t=>{void 0===i.path&&window.sessionStorage.setItem("NC.FilePicker.LastPath",t),m.value=t,d.value=[]}}),_=(0,n.ref)(""),{isSupportedMimeType:b}=function(t){const e=(0,n.computed)((()=>t.value.map((t=>t.split("/")))));return{isSupportedMimeType:t=>{const i=t.split("/");return e.value.some((([t,e])=>!(i[0]!==t&&"*"!==t||i[1]!==e&&"*"!==e)))}}}((0,n.toRef)(i,"mimetypeFilter")),{files:x,isLoading:N,loadFiles:C,getFile:I,client:S}=function(t,e){const i=(0,r.rp)(),o=(0,n.ref)([]),s=(0,n.ref)(!0);async function a(){if(s.value=!0,"favorites"===t.value)o.value=await(0,r.pC)(i,e.value);else if("recent"===t.value){const t=Math.round(Date.now()/1e3)-1209600,{data:e}=await i.search("/",{details:!0,data:(0,r.tB)(t)});o.value=e.results.map((t=>(0,r.RL)(t)))}else{const t=await i.getDirectoryContents("".concat(r._o).concat(e.value),{details:!0,data:(0,r.h7)()});o.value=t.data.map((t=>(0,r.RL)(t)))}s.value=!1}return(0,n.watch)([t,e],(()=>a())),(0,n.onMounted)((()=>a())),{isLoading:s,files:o,loadFiles:a,getFile:async function(t,e=r._o){const n=await i.stat("".concat(e).concat(t),{details:!0});return(0,r.RL)(n.data)},client:i}}(c,y);(0,n.onMounted)((()=>C()));const{showHiddenFiles:k}=w(),P=(0,n.computed)((()=>{let t=x.value;return k.value||(t=t.filter((t=>!t.basename.startsWith(".")))),i.mimetypeFilter.length>0&&(t=t.filter((t=>"folder"===t.type||t.mime&&b(t.mime)))),_.value&&(t=t.filter((t=>t.basename.toLowerCase().includes(_.value.toLowerCase())))),i.filterFn&&(t=t.filter((t=>i.filterFn(t)))),t})),A=(0,n.computed)((()=>"files"===c.value?(0,p.t)("Upload some content or sync with your devices!"):"recent"===c.value?(0,p.t)("Files and folders you recently modified will show up here."):(0,p.t)("Files and folders you mark as favorite will show up here.")));return{__sfc:!0,props:i,emit:e,dialogProps:o,dialogButtons:l,currentView:c,viewHeadline:u,selectedFiles:d,savedPath:f,navigatedPath:m,currentPath:y,filterString:_,isSupportedMimeType:b,files:x,isLoading:N,loadFiles:C,getFile:I,client:S,showHiddenFiles:k,filteredFiles:P,noFilesDescription:A,onCreateFolder:async t=>{try{await S.createDirectory((0,a.join)(r._o,y.value,t)),await C(),(0,h.j8)("files:node:created",x.value.filter((e=>e.basename===t))[0])}catch(e){g.warn("Could not create new folder",{name:t,error:e}),(0,p.k)((0,p.t)("Could not create the new folder"))}},handleClose:t=>{t||e("close")},IconFile:v,FileList:E,FilePickerBreadcrumbs:L,FilePickerNavigation:F,NcDialog:s.a0,NcEmptyContent:s.SL,t:p.t}}}),(function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcDialog,t._b({on:{"update:open":i.handleClose},scopedSlots:t._u([{key:"navigation",fn:function({isCollapsed:t}){return[e(i.FilePickerNavigation,{attrs:{"is-collapsed":t,"current-view":i.currentView,"filter-string":i.filterString},on:{"update:currentView":function(t){i.currentView=t},"update:current-view":function(t){i.currentView=t},"update:filterString":function(t){i.filterString=t},"update:filter-string":function(t){i.filterString=t}}})]}}])},"NcDialog",i.dialogProps,!1),[e("div",{staticClass:"file-picker__main"},["files"===i.currentView?e(i.FilePickerBreadcrumbs,{attrs:{path:i.currentPath,"show-menu":t.allowPickDirectory},on:{"update:path":function(t){i.currentPath=t},"create-node":i.onCreateFolder}}):e("div",{staticClass:"file-picker__view"},[e("h3",[t._v(t._s(i.viewHeadline))])]),i.isLoading||i.filteredFiles.length>0?e(i.FileList,{attrs:{"allow-pick-directory":t.allowPickDirectory,"current-view":i.currentView,files:i.filteredFiles,multiselect:t.multiselect,loading:i.isLoading,path:i.currentPath,"selected-files":i.selectedFiles,name:i.viewHeadline},on:{"update:path":[function(t){i.currentPath=t},function(t){i.currentView="files"}],"update:selectedFiles":function(t){i.selectedFiles=t},"update:selected-files":function(t){i.selectedFiles=t}}}):i.filterString?e(i.NcEmptyContent,{attrs:{name:i.t("No matching files"),description:i.t("No files matching your filter were found.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])}):e(i.NcEmptyContent,{attrs:{name:i.t("No files in here"),description:i.noFilesDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.IconFile)]},proxy:!0}])})],1)])}),[],!1,null,"86a13079",null,null).exports},5656:(t,e,i)=>{i.d(e,{$B:()=>B,DT:()=>w,De:()=>x,G7:()=>ue,Ir:()=>he,NB:()=>M,RL:()=>$,SR:()=>j,Ti:()=>Y,Tv:()=>T,Vn:()=>b,_o:()=>O,cd:()=>pe,e4:()=>D,gt:()=>z,h7:()=>L,jA:()=>v,m0:()=>S,oE:()=>fe,p$:()=>y,p4:()=>_,pC:()=>R,qq:()=>E,rp:()=>V,sS:()=>m,sg:()=>G,tB:()=>P,w4:()=>k,y3:()=>N,zu:()=>A});var n=i(77958),r=i(17499),o=i(31352),s=i(62520),a=i(65358),l=i(79753),c=i(14596);const u=null===(d=(0,n.ts)())?(0,r.IY)().setApp("files").build():(0,r.IY)().setApp("files").setUid(d.uid).build();var d;class p{_entries=[];registerEntry(t){this.validateEntry(t),this._entries.push(t)}unregisterEntry(t){const e="string"==typeof t?this.getEntryIndex(t):this.getEntryIndex(t.id);-1!==e?this._entries.splice(e,1):u.warn("Entry not found, nothing removed",{entry:t,entries:this.getEntries()})}getEntries(t){return t?this._entries.filter((e=>"function"!=typeof e.enabled||e.enabled(t))):this._entries}getEntryIndex(t){return this._entries.findIndex((e=>e.id===t))}validateEntry(t){if(!t.id||!t.displayName||!t.iconSvgInline&&!t.iconClass||!t.handler)throw new Error("Invalid entry");if("string"!=typeof t.id||"string"!=typeof t.displayName)throw new Error("Invalid id or displayName property");if(t.iconClass&&"string"!=typeof t.iconClass||t.iconSvgInline&&"string"!=typeof t.iconSvgInline)throw new Error("Invalid icon provided");if(void 0!==t.enabled&&"function"!=typeof t.enabled)throw new Error("Invalid enabled property");if("function"!=typeof t.handler)throw new Error("Invalid handler property");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order property");if(-1!==this.getEntryIndex(t.id))throw new Error("Duplicate entry")}}const f=function(){return typeof window._nc_newfilemenu>"u"&&(window._nc_newfilemenu=new p,u.debug("NewFileMenu initialized")),window._nc_newfilemenu},h=["B","KB","MB","GB","TB","PB"],g=["B","KiB","MiB","GiB","TiB","PiB"];function m(t,e=!1,i=!1,n=!1){i=i&&!n,"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;r=Math.min((i?g.length:h.length)-1,r);const s=i?g[r]:h[r];let a=(t/Math.pow(n?1e3:1024,r)).toFixed(1);return!0===e&&0===r?("0.0"!==a?"< 1 ":"0 ")+(i?g[1]:h[1]):(a=r<2?parseFloat(a).toFixed(0):parseFloat(a).toLocaleString((0,o.aj)()),a+" "+s)}function v(t,e=!1){try{t=`${t}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch{return null}const i=t.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===i||"."===i[1]||""===i[1])return null;const n=`${i[1]}`,r="i"===i[4]||e?1024:1e3;return Math.round(Number.parseFloat(n)*r**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[i[3]])}var w=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(w||{});class y{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if("parent"in t&&"string"!=typeof t.parent)throw new Error("Invalid parent");if(t.default&&!Object.values(w).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const _=function(t){typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions.find((e=>e.id===t.id))?u.error(`FileAction ${t.id} already registered`,{action:t}):window._nc_fileactions.push(t)},b=function(){return typeof window._nc_fileactions>"u"&&(window._nc_fileactions=[],u.debug("FileActions initialized")),window._nc_fileactions},x=function(){return typeof window._nc_filelistheader>"u"&&(window._nc_filelistheader=[],u.debug("FileListHeaders initialized")),window._nc_filelistheader};var N=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(N||{});const C=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],I={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},E=function(t,e={nc:"http://nextcloud.org/ns"}){typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...C],window._nc_dav_namespaces={...I});const i={...window._nc_dav_namespaces,...e};return window._nc_dav_properties.find((e=>e===t))?(u.error(`${t} already registered`,{prop:t}),!1):t.startsWith("<")||2!==t.split(":").length?(u.error(`${t} is not valid. See example: 'oc:fileid'`,{prop:t}),!1):i[t.split(":")[0]]?(window._nc_dav_properties.push(t),window._nc_dav_namespaces=i,!0):(u.error(`${t} namespace unknown`,{prop:t,namespaces:i}),!1)},S=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...C]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},k=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...I}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},L=function(){return`\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t`},P=function(t){return`\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${(0,n.ts)()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`},A=function(t=""){let e=N.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=N.CREATE),t.includes("G")&&(e|=N.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=N.UPDATE),t.includes("D")&&(e|=N.DELETE),t.includes("R")&&(e|=N.SHARE)),e};var T=(t=>(t.Folder="folder",t.File="file",t))(T||{});const Z=function(t,e){return null!==t.match(e)},F=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=N.NONE&&t.permissions<=N.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&Z(t.source,e)){const i=t.source.match(e)[0];if(!t.source.includes((0,s.join)(i,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(D).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var D=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(D||{});class M{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){F(t,e||this._knownDavService),this._data=t;const i={set:(t,e,i)=>(this.updateMtime(),Reflect.set(t,e,i)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},i),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,a.Ec)(this.source.slice(t.length))}get basename(){return(0,s.basename)(this.source)}get extension(){return(0,s.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,s.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,s.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:N.NONE:N.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return Z(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,s.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){F({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,s.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class B extends M{get type(){return T.File}}class z extends M{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return T.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const O=`/files/${(0,n.ts)()?.uid}`,j=(0,l.generateRemoteUrl)("dav"),V=function(t=j){const e=(0,c.eI)(t);function i(t){e.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return(0,n._S)(i),i((0,n.IH)()),(0,c.lD)().patch("fetch",((t,e)=>{const i=e.headers;return i?.method&&(e.method=i.method,delete i.method),fetch(t,e)})),e},R=async(t,e="/",i=O)=>(await t.getDirectoryContents(`${i}${e}`,{details:!0,data:`\n\t\t\n\t\t\t\n\t\t\t\t${S()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>$(t,i))),$=function(t,e=O,i=j){const r=t.props,o=A(r?.permissions),s=(0,n.ts)()?.uid,a={id:r?.fileid||0,source:`${i}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:o,owner:s,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new B(a):new z(a)};class H{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const Y=function(){return typeof window._nc_navigation>"u"&&(window._nc_navigation=new H,u.debug("Navigation service initialized")),window._nc_navigation};class G{_column;constructor(t){U(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const U=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var X={},W={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let o=0;o"u")},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const o=n.length;for(let t=0;t5&&"xml"===n)return at("InvalidXml","XML declaration allowed only at the start of the document.",ut(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function tt(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e"===t[e+2]){e+=2;break}return e}X.validate=function(t,e){e=Object.assign({},Q,e);const i=[];let n=!1,r=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let o=0;o"!==t[o]&&" "!==t[o]&&"\t"!==t[o]&&"\n"!==t[o]&&"\r"!==t[o];o++)l+=t[o];if(l=l.trim(),"/"===l[l.length-1]&&(l=l.substring(0,l.length-1),o--),!ct(l)){let e;return e=0===l.trim().length?"Invalid space after '<'.":"Tag '"+l+"' is an invalid name.",at("InvalidTag",e,ut(t,o))}const c=nt(t,o);if(!1===c)return at("InvalidAttr","Attributes for '"+l+"' have open quote.",ut(t,o));let u=c.value;if(o=c.index,"/"===u[u.length-1]){const i=o-u.length;u=u.substring(0,u.length-1);const r=ot(u,e);if(!0!==r)return at(r.err.code,r.err.msg,ut(t,i+r.err.line));n=!0}else if(a){if(!c.tagClosed)return at("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",ut(t,o));if(u.trim().length>0)return at("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",ut(t,s));{const e=i.pop();if(l!==e.tagName){let i=ut(t,e.tagStartPos);return at("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+l+"'.",ut(t,s))}0==i.length&&(r=!0)}}else{const a=ot(u,e);if(!0!==a)return at(a.err.code,a.err.msg,ut(t,o-u.length+a.err.line));if(!0===r)return at("InvalidXml","Multiple possible root nodes found.",ut(t,o));-1!==e.unpairedTags.indexOf(l)||i.push({tagName:l,tagStartPos:s}),n=!0}for(o++;o0)||at("InvalidXml","Invalid '"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):at("InvalidXml","Start tag expected.",1)};const et='"',it="'";function nt(t,e){let i="",n="",r=!1;for(;e"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const rt=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function ot(t,e){const i=q.getAllMatches(t,rt),n={};for(let t=0;t!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};pt.buildOptions=function(t){return Object.assign({},ft,t)},pt.defaultOptions=ft;const ht=W;function gt(t,e){let i="";for(;e0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},St=function(t,e){const i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let n=1,r=!1,o=!1,s="";for(;e"===t[e]){if(o?"-"===t[e-1]&&"-"===t[e-2]&&(o=!1,n--):n--,0===n)break}else"["===t[e]?r=!0:s+=t[e];else{if(r&&vt(t,e))e+=7,[entityName,val,e]=gt(t,e+1),-1===val.indexOf("&")&&(i[bt(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&wt(t,e))e+=8;else if(r&&yt(t,e))e+=8;else if(r&&_t(t,e))e+=9;else{if(!mt)throw new Error("Invalid DOCTYPE");o=!0}n++,s=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:e}},kt=function(t,e={}){if(e=Object.assign({},Ct,e),!t||"string"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(e.hex&&xt.test(i))return Number.parseInt(i,16);{const n=Nt.exec(i);if(n){const r=n[1],o=n[2];let s=function(t){return t&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1))),t}(n[3]);const a=n[4]||n[6];if(!e.leadingZeros&&o.length>0&&r&&"."!==i[2])return t;if(!e.leadingZeros&&o.length>0&&!r&&"."!==i[1])return t;{const n=Number(i),l=""+n;return-1!==l.search(/[eE]/)||a?e.eNotation?n:t:-1!==i.indexOf(".")?"0"===l&&""===s||l===s||r&&l==="-"+s?n:t:o?s===l||r+s===l?n:t:i===l||i===r+l?n:t}}return t}};function Lt(t){const e=Object.keys(t);for(let i=0;i0)){s||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,o);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?Rt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function At(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,It.nameRegexp);const Tt=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function Zt(t,e,i){if(!this.options.ignoreAttributes&&"string"==typeof t){const i=It.getAllMatches(t,Tt),n=i.length,r={};for(let t=0;t",o,"Closing Tag is not closed.");let s=t.substring(o+2,e).trim();if(this.options.removeNSPrefix){const t=s.indexOf(":");-1!==t&&(s=s.substr(t+1))}this.options.transformTagName&&(s=this.options.transformTagName(s)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(s&&-1!==this.options.unpairedTags.indexOf(s))throw new Error(`Unpaired tag can not be used as closing tag: `);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",o=e}else if("?"===t[o+1]){let e=jt(t,o,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),!(this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags)){const t=new Et(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,r,e.tagName)),this.addChild(i,t,r)}o=e.closeIndex+1}else if("!--"===t.substr(o+1,3)){const e=Ot(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){const s=t.substring(o+4,e-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:s}])}o=e}else if("!D"===t.substr(o+1,2)){const e=St(t,o);this.docTypeEntities=e.entities,o=e.i}else if("!["===t.substr(o+1,2)){const e=Ot(t,"]]>",o,"CDATA is not closed.")-2,s=t.substring(o+9,e);if(n=this.saveTextToParentTag(n,i,r),this.options.cdataPropName)i.add(this.options.cdataPropName,[{[this.options.textNodeName]:s}]);else{let t=this.parseTextData(s,i.tagname,r,!0,!1,!0);null==t&&(t=""),i.add(this.options.textNodeName,t)}o=e+2}else{let s=jt(t,o,this.options.removeNSPrefix),a=s.tagName;const l=s.rawTagName;let c=s.tagExp,u=s.attrExpPresent,d=s.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const p=i;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==e.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let e="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)o=s.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))o=s.closeIndex;else{const i=this.readStopNodeData(t,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);o=i.i,e=i.tagContent}const n=new Et(a);a!==c&&u&&(n[":@"]=this.buildAttributesMap(c,r,a)),e&&(e=this.parseTextData(e,a,r,!0,u,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,e),this.addChild(i,n,r)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),c=a):c=c.substr(0,c.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new Et(a);a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),r=r.substr(0,r.lastIndexOf("."))}else{const t=new Et(a);this.tagsNodeStack.push(i),a!==c&&u&&(t[":@"]=this.buildAttributesMap(c,r,a)),this.addChild(i,t,r),i=t}n="",o=d}}else n+=t[o];return e.child};function Dt(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n&&(e.tagname=n),t.addChild(e))}const Mt=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Bt(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function zt(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function Ot(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function jt(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let o=e;o",i,`${e} is not closed`);if(t.substring(i+2,o).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:o};i=o}else if("?"===t[i+1])i=Ot(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=Ot(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=Ot(t,"]]>",i,"StopNode is not closed.")-2;else{const n=jt(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function Rt(t,e,i){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&kt(t,i)}return It.isExist(t)?t:""}var $t={};function Ht(t,e,i){let n;const r={};for(let o=0;o0&&(r[e.textNodeName]=n):void 0!==n&&(r[e.textNodeName]=n),r}function Yt(t){const e=Object.keys(t);for(let t=0;t"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"}},this.addExternalEntities=Lt,this.parseXml=Ft,this.parseTextData=Pt,this.resolveNameSpace=At,this.buildAttributesMap=Zt,this.isItStopNode=zt,this.replaceEntitiesValue=Mt,this.readStopNodeData=Vt,this.saveTextToParentTag=Bt,this.addChild=Dt}},{prettify:qt}=$t,Qt=X;function Kt(t,e,i,n){let r="",o=!1;for(let s=0;s`,o=!1;continue}if(l===e.commentPropName){r+=n+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,o=!0;continue}if("?"===l[0]){const t=te(a[":@"],e),i="?xml"===l?"":n;let s=a[l][0][e.textNodeName];s=0!==s.length?" "+s:"",r+=i+`<${l}${s}${t}?>`,o=!0;continue}let u=n;""!==u&&(u+=e.indentBy);const d=n+`<${l}${te(a[":@"],e)}`,p=Kt(a[l],e,c,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=d+">":r+=d+"/>":p&&0!==p.length||!e.suppressEmptyNode?p&&p.endsWith(">")?r+=d+`>${p}${n}`:(r+=d+">",p&&""!==n&&(p.includes("/>")||p.includes("`):r+=d+"/>",o=!0}return r}function Jt(t){const e=Object.keys(t);for(let i=0;i0&&e.processEntities)for(let i=0;i0&&(i="\n"),Kt(t,e,"",i)},re={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function oe(t){this.options=Object.assign({},re,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=le),this.processTextOrObjNode=se,this.options.format?(this.indentate=ae,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function se(t,e,i){const n=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function ae(t){return this.options.indentBy.repeat(t)}function le(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}oe.prototype.build=function(t){return this.options.preserveOrder?ne(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},oe.prototype.j2x=function(t,e){let i="",n="";for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(typeof t[r]>"u")this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const o=this.isAttribute(r);if(o)i+=this.buildAttrPairStr(o,""+t[r]);else if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const i=t[r].length;let o="";for(let s=0;s"u"||(null===i?"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?o+=this.j2x(i,e+1).val:o+=this.processTextOrObjNode(i,r,e):o+=this.buildTextValNode(i,r,"",e))}this.options.oneListGroup&&(o=this.buildObjectNode(o,r,"",e)),n+=o}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),n=e.length;for(let o=0;o"+t+r}},oe.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"0&&this.options.processEntities)for(let e=0;e0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length||!0!==ce.XMLValidator.validate(t))return!1;let e;const i=new ce.XMLParser;try{e=i.parse(t)}catch{return!1}return!(!e||!("svg"in e))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof G))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0},pe=function(t){return f().registerEntry(t)},fe=function(t){return f().unregisterEntry(t)},he=function(t){return f().getEntries(t).sort(((t,e)=>void 0!==t.order&&void 0!==e.order&&t.order!==e.order?t.order-e.order:t.displayName.localeCompare(e.displayName,void 0,{numeric:!0,sensitivity:"base"})))}},64882:(t,e,i)=>{i.d(e,{$F:()=>gt.N,$U:()=>A.Z,Iw:()=>a.Z,Jh:()=>j.Z,O3:()=>d.Z,O9:()=>wt.Z,P2:()=>Z.Z,QG:()=>ct.Z,SL:()=>G.Z,a0:()=>$.Z,fg:()=>T.Z,gE:()=>ht.Z,h3:()=>ut.Z,qf:()=>et.Z,rw:()=>F.Z});var n=i(72155),r=i(66236),o=i(75944),s=i(45157),a=i(26053),l=i(41989),c=i(99313),u=i(20090),d=i(55212),p=i(96204),f=i(16894),h=i(94162),g=i(40874),m=i(27657),v=i(2047),w=i(92870),y=i(26022),_=i(89998),b=i(51235),x=i(36065),N=i(96315),C=i(66845),I=i(87875),E=i(33429),S=i(56956),k=i(42899),L=i(98445),P=i(13887),A=i(36402),T=i(49231),Z=i(74628),F=i(34741),D=i(13607),M=i(73743),B=i(59897),z=i(89241),O=i(96226),j=i(97947),V=i(26939),R=i(37008),$=i(74764),H=i(6318),Y=i(78573),G=i(22175),U=i(93428),X=i(93815),W=i(40873),q=i(64865),Q=i(3172),K=i(88175),J=i(20435),tt=i(25475),et=i(6156),it=i(16972),nt=i(34246),rt=i(34854),ot=i(42213),st=i(22663),at=i(98212),lt=i(13372),ct=(i(29612),i(93664),i(79753),i(86884)),ut=(i(60577),i(49368)),dt=(i(69183),i(74911)),pt=i(35380),ft=i(56857),ht=i(67912),gt=i(13199),mt=i(13888),vt=i(34509),wt=i(70653),yt=(i(52299),i(50279),i(93911),i(85302),i(90318)),_t=i(17593),bt=(i(79845),i(84722),i(76692),i(40946),i(73045));n.Z,r.Z,o.Z,s.Z,a.Z,l.Z,c.Z,u.Z,p.Z,f.Z,h.Z,d.Z,g.Z,m.Z,v.Z,w.Z,y.Z,_.Z,b.Z,x.Z,N.Z,C.Z,I.Z,E.Z,S.Z,k.Z,L.Z,at.NcAutoCompleteResult,P.N,A.Z,T.Z,Z.Z,F.Z,D.Z,M.Z,B.Z,z.Z,O.Z,j.Z,V.Z,R.Z,$.Z,H.Z,Y.Z,G.Z,U.Z,X.Z,W.N,q.Z,Q.Z,K.Z,J.Z,st.N,tt.Z,et.Z,it.Z,nt.Z,rt.Z,ot.Z,at.default,lt.N,dt.Z,ct.Z,pt.Z,ft.Z,ht.Z,gt.N,wt.Z,ut.Z,mt.Z,vt.Z,Symbol.toStringTag,yt.X,_t.X,bt.VTooltip,Symbol.toStringTag}}]); +//# sourceMappingURL=5358-5358.js.map?v=c7fc5670e3cdb8b6d91e \ No newline at end of file diff --git a/dist/5358-5358.js.map b/dist/5358-5358.js.map index 3f9798279ea86..36870fd48acd4 100644 --- a/dist/5358-5358.js.map +++ b/dist/5358-5358.js.map @@ -1 +1 @@ -{"version":3,"file":"5358-5358.js?v=8ea58c7886c9b4f45bd3","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/FilePicker-0bd54f66.mjs","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs"],"sourcesContent":["import { ref as y, onMounted as R, computed as v, defineComponent as I, watch as te, onUnmounted as ue, nextTick as de, toRef as _e } from \"vue\";\nimport { FileType as V, formatFileSize as fe, davGetClient as pe, davResultToNode as M, davRootPath as D, getFavoriteNodes as ve, davGetRecentSearch as me, davGetDefaultPropfind as ge } from \"@nextcloud/files\";\nimport { getCanonicalLocale as he } from \"@nextcloud/l10n\";\nimport { NcCheckboxRadioSwitch as ie, NcDateTime as ye, NcButton as ne, NcActions as we, NcActionInput as Ce, NcBreadcrumbs as be, NcBreadcrumb as ke, NcSelect as Fe, NcTextField as Se, NcDialog as $e, NcEmptyContent as xe } from \"@nextcloud/vue\";\nimport { join as le } from \"path\";\nimport { loadState as se } from \"@nextcloud/initial-state\";\nimport { generateUrl as H } from \"@nextcloud/router\";\nimport { toValue as ee } from \"@vueuse/core\";\nimport re from \"@nextcloud/axios\";\nimport { t as w, k as Ne } from \"./toast-d1cd63b1.mjs\";\nimport { Fragment as Pe } from \"vue-frag\";\nimport { emit as Le } from \"@nextcloud/event-bus\";\nfunction k(s, e, i, t, n, l, o, _) {\n var r = typeof s == \"function\" ? s.options : s;\n e && (r.render = e, r.staticRenderFns = i, r._compiled = !0), t && (r.functional = !0), l && (r._scopeId = \"data-v-\" + l);\n var u;\n if (o ? (u = function(f) {\n f = f || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !f && typeof __VUE_SSR_CONTEXT__ < \"u\" && (f = __VUE_SSR_CONTEXT__), n && n.call(this, f), f && f._registeredComponents && f._registeredComponents.add(o);\n }, r._ssrRegister = u) : n && (u = _ ? function() {\n n.call(\n this,\n (r.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : n), u)\n if (r.functional) {\n r._injectStyles = u;\n var p = r.render;\n r.render = function(g, d) {\n return u.call(d), p(g, d);\n };\n } else {\n var C = r.beforeCreate;\n r.beforeCreate = C ? [].concat(C, u) : [u];\n }\n return {\n exports: s,\n options: r\n };\n}\nconst ze = {\n name: \"FileIcon\",\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};\nvar Be = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ie = [], Ve = /* @__PURE__ */ k(\n ze,\n Be,\n Ie,\n !1,\n null,\n null,\n null,\n null\n);\nconst ae = Ve.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\nconst oe = () => {\n var s, e, i;\n const t = se(\"files\", \"config\", null), n = y((s = t == null ? void 0 : t.show_hidden) != null ? s : !1), l = y((e = t == null ? void 0 : t.sort_favorites_first) != null ? e : !0), o = y((i = t == null ? void 0 : t.crop_image_previews) != null ? i : !0);\n return R(() => {\n re.get(H(\"/apps/files/api/v1/configs\")).then((_) => {\n var r, u, p, C, f, g, d, S, $;\n n.value = (p = (u = (r = _.data) == null ? void 0 : r.data) == null ? void 0 : u.show_hidden) != null ? p : !1, l.value = (g = (f = (C = _.data) == null ? void 0 : C.data) == null ? void 0 : f.sort_favorites_first) != null ? g : !0, o.value = ($ = (S = (d = _.data) == null ? void 0 : d.data) == null ? void 0 : S.crop_image_previews) != null ? $ : !0;\n });\n }), {\n showHiddenFiles: n,\n sortFavoritesFirst: l,\n cropImagePreviews: o\n };\n}, Re = (s) => {\n var e, i, t, n, l, o, _, r, u, p, C, f;\n const g = (b) => b === \"asc\" ? \"ascending\" : b === \"desc\" ? \"descending\" : \"none\", d = se(\"files\", \"viewConfigs\", null), S = y({\n sortBy: (i = (e = d == null ? void 0 : d.files) == null ? void 0 : e.sorting_mode) != null ? i : \"basename\",\n order: g((n = (t = d == null ? void 0 : d.files) == null ? void 0 : t.sorting_direction) != null ? n : \"asc\")\n }), $ = y({\n sortBy: (o = (l = d == null ? void 0 : d.recent) == null ? void 0 : l.sorting_mode) != null ? o : \"basename\",\n order: g((r = (_ = d == null ? void 0 : d.recent) == null ? void 0 : _.sorting_direction) != null ? r : \"asc\")\n }), P = y({\n sortBy: (p = (u = d == null ? void 0 : d.favorites) == null ? void 0 : u.sorting_mode) != null ? p : \"basename\",\n order: g((f = (C = d == null ? void 0 : d.favorites) == null ? void 0 : C.sorting_direction) != null ? f : \"asc\")\n });\n R(() => {\n re.get(H(\"/apps/files/api/v1/views\")).then((b) => {\n var h, a, c, F, x, z, B, T, E, U, Z, O, j, G, W, q, K, X, J, Q, Y;\n S.value = {\n sortBy: (F = (c = (a = (h = b.data) == null ? void 0 : h.data) == null ? void 0 : a.files) == null ? void 0 : c.sorting_mode) != null ? F : \"basename\",\n order: g((B = (z = (x = b.data) == null ? void 0 : x.data) == null ? void 0 : z.files) == null ? void 0 : B.sorting_direction)\n }, P.value = {\n sortBy: (Z = (U = (E = (T = b.data) == null ? void 0 : T.data) == null ? void 0 : E.favorites) == null ? void 0 : U.sorting_mode) != null ? Z : \"basename\",\n order: g((G = (j = (O = b.data) == null ? void 0 : O.data) == null ? void 0 : j.favorites) == null ? void 0 : G.sorting_direction)\n }, $.value = {\n sortBy: (X = (K = (q = (W = b.data) == null ? void 0 : W.data) == null ? void 0 : q.recent) == null ? void 0 : K.sorting_mode) != null ? X : \"basename\",\n order: g((Y = (Q = (J = b.data) == null ? void 0 : J.data) == null ? void 0 : Q.recent) == null ? void 0 : Y.sorting_direction)\n };\n });\n });\n const N = v(() => ee(s || \"files\") === \"files\" ? S.value : ee(s) === \"recent\" ? $.value : P.value), L = v(() => N.value.sortBy), m = v(() => N.value.order);\n return {\n filesViewConfig: S,\n favoritesViewConfig: P,\n recentViewConfig: $,\n currentConfig: N,\n sortBy: L,\n order: m\n };\n}, Me = {\n name: \"MenuUpIcon\",\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};\nvar De = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-up-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,15L12,10L17,15H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, He = [], Ae = /* @__PURE__ */ k(\n Me,\n De,\n He,\n !1,\n null,\n null,\n null,\n null\n);\nconst Te = Ae.exports, Ee = {\n name: \"MenuDownIcon\",\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};\nvar Ue = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-down-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,10L12,15L17,10H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ze = [], Oe = /* @__PURE__ */ k(\n Ee,\n Ue,\n Ze,\n !1,\n null,\n null,\n null,\n null\n);\nconst je = Oe.exports, ce = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1vgv4_5\"\n}, Ge = /* @__PURE__ */ I({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(s) {\n return { __sfc: !0, fileListIconStyles: ce };\n }\n});\nvar We = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", { staticClass: \"file-picker__row loading-row\", attrs: { \"aria-hidden\": \"true\" } }, [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(\"span\")]) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"row-wrapper\" }, [i(\"span\", { class: t.fileListIconStyles[\"file-picker__file-icon\"] }), i(\"span\")])]), e._m(0), e._m(1)]);\n}, qe = [function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-size\" }, [e(\"span\")]);\n}, function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-modified\" }, [e(\"span\")]);\n}], Ke = /* @__PURE__ */ k(\n Ge,\n We,\n qe,\n !1,\n null,\n \"6aded0d9\",\n null,\n null\n);\nconst Xe = Ke.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\nfunction Je(s, e = {}) {\n var i;\n e = { size: 32, cropPreview: !1, mimeFallback: !0, ...e };\n try {\n const t = ((i = s.attributes) == null ? void 0 : i.previewUrl) || H(\"/core/preview?fileId={fileid}\", {\n fileid: s.fileid\n });\n let n;\n try {\n n = new URL(t);\n } catch {\n n = new URL(t, window.location.origin);\n }\n return n.searchParams.set(\"x\", \"\".concat(e.size)), n.searchParams.set(\"y\", \"\".concat(e.size)), n.searchParams.set(\"mimeFallback\", \"\".concat(e.mimeFallback)), n.searchParams.set(\"a\", e.cropPreview === !0 ? \"0\" : \"1\"), n.searchParams.set(\"c\", \"\".concat(s.attributes.etag)), n;\n } catch {\n return null;\n }\n}\nconst Qe = {\n name: \"FolderIcon\",\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};\nvar Ye = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, et = [], tt = /* @__PURE__ */ k(\n Qe,\n Ye,\n et,\n !1,\n null,\n null,\n null,\n null\n);\nconst A = tt.exports, it = {\n name: \"FilePreview\"\n}, nt = /* @__PURE__ */ I({\n ...it,\n props: {\n node: null,\n cropImagePreviews: { type: Boolean }\n },\n setup(s) {\n const e = s, i = y(ce), t = v(() => Je(e.node, { cropPreview: e.cropImagePreviews })), n = v(() => e.node.type === V.File), l = y(!1);\n return te(t, () => {\n if (l.value = !1, t.value) {\n const o = document.createElement(\"img\");\n o.src = t.value.href, o.onerror = () => o.remove(), o.onload = () => {\n l.value = !0, o.remove();\n }, document.body.appendChild(o);\n }\n }, { immediate: !0 }), { __sfc: !0, fileListIconStyles: i, props: e, previewURL: t, isFile: n, canLoadPreview: l, t: w, IconFile: ae, IconFolder: A };\n }\n});\nvar lt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { class: t.fileListIconStyles[\"file-picker__file-icon\"], style: t.canLoadPreview ? { backgroundImage: \"url(\".concat(t.previewURL, \")\") } : void 0, attrs: { \"aria-label\": t.t(\"MIME type {mime}\", { mime: e.node.mime || t.t(\"unknown\") }) } }, [t.canLoadPreview ? e._e() : [t.isFile ? i(t.IconFile, { attrs: { size: 20 } }) : i(t.IconFolder, { attrs: { size: 20 } })]], 2);\n}, st = [], rt = /* @__PURE__ */ k(\n nt,\n lt,\n st,\n !1,\n null,\n null,\n null,\n null\n);\nconst at = rt.exports, ot = /* @__PURE__ */ I({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: null,\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enter-directory\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => {\n var p;\n return ((p = i.node.attributes) == null ? void 0 : p.displayName) || i.node.basename.slice(0, i.node.extension ? -i.node.extension.length : void 0);\n }), n = v(() => i.node.extension), l = v(() => i.node.type === V.Folder), o = v(() => i.canPick && (i.allowPickDirectory || !l.value));\n function _() {\n e(\"update:selected\", !i.selected);\n }\n function r() {\n l.value ? e(\"enter-directory\", i.node) : _();\n }\n function u(p) {\n p.key === \"Enter\" && r();\n }\n return { __sfc: !0, props: i, emit: e, displayName: t, fileExtension: n, isDirectory: l, isPickable: o, toggleSelected: _, handleClick: r, handleKeyDown: u, formatFileSize: fe, NcCheckboxRadioSwitch: ie, NcDateTime: ye, t: w, FilePreview: at };\n }\n});\nvar ct = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", e._g(\n { class: [\"file-picker__row\", {\n \"file-picker__row--selected\": e.selected && !e.showCheckbox\n }], attrs: { tabindex: e.showCheckbox && !t.isDirectory ? void 0 : 0, \"aria-selected\": t.isPickable ? e.selected : void 0, \"data-filename\": e.node.basename, \"data-testid\": \"file-list-row\" }, on: { click: t.handleClick } },\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n !e.showCheckbox || t.isDirectory ? { keydown: t.handleKeyDown } : {}\n ), [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(t.NcCheckboxRadioSwitch, { attrs: { disabled: !t.isPickable, checked: e.selected, \"aria-label\": t.t(\"Select the row for {nodename}\", { nodename: t.displayName }), \"data-testid\": \"row-checkbox\" }, on: { click: function(n) {\n n.stopPropagation();\n }, \"update:checked\": t.toggleSelected } })], 1) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"file-picker__name-container\", attrs: { \"data-testid\": \"row-name\" } }, [i(t.FilePreview, { attrs: { node: e.node, \"crop-image-previews\": e.cropImagePreviews } }), i(\"div\", { staticClass: \"file-picker__file-name\", attrs: { title: t.displayName }, domProps: { textContent: e._s(t.displayName) } }), i(\"div\", { staticClass: \"file-picker__file-extension\", domProps: { textContent: e._s(t.fileExtension) } })], 1)]), i(\"td\", { staticClass: \"row-size\" }, [e._v(\" \" + e._s(t.formatFileSize(e.node.size || 0)) + \" \")]), i(\"td\", { staticClass: \"row-modified\" }, [i(t.NcDateTime, { attrs: { timestamp: e.node.mtime, \"ignore-seconds\": !0 } })], 1)]);\n}, ut = [], dt = /* @__PURE__ */ k(\n ot,\n ct,\n ut,\n !1,\n null,\n \"ee6f34b5\",\n null,\n null\n);\nconst _t = dt.exports, ft = /* @__PURE__ */ I({\n __name: \"FileList\",\n props: {\n currentView: null,\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: null,\n selectedFiles: null,\n path: null\n },\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(s, { emit: e }) {\n const i = s, t = y(), { currentConfig: n } = Re(i.currentView), l = v(() => {\n var m;\n return (m = t.value) != null ? m : n.value;\n }), o = v(() => l.value.sortBy === \"basename\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), _ = v(() => l.value.sortBy === \"size\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), r = v(() => l.value.sortBy === \"mtime\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), u = (m) => {\n l.value.sortBy === m ? l.value.order === \"ascending\" ? t.value = { sortBy: l.value.sortBy, order: \"descending\" } : t.value = { sortBy: l.value.sortBy, order: \"ascending\" } : t.value = { sortBy: m, order: \"ascending\" };\n }, { sortFavoritesFirst: p, cropImagePreviews: C } = oe(), f = v(\n () => {\n const m = {\n ascending: (h, a, c) => c(h, a),\n descending: (h, a, c) => c(a, h),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n none: (h, a, c) => 0\n }, b = {\n basename: (h, a) => {\n var c, F;\n return (((c = h.attributes) == null ? void 0 : c.displayName) || h.basename).localeCompare(((F = a.attributes) == null ? void 0 : F.displayName) || a.basename, he());\n },\n size: (h, a) => (h.size || 0) - (a.size || 0),\n // reverted because \"young\" is smaller than \"old\"\n mtime: (h, a) => {\n var c, F, x, z;\n return (((F = (c = a.mtime) == null ? void 0 : c.getTime) == null ? void 0 : F.call(c)) || 0) - (((z = (x = h.mtime) == null ? void 0 : x.getTime) == null ? void 0 : z.call(x)) || 0);\n }\n };\n return [...i.files].sort(\n (h, a) => (\n // Folders always come above the files\n (a.type === V.Folder ? 1 : 0) - (h.type === V.Folder ? 1 : 0) || (p ? (a.attributes.favorite ? 1 : 0) - (h.attributes.favorite ? 1 : 0) : 0) || m[l.value.order](h, a, b[l.value.sortBy])\n )\n );\n }\n ), g = v(() => i.files.filter((m) => i.allowPickDirectory || m.type !== V.Folder)), d = v(() => !i.loading && i.selectedFiles.length > 0 && i.selectedFiles.length >= g.value.length);\n function S() {\n i.selectedFiles.length < g.value.length ? e(\"update:selectedFiles\", g.value) : e(\"update:selectedFiles\", []);\n }\n function $(m) {\n i.selectedFiles.includes(m) ? e(\"update:selectedFiles\", i.selectedFiles.filter((b) => b.path !== m.path)) : i.multiselect ? e(\"update:selectedFiles\", [...i.selectedFiles, m]) : e(\"update:selectedFiles\", [m]);\n }\n function P(m) {\n e(\"update:path\", le(i.path, m.basename));\n }\n const N = y(4), L = y();\n {\n const m = () => de(() => {\n var b, h, a, c, F;\n const x = ((h = (b = L.value) == null ? void 0 : b.parentElement) == null ? void 0 : h.children) || [];\n let z = ((c = (a = L.value) == null ? void 0 : a.parentElement) == null ? void 0 : c.clientHeight) || 450;\n for (let B = 0; B < x.length; B++)\n (F = L.value) != null && F.isSameNode(x[B]) || (z -= x[B].clientHeight);\n N.value = Math.floor((z - 50) / 50);\n });\n R(() => {\n window.addEventListener(\"resize\", m), m();\n }), ue(() => {\n window.removeEventListener(\"resize\", m);\n });\n }\n return { __sfc: !0, props: i, emit: e, customSortingConfig: t, filesAppSorting: n, sortingConfig: l, sortByName: o, sortBySize: _, sortByModified: r, toggleSorting: u, sortFavoritesFirst: p, cropImagePreviews: C, sortedFiles: f, selectableFiles: g, allSelected: d, onSelectAll: S, onNodeSelected: $, onChangeDirectory: P, skeletonNumber: N, fileContainer: L, NcButton: ne, NcCheckboxRadioSwitch: ie, t: w, IconSortAscending: Te, IconSortDescending: je, LoadingTableRow: Xe, FileListRow: _t };\n }\n});\nvar pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { ref: \"fileContainer\", staticClass: \"file-picker__files\" }, [i(\"table\", [i(\"thead\", [i(\"tr\", [e.multiselect ? i(\"th\", { staticClass: \"row-checkbox\" }, [i(\"span\", { staticClass: \"hidden-visually\" }, [e._v(\" \" + e._s(t.t(\"Select entry\")) + \" \")]), e.multiselect ? i(t.NcCheckboxRadioSwitch, { attrs: { \"aria-label\": t.t(\"Select all entries\"), checked: t.allSelected, \"data-testid\": \"select-all-checkbox\" }, on: { \"update:checked\": t.onSelectAll } }) : e._e()], 1) : e._e(), i(\"th\", { staticClass: \"row-name\", attrs: { \"aria-sort\": t.sortByName } }, [i(\"div\", { staticClass: \"header-wrapper\" }, [i(\"span\", { staticClass: \"file-picker__header-preview\" }), i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\", \"data-test\": \"file-picker_sort-name\" }, on: { click: function(n) {\n return t.toggleSorting(\"basename\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByName === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByName === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Name\")) + \" \")])], 1)]), i(\"th\", { staticClass: \"row-size\", attrs: { \"aria-sort\": t.sortBySize } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"size\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortBySize === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortBySize === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Size\")) + \" \")])], 1), i(\"th\", { staticClass: \"row-modified\", attrs: { \"aria-sort\": t.sortByModified } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"mtime\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByModified === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByModified === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Modified\")) + \" \")])], 1)])]), i(\"tbody\", [e.loading ? e._l(t.skeletonNumber, function(n) {\n return i(t.LoadingTableRow, { key: n, attrs: { \"show-checkbox\": e.multiselect } });\n }) : e._l(t.sortedFiles, function(n) {\n return i(t.FileListRow, { key: n.fileid || n.path, attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"show-checkbox\": e.multiselect, \"can-pick\": e.multiselect || e.selectedFiles.length === 0 || e.selectedFiles.includes(n), selected: e.selectedFiles.includes(n), node: n, \"crop-image-previews\": t.cropImagePreviews }, on: { \"update:selected\": function(l) {\n return t.onNodeSelected(n);\n }, \"enter-directory\": t.onChangeDirectory } });\n })], 2)])]);\n}, vt = [], mt = /* @__PURE__ */ k(\n ft,\n pt,\n vt,\n !1,\n null,\n \"4297db37\",\n null,\n null\n);\nconst gt = mt.exports, ht = {\n name: \"HomeIcon\",\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};\nvar yt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon home-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, wt = [], Ct = /* @__PURE__ */ k(\n ht,\n yt,\n wt,\n !1,\n null,\n null,\n null,\n null\n);\nconst bt = Ct.exports, kt = {\n name: \"PlusIcon\",\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};\nvar Ft = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, St = [], $t = /* @__PURE__ */ k(\n kt,\n Ft,\n St,\n !1,\n null,\n null,\n null,\n null\n);\nconst xt = $t.exports, Nt = /* @__PURE__ */ I({\n __name: \"FilePickerBreadcrumbs\",\n props: {\n path: null,\n showMenu: { type: Boolean }\n },\n emits: [\"update:path\", \"create-node\"],\n setup(s, { emit: e }) {\n const i = s, t = y(\"\"), n = y();\n function l() {\n var r, u, p, C;\n const f = t.value.trim(), g = (u = (r = n.value) == null ? void 0 : r.$el) == null ? void 0 : u.querySelector(\"input\");\n let d = \"\";\n return f.length === 0 ? d = w(\"Folder name cannot be empty.\") : f.includes(\"/\") ? d = w('\"/\" is not allowed inside a folder name.') : [\"..\", \".\"].includes(f) ? d = w('\"{name}\" is an invalid folder name.', { name: f }) : (p = window.OC.config) != null && p.blacklist_files_regex && f.match((C = window.OC.config) == null ? void 0 : C.blacklist_files_regex) && (d = w('\"{name}\" is not an allowed folder name', { name: f })), g && g.setCustomValidity(d), d === \"\";\n }\n const o = function() {\n const r = t.value.trim();\n l() && (e(\"create-node\", r), t.value = \"\");\n }, _ = v(\n () => i.path.split(\"/\").filter((r) => r !== \"\").map((r, u, p) => ({\n name: r,\n path: \"/\" + p.slice(0, u + 1).join(\"/\")\n }))\n );\n return { __sfc: !0, props: i, emit: e, newNodeName: t, nameInput: n, validateInput: l, onSubmit: o, pathElements: _, IconFolder: A, IconHome: bt, IconPlus: xt, NcActions: we, NcActionInput: Ce, NcBreadcrumbs: be, NcBreadcrumb: ke, t: w };\n }\n});\nvar Pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcBreadcrumbs, { staticClass: \"file-picker__breadcrumbs\", scopedSlots: e._u([{ key: \"default\", fn: function() {\n return [i(t.NcBreadcrumb, { attrs: { name: t.t(\"Home\"), title: t.t(\"Home\") }, on: { click: function(n) {\n return t.emit(\"update:path\", \"/\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconHome, { attrs: { size: 20 } })];\n }, proxy: !0 }]) }), e._l(t.pathElements, function(n) {\n return i(t.NcBreadcrumb, { key: n.path, attrs: { name: n.name, title: n.path }, on: { click: function(l) {\n return t.emit(\"update:path\", n.path);\n } } });\n })];\n }, proxy: !0 }, e.showMenu ? { key: \"actions\", fn: function() {\n return [i(t.NcActions, { attrs: { \"aria-label\": t.t(\"Create directory\"), \"force-menu\": !0, \"force-name\": !0, \"menu-name\": t.t(\"New\"), type: \"secondary\" }, on: { close: function(n) {\n t.newNodeName = \"\";\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconPlus, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 2971667417) }, [i(t.NcActionInput, { ref: \"nameInput\", attrs: { value: t.newNodeName, label: t.t(\"New folder\"), placeholder: t.t(\"New folder name\") }, on: { \"update:value\": function(n) {\n t.newNodeName = n;\n }, submit: t.onSubmit, input: t.validateInput }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFolder, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 1614167509) })], 1)];\n }, proxy: !0 } : null], null, !0) });\n}, Lt = [], zt = /* @__PURE__ */ k(\n Nt,\n Pt,\n Lt,\n !1,\n null,\n \"3bc9efa5\",\n null,\n null\n);\nconst Bt = zt.exports, It = {\n name: \"ClockIcon\",\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};\nvar Vt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon clock-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Rt = [], Mt = /* @__PURE__ */ k(\n It,\n Vt,\n Rt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Dt = Mt.exports, Ht = {\n name: \"CloseIcon\",\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};\nvar At = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon close-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Tt = [], Et = /* @__PURE__ */ k(\n Ht,\n At,\n Tt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ut = Et.exports, Zt = {\n name: \"MagnifyIcon\",\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};\nvar Ot = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon magnify-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, jt = [], Gt = /* @__PURE__ */ k(\n Zt,\n Ot,\n jt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Wt = Gt.exports, qt = {\n name: \"StarIcon\",\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};\nvar Kt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon star-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Xt = [], Jt = /* @__PURE__ */ k(\n qt,\n Kt,\n Xt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Qt = Jt.exports, Yt = /* @__PURE__ */ I({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: null,\n filterString: null,\n isCollapsed: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(s, { emit: e }) {\n const i = s, t = [{\n id: \"files\",\n label: w(\"All files\"),\n icon: A\n }, {\n id: \"recent\",\n label: w(\"Recent\"),\n icon: Dt\n }, {\n id: \"favorites\",\n label: w(\"Favorites\"),\n icon: Qt\n }], n = v(() => t.filter((o) => o.id === i.currentView)[0]);\n return { __sfc: !0, allViews: t, props: i, emit: e, currentViewObject: n, updateFilterValue: (o) => e(\"update:filterString\", o), IconClose: Ut, IconMagnify: Wt, NcButton: ne, NcSelect: Fe, NcTextField: Se, t: w, Fragment: Pe };\n }\n});\nvar ei = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.Fragment, [i(t.NcTextField, { staticClass: \"file-picker__filter-input\", attrs: { value: e.filterString, label: t.t(\"Filter file list\"), \"show-trailing-button\": !!e.filterString }, on: { \"update:value\": t.updateFilterValue, \"trailing-button-click\": function(n) {\n return t.updateFilterValue(\"\");\n } }, scopedSlots: e._u([{ key: \"trailing-button-icon\", fn: function() {\n return [i(t.IconClose, { attrs: { size: 16 } })];\n }, proxy: !0 }]) }, [i(t.IconMagnify, { attrs: { size: 16 } })], 1), e.isCollapsed ? i(t.NcSelect, { attrs: { \"aria-label\": t.t(\"Current view selector\"), clearable: !1, searchable: !1, options: t.allViews, value: t.currentViewObject }, on: { input: (n) => t.emit(\"update:currentView\", n.id) } }) : i(\"ul\", { staticClass: \"file-picker__side\", attrs: { role: \"tablist\", \"aria-label\": t.t(\"Filepicker sections\") } }, e._l(t.allViews, function(n) {\n return i(\"li\", { key: n.id }, [i(t.NcButton, { attrs: { \"aria-selected\": e.currentView === n.id, type: e.currentView === n.id ? \"primary\" : \"tertiary\", wide: !0, role: \"tab\" }, on: { click: function(l) {\n return e.$emit(\"update:currentView\", n.id);\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(n.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 }], null, !0) }, [e._v(\" \" + e._s(n.label) + \" \")])], 1);\n }), 0)], 1);\n}, ti = [], ii = /* @__PURE__ */ k(\n Yt,\n ei,\n ti,\n !1,\n null,\n \"fcfd0f23\",\n null,\n null\n);\nconst ni = ii.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst li = function(s, e) {\n const i = pe(), t = y([]), n = y(!0);\n async function l(_, r = D) {\n const u = await i.stat(\"\".concat(r).concat(_), {\n details: !0\n });\n return M(u.data);\n }\n async function o() {\n if (n.value = !0, s.value === \"favorites\")\n t.value = await ve(i, e.value);\n else if (s.value === \"recent\") {\n const _ = Math.round(Date.now() / 1e3) - 1209600, { data: r } = await i.search(\"/\", {\n details: !0,\n data: me(_)\n });\n t.value = r.results.map((u) => M(u));\n } else {\n const _ = await i.getDirectoryContents(\"\".concat(D).concat(e.value), {\n details: !0,\n data: ge()\n });\n t.value = _.data.map((r) => M(r));\n }\n n.value = !1;\n }\n return te([s, e], () => o()), R(() => o()), {\n isLoading: n,\n files: t,\n loadFiles: o,\n getFile: l,\n client: i\n };\n};\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst si = function(s) {\n const e = v(() => s.value.map((t) => t.split(\"/\")));\n return {\n isSupportedMimeType: (t) => {\n const n = t.split(\"/\");\n return e.value.some(\n ([l, o]) => (\n // check mime type matches or is wildcard\n (n[0] === l || l === \"*\") && (n[1] === o || o === \"*\")\n )\n );\n }\n };\n}, ri = {\n name: \"FilePicker\"\n}, ai = /* @__PURE__ */ I({\n ...ri,\n props: {\n buttons: null,\n name: null,\n allowPickDirectory: { type: Boolean, default: !1 },\n container: { default: \"body\" },\n filterFn: { default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: !0 },\n path: { default: \"/\" }\n },\n emits: [\"close\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => ({\n container: i.container,\n name: i.name,\n buttons: n.value,\n size: \"large\",\n contentClasses: [\"file-picker__content\"],\n dialogClasses: [\"file-picker\"],\n navigationClasses: [\"file-picker__navigation\"]\n })), n = v(() => (typeof i.buttons == \"function\" ? i.buttons(_.value, p.value, l.value) : i.buttons).map((c) => ({\n ...c,\n callback: async () => {\n const F = _.value.length === 0 && i.allowPickDirectory ? [await $(p.value)] : _.value;\n c.callback(F), e(\"close\", F);\n }\n }))), l = y(\"files\"), o = v(() => l.value === \"favorites\" ? w(\"Favorites\") : l.value === \"recent\" ? w(\"Recent\") : \"\"), _ = y([]), r = y((window == null ? void 0 : window.sessionStorage.getItem(\"NC.FilePicker.LastPath\")) || \"/\"), u = y(), p = v({\n // Only use the path for the files view as favorites and recent only works on the root\n get: () => l.value === \"files\" ? u.value || i.path || r.value : \"/\",\n /**\n * Navigate to the new path and save it to the session storage\n *\n * @param path The new path\n */\n set: (a) => {\n i.path === void 0 && window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", a), u.value = a, _.value = [];\n }\n }), C = y(\"\"), { isSupportedMimeType: f } = si(_e(i, \"mimetypeFilter\")), { files: g, isLoading: d, loadFiles: S, getFile: $, client: P } = li(l, p);\n R(() => S());\n const { showHiddenFiles: N } = oe(), L = v(() => {\n let a = g.value;\n return N.value || (a = a.filter((c) => !c.basename.startsWith(\".\"))), i.mimetypeFilter.length > 0 && (a = a.filter((c) => c.type === \"folder\" || c.mime && f(c.mime))), C.value && (a = a.filter((c) => c.basename.toLowerCase().includes(C.value.toLowerCase()))), i.filterFn && (a = a.filter((c) => i.filterFn(c))), a;\n }), m = v(() => l.value === \"files\" ? w(\"Upload some content or sync with your devices!\") : l.value === \"recent\" ? w(\"Files and folders you recently modified will show up here.\") : w(\"Files and folders you mark as favorite will show up here.\"));\n return { __sfc: !0, props: i, emit: e, dialogProps: t, dialogButtons: n, currentView: l, viewHeadline: o, selectedFiles: _, savedPath: r, navigatedPath: u, currentPath: p, filterString: C, isSupportedMimeType: f, files: g, isLoading: d, loadFiles: S, getFile: $, client: P, showHiddenFiles: N, filteredFiles: L, noFilesDescription: m, onCreateFolder: async (a) => {\n try {\n await P.createDirectory(le(D, p.value, a)), await S(), Le(\"files:node:created\", g.value.filter((c) => c.basename === a)[0]);\n } catch (c) {\n console.warn(\"Could not create new folder\", { name: a, error: c }), Ne(w(\"Could not create the new folder\"));\n }\n }, handleClose: (a) => {\n a || e(\"close\");\n }, IconFile: ae, FileList: gt, FilePickerBreadcrumbs: Bt, FilePickerNavigation: ni, NcDialog: $e, NcEmptyContent: xe, t: w };\n }\n});\nvar oi = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcDialog, e._b({ on: { \"update:open\": t.handleClose }, scopedSlots: e._u([{ key: \"navigation\", fn: function({ isCollapsed: n }) {\n return [i(t.FilePickerNavigation, { attrs: { \"is-collapsed\": n, \"current-view\": t.currentView, \"filter-string\": t.filterString }, on: { \"update:currentView\": function(l) {\n t.currentView = l;\n }, \"update:current-view\": function(l) {\n t.currentView = l;\n }, \"update:filterString\": function(l) {\n t.filterString = l;\n }, \"update:filter-string\": function(l) {\n t.filterString = l;\n } } })];\n } }]) }, \"NcDialog\", t.dialogProps, !1), [i(\"div\", { staticClass: \"file-picker__main\" }, [t.currentView === \"files\" ? i(t.FilePickerBreadcrumbs, { attrs: { path: t.currentPath, \"show-menu\": e.allowPickDirectory }, on: { \"update:path\": function(n) {\n t.currentPath = n;\n }, \"create-node\": t.onCreateFolder } }) : i(\"div\", { staticClass: \"file-picker__view\" }, [i(\"h3\", [e._v(e._s(t.viewHeadline))])]), t.isLoading || t.filteredFiles.length > 0 ? i(t.FileList, { attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"current-view\": t.currentView, files: t.filteredFiles, multiselect: e.multiselect, loading: t.isLoading, path: t.currentPath, \"selected-files\": t.selectedFiles, name: t.viewHeadline }, on: { \"update:path\": [function(n) {\n t.currentPath = n;\n }, function(n) {\n t.currentView = \"files\";\n }], \"update:selectedFiles\": function(n) {\n t.selectedFiles = n;\n }, \"update:selected-files\": function(n) {\n t.selectedFiles = n;\n } } }) : t.filterString ? i(t.NcEmptyContent, { attrs: { name: t.t(\"No matching files\"), description: t.t(\"No files matching your filter were found.\") }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) }) : i(t.NcEmptyContent, { attrs: { name: t.t(\"No files in here\"), description: t.noFilesDescription }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) })], 1)]);\n}, ci = [], ui = /* @__PURE__ */ k(\n ai,\n oi,\n ci,\n !1,\n null,\n \"86a13079\",\n null,\n null\n);\nconst ki = ui.exports;\nexport {\n ki as default\n};\n","import { getCurrentUser as A, onRequestTokenUpdate as ue, getRequestToken as de } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as ae } from \"@nextcloud/l10n\";\nimport { join as le, basename as fe, extname as ce, dirname as I } from \"path\";\nimport { encodePath as he } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pe } from \"@nextcloud/router\";\nimport { createClient as ge, getPatcher as we } from \"webdav\";\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Yt(e, t = !1, r = !1, s = !1) {\n r = r && !s, typeof e == \"string\" && (e = Number(e));\n let n = e > 0 ? Math.floor(Math.log(e) / Math.log(s ? 1e3 : 1024)) : 0;\n n = Math.min((r ? P.length : C.length) - 1, n);\n const i = r ? P[n] : C[n];\n let d = (e / Math.pow(s ? 1e3 : 1024, n)).toFixed(1);\n return t === !0 && n === 0 ? (d !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (n < 2 ? d = parseFloat(d).toFixed(0) : d = parseFloat(d).toLocaleString(ae()), d + \" \" + i);\n}\nfunction Jt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Qt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (\"parent\" in t && typeof t.parent != \"string\")\n throw new Error(\"Invalid parent\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst Dt = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, er = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass tr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst rr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, nr = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, ir = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, sr = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t`;\n}, Ee = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, or = function(e) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${A()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${e}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar R = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(R || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(le(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + he(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return fe(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return ce(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n const r = this.source.indexOf(this.root);\n return I(this.source.slice(r + this.root.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n const t = this.source.indexOf(this.root);\n return this.source.slice(t + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ye extends D {\n get type() {\n return R.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return R.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ee = `/files/${A()?.uid}`, te = pe(\"dav\"), ur = function(e = te) {\n const t = ge(e);\n function r(n) {\n t.setHeaders({\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: n ?? \"\"\n });\n }\n return ue(r), r(de()), we().patch(\"fetch\", (n, i) => {\n const d = i.headers;\n return d?.method && (i.method = d.method, delete d.method), fetch(n, i);\n }), t;\n}, dr = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ar = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar S = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nS.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Re(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Re(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar B = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Se = function(e) {\n return Object.assign({}, re, e);\n};\nB.buildOptions = Se;\nB.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar Be = Me;\nconst ke = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (ke.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst k = O, T = Be, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, k.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = k.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return k.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = B, _t = wt, { prettify: vt } = ne, Tt = S;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += ``, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + ``, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = St), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = Rt, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \" 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction Rt(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction St(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst Bt = S, kt = At, qt = Mt;\nvar W = {\n XMLParser: kt,\n XMLValidator: Bt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass cr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst hr = function(e) {\n return F().registerEntry(e);\n}, pr = function(e) {\n return F().unregisterEntry(e);\n}, gr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 && r.order !== s.order ? r.order - s.order : r.displayName.localeCompare(s.displayName, void 0, { numeric: !0, sensitivity: \"base\" }));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Qt as FileAction,\n R as FileType,\n _e as Folder,\n tr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n cr as View,\n hr as addNewFileMenuEntry,\n ur as davGetClient,\n sr as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n or as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Yt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n dr as getFavoriteNodes,\n er as getFileActions,\n nr as getFileListHeaders,\n ar as getNavigation,\n gr as getNewFileMenuEntries,\n Jt as parseFileSize,\n ir as registerDavProperty,\n Dt as registerFileAction,\n rr as registerFileListHeaders,\n pr as removeNewFileMenuEntry\n};\n","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport x from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport v from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport I from \"./Components/NcAppNavigationSettings.mjs\";\nimport k from \"./Components/NcAppNavigationSpacer.mjs\";\nimport h from \"./Components/NcAppSettingsDialog.mjs\";\nimport B from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport y from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as D } from \"./chunks/index-efb07851.mjs\";\nimport { u as tt } from \"./chunks/index-efb07851.mjs\";\nimport O from \"./Components/NcBreadcrumb.mjs\";\nimport R from \"./Components/NcBreadcrumbs.mjs\";\nimport j from \"./Components/NcButton.mjs\";\nimport E from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport M from \"./Components/NcColorPicker.mjs\";\nimport _ from \"./Components/NcContent.mjs\";\nimport L from \"./Components/NcCounterBubble.mjs\";\nimport F from \"./Components/NcDashboardWidget.mjs\";\nimport w from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcDialog.mjs\";\nimport V from \"./Components/NcDialogButton.mjs\";\nimport K from \"./Components/NcEmojiPicker.mjs\";\nimport U from \"./Components/NcEmptyContent.mjs\";\nimport $ from \"./Components/NcGuestContent.mjs\";\nimport q from \"./Components/NcHeaderMenu.mjs\";\nimport { N as J } from \"./chunks/index-20a9ace9.mjs\";\nimport Q from \"./Components/NcIconSvgWrapper.mjs\";\nimport X from \"./Components/NcListItem.mjs\";\nimport Y from \"./Components/NcListItemIcon.mjs\";\nimport Z from \"./Components/NcLoadingIcon.mjs\";\nimport oo from \"./Components/NcModal.mjs\";\nimport ro from \"./Components/NcNoteCard.mjs\";\nimport to from \"./Components/NcPasswordField.mjs\";\nimport io from \"./Components/NcPopover.mjs\";\nimport mo from \"./Components/NcProgressBar.mjs\";\nimport eo from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as po } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as mt } from \"./chunks/index-5f2a5f57.mjs\";\nimport co, { NcAutoCompleteResult as fo } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as no } from \"./chunks/NcRichText-0db09c78.mjs\";\nimport \"./chunks/referencePickerModal-ded8273d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport No from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-1b905a9a.mjs\";\nimport ao from \"./Components/NcTextField.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue\";\nimport so from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport lo from \"./Components/NcSelectTags.mjs\";\nimport uo from \"./Components/NcSettingsInputText.mjs\";\nimport Ao from \"./Components/NcSettingsSection.mjs\";\nimport { N as go } from \"./chunks/NcSettingsSelectGroup-cdd84895.mjs\";\nimport bo from \"./Components/NcTimezonePicker.mjs\";\nimport So from \"./Components/NcUserBubble.mjs\";\nimport xo from \"./Components/NcTextArea.mjs\";\nimport { isFullscreenState as pt, useIsFullscreen as ct } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT as nt, isMobileState as Nt, useIsMobile as at } from \"./Composables/useIsMobile.mjs\";\nimport { emojiAddRecent as lt, emojiSearch as ut } from \"./Functions/emoji.mjs\";\nimport { default as At } from \"./Functions/usernameToColor.mjs\";\nimport { directive as To } from \"./Directives/Focus.mjs\";\nimport { directive as vo } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as bt } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as xt } from \"./Mixins/isFullscreen.mjs\";\nimport { default as vt } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as Co } from \"floating-vue\";\nimport { VTooltip as It } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: x,\n NcAppNavigationItem: T,\n NcAppNavigationNew: v,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: I,\n NcAppNavigationSpacer: k,\n NcAppSettingsDialog: h,\n NcAppSettingsSection: B,\n NcAppSidebar: P,\n NcAppSidebarTab: y,\n NcAutoCompleteResult: fo,\n NcAvatar: D,\n NcBreadcrumb: O,\n NcBreadcrumbs: R,\n NcButton: j,\n NcCheckboxRadioSwitch: E,\n NcColorPicker: M,\n NcContent: _,\n NcCounterBubble: L,\n NcDashboardWidget: F,\n NcDashboardWidgetItem: w,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcDialog: H,\n NcDialogButton: V,\n NcEmojiPicker: K,\n NcEmptyContent: U,\n NcGuestContent: $,\n NcHeaderMenu: q,\n NcHighlight: J,\n NcIconSvgWrapper: Q,\n NcListItem: X,\n NcListItemIcon: Y,\n NcLoadingIcon: Z,\n NcMentionBubble: po,\n NcModal: oo,\n NcNoteCard: ro,\n NcPasswordField: to,\n NcPopover: io,\n NcProgressBar: mo,\n NcRelatedResourcesPanel: eo,\n NcRichContenteditable: co,\n NcRichText: no,\n NcSavingIndicatorIcon: so,\n NcSelect: No,\n NcSelectTags: lo,\n NcSettingsInputText: uo,\n NcSettingsSection: Ao,\n NcSettingsSelectGroup: go,\n NcTextArea: xo,\n NcTextField: ao,\n NcTimezonePicker: bo,\n NcUserBubble: So\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Yr = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: To,\n Linkify: vo,\n Tooltip: Co\n}, Symbol.toStringTag, { value: \"Module\" })), Zr = {\n install(o) {\n Object.entries(Io).forEach(([t, r]) => {\n o.component(r.name || t, r);\n }), Object.entries(ko).forEach(([t, r]) => {\n o.directive(t, r);\n });\n }\n};\nexport {\n To as Focus,\n vo as Linkify,\n nt as MOBILE_BREAKPOINT,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n x as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n v as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n I as NcAppNavigationSettings,\n k as NcAppNavigationSpacer,\n h as NcAppSettingsDialog,\n B as NcAppSettingsSection,\n P as NcAppSidebar,\n y as NcAppSidebarTab,\n fo as NcAutoCompleteResult,\n D as NcAvatar,\n O as NcBreadcrumb,\n R as NcBreadcrumbs,\n j as NcButton,\n E as NcCheckboxRadioSwitch,\n M as NcColorPicker,\n _ as NcContent,\n L as NcCounterBubble,\n F as NcDashboardWidget,\n w as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcDialog,\n V as NcDialogButton,\n K as NcEmojiPicker,\n U as NcEmptyContent,\n $ as NcGuestContent,\n q as NcHeaderMenu,\n J as NcHighlight,\n Q as NcIconSvgWrapper,\n X as NcListItem,\n Y as NcListItemIcon,\n Z as NcLoadingIcon,\n po as NcMentionBubble,\n oo as NcModal,\n ro as NcNoteCard,\n to as NcPasswordField,\n io as NcPopover,\n mo as NcProgressBar,\n eo as NcRelatedResourcesPanel,\n co as NcRichContenteditable,\n no as NcRichText,\n so as NcSavingIndicatorIcon,\n No as NcSelect,\n lo as NcSelectTags,\n uo as NcSettingsInputText,\n Ao as NcSettingsSection,\n go as NcSettingsSelectGroup,\n xo as NcTextArea,\n ao as NcTextField,\n bo as NcTimezonePicker,\n So as NcUserBubble,\n Zr as NextcloudVuePlugin,\n It as Tooltip,\n bt as clickOutsideOptions,\n lt as emojiAddRecent,\n ut as emojiSearch,\n Yr as isA11yActivation,\n xt as isFullscreen,\n pt as isFullscreenState,\n vt as isMobile,\n Nt as isMobileState,\n mt as richEditor,\n ct as useIsFullscreen,\n at as useIsMobile,\n tt as userStatus,\n At as usernameToColor\n};\n"],"names":["k","s","e","i","t","n","l","o","_","u","r","options","render","staticRenderFns","_compiled","functional","_scopeId","f","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","p","g","d","C","beforeCreate","concat","exports","ae","name","emits","props","title","type","String","fillColor","default","size","Number","_self","_c","_b","staticClass","attrs","role","on","click","$emit","$attrs","fill","width","height","viewBox","_v","_s","_e","oe","show_hidden","sort_favorites_first","crop_image_previews","get","then","S","$","value","data","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","Te","je","ce","Xe","__name","showCheckbox","Boolean","setup","__sfc","fileListIconStyles","_setupProxy","class","_m","A","at","node","cropPreview","mimeFallback","attributes","previewUrl","fileid","URL","window","location","origin","searchParams","set","etag","Je","File","document","createElement","src","href","onerror","remove","onload","body","appendChild","immediate","previewURL","isFile","canLoadPreview","IconFile","IconFolder","style","backgroundImage","mime","_t","allowPickDirectory","selected","canPick","emit","displayName","basename","slice","extension","length","Folder","fileExtension","isDirectory","isPickable","toggleSelected","handleClick","handleKeyDown","key","formatFileSize","NcCheckboxRadioSwitch","NcDateTime","FilePreview","_g","tabindex","keydown","disabled","checked","nodename","stopPropagation","domProps","textContent","timestamp","mtime","gt","currentView","multiselect","loading","files","selectedFiles","path","currentConfig","b","sortBy","sorting_mode","order","sorting_direction","recent","P","favorites","h","a","c","F","x","z","B","T","E","U","Z","O","j","G","W","q","K","X","J","Q","Y","N","L","m","filesViewConfig","favoritesViewConfig","recentViewConfig","Re","ascending","descending","none","localeCompare","getTime","sort","favorite","filter","parentElement","children","clientHeight","isSameNode","Math","floor","addEventListener","removeEventListener","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","selectableFiles","allSelected","onSelectAll","onNodeSelected","includes","onChangeDirectory","skeletonNumber","fileContainer","NcButton","IconSortAscending","IconSortDescending","LoadingTableRow","FileListRow","ref","wide","scopedSlots","_u","fn","staticStyle","proxy","_l","bt","xt","Bt","showMenu","trim","$el","querySelector","OC","config","blacklist_files_regex","match","setCustomValidity","split","map","join","newNodeName","nameInput","validateInput","onSubmit","pathElements","IconHome","IconPlus","NcActions","NcActionInput","NcBreadcrumbs","NcBreadcrumb","close","label","placeholder","submit","input","Dt","Ut","Wt","Qt","ni","filterString","isCollapsed","id","icon","allViews","currentViewObject","updateFilterValue","IconClose","IconMagnify","NcSelect","NcTextField","Fragment","clearable","searchable","tag","ki","buttons","container","filterFn","mimetypeFilter","contentClasses","dialogClasses","navigationClasses","callback","async","sessionStorage","getItem","setItem","isSupportedMimeType","some","si","isLoading","loadFiles","getFile","client","round","Date","now","search","details","results","getDirectoryContents","stat","li","startsWith","toLowerCase","dialogProps","dialogButtons","viewHeadline","savedPath","navigatedPath","currentPath","filteredFiles","noFilesDescription","onCreateFolder","createDirectory","console","warn","error","handleClose","FileList","FilePickerBreadcrumbs","FilePickerNavigation","NcDialog","NcEmptyContent","description","setApp","build","setUid","uid","Ne","_entries","registerEntry","validateEntry","push","unregisterEntry","getEntryIndex","splice","entry","entries","getEntries","enabled","findIndex","iconSvgInline","iconClass","handler","Error","_nc_newfilemenu","debug","Yt","log","min","pow","toFixed","parseFloat","toLocaleString","Jt","toLocaleLowerCase","replaceAll","DEFAULT","HIDDEN","_action","constructor","validateAction","exec","execBatch","inline","renderInline","Object","values","_nc_fileactions","find","action","er","nr","_nc_filelistheader","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","nc","oc","ocs","ir","_nc_dav_properties","_nc_dav_namespaces","prop","namespaces","V","keys","sr","or","be","R","source","crtime","permissions","owner","root","status","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","updateMtime","Reflect","deleteProperty","Proxy","replace","encodedSource","dirname","indexOf","pathname","isDavRessource","pop","move","rename","ye","super","ee","te","ur","setHeaders","requesttoken","patch","headers","method","fetch","dr","includeSelf","filename","ve","parse","lastmod","parseInt","getcontentlength","hasPreview","_views","_currentView","register","views","setActive","active","ar","_nc_navigation","Ie","_column","Ae","summary","RegExp","isExist","isEmptyObject","merge","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","M","Oe","allowBooleanAttributes","unpairedTags","substr","w","validate","assign","err","substring","xe","index","H","code","msg","line","tagClosed","tagName","tagStartPos","col","Ve","JSON","stringify","Ce","Pe","$e","v","Le","hasOwnProperty","Fe","re","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ke","Ue","Ge","ze","He","Ke","We","Ye","decimalPoint","tagname","child","addChild","tt","entityName","val","regx","entities","rt","skipLike","test","De","it","lastEntities","regex","st","replaceEntitiesValue","ot","charAt","ut","dt","resolveNameSpace","y","saveTextToParentTag","lastIndexOf","tagsNodeStack","tagExp","attrExpPresent","buildAttributesMap","closeIndex","docTypeEntities","parseTextData","rawTagName","isItStopNode","readStopNodeData","tagContent","lt","ft","ampEntity","ct","ht","pt","ne","ie","Nt","Et","Array","prettify","yt","currentNode","apos","quot","space","cent","pound","yen","euro","copyright","reg","inr","addExternalEntities","parseXml","vt","Tt","se","Pt","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","Ft","format","Vt","oneListGroup","isAttribute","attrPrefixLen","St","processTextOrObjNode","Lt","indentate","Rt","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","prototype","arrayNodeName","buildAttrPairStr","closeTag","XMLParser","externalEntities","toString","addEntity","XMLValidator","XMLBuilder","cr","_view","caption","emptyTitle","emptyCaption","getContents","params","columns","emptyView","sticky","expanded","defaultSortKey","TypeError","Xt","forEach","hr","pr","gr","numeric","sensitivity","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"5358-5358.js?v=c7fc5670e3cdb8b6d91e","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/FilePicker-0bd54f66.mjs","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs"],"sourcesContent":["import { ref as y, onMounted as R, computed as v, defineComponent as I, watch as te, onUnmounted as ue, nextTick as de, toRef as _e } from \"vue\";\nimport { FileType as V, formatFileSize as fe, davGetClient as pe, davResultToNode as M, davRootPath as D, getFavoriteNodes as ve, davGetRecentSearch as me, davGetDefaultPropfind as ge } from \"@nextcloud/files\";\nimport { getCanonicalLocale as he } from \"@nextcloud/l10n\";\nimport { NcCheckboxRadioSwitch as ie, NcDateTime as ye, NcButton as ne, NcActions as we, NcActionInput as Ce, NcBreadcrumbs as be, NcBreadcrumb as ke, NcSelect as Fe, NcTextField as Se, NcDialog as $e, NcEmptyContent as xe } from \"@nextcloud/vue\";\nimport { join as le } from \"path\";\nimport { loadState as se } from \"@nextcloud/initial-state\";\nimport { generateUrl as H } from \"@nextcloud/router\";\nimport { toValue as ee } from \"@vueuse/core\";\nimport re from \"@nextcloud/axios\";\nimport { t as w, k as Ne } from \"./toast-d1cd63b1.mjs\";\nimport { Fragment as Pe } from \"vue-frag\";\nimport { emit as Le } from \"@nextcloud/event-bus\";\nfunction k(s, e, i, t, n, l, o, _) {\n var r = typeof s == \"function\" ? s.options : s;\n e && (r.render = e, r.staticRenderFns = i, r._compiled = !0), t && (r.functional = !0), l && (r._scopeId = \"data-v-\" + l);\n var u;\n if (o ? (u = function(f) {\n f = f || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !f && typeof __VUE_SSR_CONTEXT__ < \"u\" && (f = __VUE_SSR_CONTEXT__), n && n.call(this, f), f && f._registeredComponents && f._registeredComponents.add(o);\n }, r._ssrRegister = u) : n && (u = _ ? function() {\n n.call(\n this,\n (r.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : n), u)\n if (r.functional) {\n r._injectStyles = u;\n var p = r.render;\n r.render = function(g, d) {\n return u.call(d), p(g, d);\n };\n } else {\n var C = r.beforeCreate;\n r.beforeCreate = C ? [].concat(C, u) : [u];\n }\n return {\n exports: s,\n options: r\n };\n}\nconst ze = {\n name: \"FileIcon\",\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};\nvar Be = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ie = [], Ve = /* @__PURE__ */ k(\n ze,\n Be,\n Ie,\n !1,\n null,\n null,\n null,\n null\n);\nconst ae = Ve.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\nconst oe = () => {\n var s, e, i;\n const t = se(\"files\", \"config\", null), n = y((s = t == null ? void 0 : t.show_hidden) != null ? s : !1), l = y((e = t == null ? void 0 : t.sort_favorites_first) != null ? e : !0), o = y((i = t == null ? void 0 : t.crop_image_previews) != null ? i : !0);\n return R(() => {\n re.get(H(\"/apps/files/api/v1/configs\")).then((_) => {\n var r, u, p, C, f, g, d, S, $;\n n.value = (p = (u = (r = _.data) == null ? void 0 : r.data) == null ? void 0 : u.show_hidden) != null ? p : !1, l.value = (g = (f = (C = _.data) == null ? void 0 : C.data) == null ? void 0 : f.sort_favorites_first) != null ? g : !0, o.value = ($ = (S = (d = _.data) == null ? void 0 : d.data) == null ? void 0 : S.crop_image_previews) != null ? $ : !0;\n });\n }), {\n showHiddenFiles: n,\n sortFavoritesFirst: l,\n cropImagePreviews: o\n };\n}, Re = (s) => {\n var e, i, t, n, l, o, _, r, u, p, C, f;\n const g = (b) => b === \"asc\" ? \"ascending\" : b === \"desc\" ? \"descending\" : \"none\", d = se(\"files\", \"viewConfigs\", null), S = y({\n sortBy: (i = (e = d == null ? void 0 : d.files) == null ? void 0 : e.sorting_mode) != null ? i : \"basename\",\n order: g((n = (t = d == null ? void 0 : d.files) == null ? void 0 : t.sorting_direction) != null ? n : \"asc\")\n }), $ = y({\n sortBy: (o = (l = d == null ? void 0 : d.recent) == null ? void 0 : l.sorting_mode) != null ? o : \"basename\",\n order: g((r = (_ = d == null ? void 0 : d.recent) == null ? void 0 : _.sorting_direction) != null ? r : \"asc\")\n }), P = y({\n sortBy: (p = (u = d == null ? void 0 : d.favorites) == null ? void 0 : u.sorting_mode) != null ? p : \"basename\",\n order: g((f = (C = d == null ? void 0 : d.favorites) == null ? void 0 : C.sorting_direction) != null ? f : \"asc\")\n });\n R(() => {\n re.get(H(\"/apps/files/api/v1/views\")).then((b) => {\n var h, a, c, F, x, z, B, T, E, U, Z, O, j, G, W, q, K, X, J, Q, Y;\n S.value = {\n sortBy: (F = (c = (a = (h = b.data) == null ? void 0 : h.data) == null ? void 0 : a.files) == null ? void 0 : c.sorting_mode) != null ? F : \"basename\",\n order: g((B = (z = (x = b.data) == null ? void 0 : x.data) == null ? void 0 : z.files) == null ? void 0 : B.sorting_direction)\n }, P.value = {\n sortBy: (Z = (U = (E = (T = b.data) == null ? void 0 : T.data) == null ? void 0 : E.favorites) == null ? void 0 : U.sorting_mode) != null ? Z : \"basename\",\n order: g((G = (j = (O = b.data) == null ? void 0 : O.data) == null ? void 0 : j.favorites) == null ? void 0 : G.sorting_direction)\n }, $.value = {\n sortBy: (X = (K = (q = (W = b.data) == null ? void 0 : W.data) == null ? void 0 : q.recent) == null ? void 0 : K.sorting_mode) != null ? X : \"basename\",\n order: g((Y = (Q = (J = b.data) == null ? void 0 : J.data) == null ? void 0 : Q.recent) == null ? void 0 : Y.sorting_direction)\n };\n });\n });\n const N = v(() => ee(s || \"files\") === \"files\" ? S.value : ee(s) === \"recent\" ? $.value : P.value), L = v(() => N.value.sortBy), m = v(() => N.value.order);\n return {\n filesViewConfig: S,\n favoritesViewConfig: P,\n recentViewConfig: $,\n currentConfig: N,\n sortBy: L,\n order: m\n };\n}, Me = {\n name: \"MenuUpIcon\",\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};\nvar De = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-up-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,15L12,10L17,15H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, He = [], Ae = /* @__PURE__ */ k(\n Me,\n De,\n He,\n !1,\n null,\n null,\n null,\n null\n);\nconst Te = Ae.exports, Ee = {\n name: \"MenuDownIcon\",\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};\nvar Ue = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-down-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,10L12,15L17,10H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ze = [], Oe = /* @__PURE__ */ k(\n Ee,\n Ue,\n Ze,\n !1,\n null,\n null,\n null,\n null\n);\nconst je = Oe.exports, ce = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1vgv4_5\"\n}, Ge = /* @__PURE__ */ I({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(s) {\n return { __sfc: !0, fileListIconStyles: ce };\n }\n});\nvar We = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", { staticClass: \"file-picker__row loading-row\", attrs: { \"aria-hidden\": \"true\" } }, [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(\"span\")]) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"row-wrapper\" }, [i(\"span\", { class: t.fileListIconStyles[\"file-picker__file-icon\"] }), i(\"span\")])]), e._m(0), e._m(1)]);\n}, qe = [function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-size\" }, [e(\"span\")]);\n}, function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-modified\" }, [e(\"span\")]);\n}], Ke = /* @__PURE__ */ k(\n Ge,\n We,\n qe,\n !1,\n null,\n \"6aded0d9\",\n null,\n null\n);\nconst Xe = Ke.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\nfunction Je(s, e = {}) {\n var i;\n e = { size: 32, cropPreview: !1, mimeFallback: !0, ...e };\n try {\n const t = ((i = s.attributes) == null ? void 0 : i.previewUrl) || H(\"/core/preview?fileId={fileid}\", {\n fileid: s.fileid\n });\n let n;\n try {\n n = new URL(t);\n } catch {\n n = new URL(t, window.location.origin);\n }\n return n.searchParams.set(\"x\", \"\".concat(e.size)), n.searchParams.set(\"y\", \"\".concat(e.size)), n.searchParams.set(\"mimeFallback\", \"\".concat(e.mimeFallback)), n.searchParams.set(\"a\", e.cropPreview === !0 ? \"0\" : \"1\"), n.searchParams.set(\"c\", \"\".concat(s.attributes.etag)), n;\n } catch {\n return null;\n }\n}\nconst Qe = {\n name: \"FolderIcon\",\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};\nvar Ye = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, et = [], tt = /* @__PURE__ */ k(\n Qe,\n Ye,\n et,\n !1,\n null,\n null,\n null,\n null\n);\nconst A = tt.exports, it = {\n name: \"FilePreview\"\n}, nt = /* @__PURE__ */ I({\n ...it,\n props: {\n node: null,\n cropImagePreviews: { type: Boolean }\n },\n setup(s) {\n const e = s, i = y(ce), t = v(() => Je(e.node, { cropPreview: e.cropImagePreviews })), n = v(() => e.node.type === V.File), l = y(!1);\n return te(t, () => {\n if (l.value = !1, t.value) {\n const o = document.createElement(\"img\");\n o.src = t.value.href, o.onerror = () => o.remove(), o.onload = () => {\n l.value = !0, o.remove();\n }, document.body.appendChild(o);\n }\n }, { immediate: !0 }), { __sfc: !0, fileListIconStyles: i, props: e, previewURL: t, isFile: n, canLoadPreview: l, t: w, IconFile: ae, IconFolder: A };\n }\n});\nvar lt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { class: t.fileListIconStyles[\"file-picker__file-icon\"], style: t.canLoadPreview ? { backgroundImage: \"url(\".concat(t.previewURL, \")\") } : void 0, attrs: { \"aria-label\": t.t(\"MIME type {mime}\", { mime: e.node.mime || t.t(\"unknown\") }) } }, [t.canLoadPreview ? e._e() : [t.isFile ? i(t.IconFile, { attrs: { size: 20 } }) : i(t.IconFolder, { attrs: { size: 20 } })]], 2);\n}, st = [], rt = /* @__PURE__ */ k(\n nt,\n lt,\n st,\n !1,\n null,\n null,\n null,\n null\n);\nconst at = rt.exports, ot = /* @__PURE__ */ I({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: null,\n cropImagePreviews: { type: Boolean }\n },\n emits: [\"update:selected\", \"enter-directory\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => {\n var p;\n return ((p = i.node.attributes) == null ? void 0 : p.displayName) || i.node.basename.slice(0, i.node.extension ? -i.node.extension.length : void 0);\n }), n = v(() => i.node.extension), l = v(() => i.node.type === V.Folder), o = v(() => i.canPick && (i.allowPickDirectory || !l.value));\n function _() {\n e(\"update:selected\", !i.selected);\n }\n function r() {\n l.value ? e(\"enter-directory\", i.node) : _();\n }\n function u(p) {\n p.key === \"Enter\" && r();\n }\n return { __sfc: !0, props: i, emit: e, displayName: t, fileExtension: n, isDirectory: l, isPickable: o, toggleSelected: _, handleClick: r, handleKeyDown: u, formatFileSize: fe, NcCheckboxRadioSwitch: ie, NcDateTime: ye, t: w, FilePreview: at };\n }\n});\nvar ct = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", e._g(\n { class: [\"file-picker__row\", {\n \"file-picker__row--selected\": e.selected && !e.showCheckbox\n }], attrs: { tabindex: e.showCheckbox && !t.isDirectory ? void 0 : 0, \"aria-selected\": t.isPickable ? e.selected : void 0, \"data-filename\": e.node.basename, \"data-testid\": \"file-list-row\" }, on: { click: t.handleClick } },\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n !e.showCheckbox || t.isDirectory ? { keydown: t.handleKeyDown } : {}\n ), [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(t.NcCheckboxRadioSwitch, { attrs: { disabled: !t.isPickable, checked: e.selected, \"aria-label\": t.t(\"Select the row for {nodename}\", { nodename: t.displayName }), \"data-testid\": \"row-checkbox\" }, on: { click: function(n) {\n n.stopPropagation();\n }, \"update:checked\": t.toggleSelected } })], 1) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"file-picker__name-container\", attrs: { \"data-testid\": \"row-name\" } }, [i(t.FilePreview, { attrs: { node: e.node, \"crop-image-previews\": e.cropImagePreviews } }), i(\"div\", { staticClass: \"file-picker__file-name\", attrs: { title: t.displayName }, domProps: { textContent: e._s(t.displayName) } }), i(\"div\", { staticClass: \"file-picker__file-extension\", domProps: { textContent: e._s(t.fileExtension) } })], 1)]), i(\"td\", { staticClass: \"row-size\" }, [e._v(\" \" + e._s(t.formatFileSize(e.node.size || 0)) + \" \")]), i(\"td\", { staticClass: \"row-modified\" }, [i(t.NcDateTime, { attrs: { timestamp: e.node.mtime, \"ignore-seconds\": !0 } })], 1)]);\n}, ut = [], dt = /* @__PURE__ */ k(\n ot,\n ct,\n ut,\n !1,\n null,\n \"ee6f34b5\",\n null,\n null\n);\nconst _t = dt.exports, ft = /* @__PURE__ */ I({\n __name: \"FileList\",\n props: {\n currentView: null,\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: null,\n selectedFiles: null,\n path: null\n },\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(s, { emit: e }) {\n const i = s, t = y(), { currentConfig: n } = Re(i.currentView), l = v(() => {\n var m;\n return (m = t.value) != null ? m : n.value;\n }), o = v(() => l.value.sortBy === \"basename\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), _ = v(() => l.value.sortBy === \"size\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), r = v(() => l.value.sortBy === \"mtime\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), u = (m) => {\n l.value.sortBy === m ? l.value.order === \"ascending\" ? t.value = { sortBy: l.value.sortBy, order: \"descending\" } : t.value = { sortBy: l.value.sortBy, order: \"ascending\" } : t.value = { sortBy: m, order: \"ascending\" };\n }, { sortFavoritesFirst: p, cropImagePreviews: C } = oe(), f = v(\n () => {\n const m = {\n ascending: (h, a, c) => c(h, a),\n descending: (h, a, c) => c(a, h),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n none: (h, a, c) => 0\n }, b = {\n basename: (h, a) => {\n var c, F;\n return (((c = h.attributes) == null ? void 0 : c.displayName) || h.basename).localeCompare(((F = a.attributes) == null ? void 0 : F.displayName) || a.basename, he());\n },\n size: (h, a) => (h.size || 0) - (a.size || 0),\n // reverted because \"young\" is smaller than \"old\"\n mtime: (h, a) => {\n var c, F, x, z;\n return (((F = (c = a.mtime) == null ? void 0 : c.getTime) == null ? void 0 : F.call(c)) || 0) - (((z = (x = h.mtime) == null ? void 0 : x.getTime) == null ? void 0 : z.call(x)) || 0);\n }\n };\n return [...i.files].sort(\n (h, a) => (\n // Folders always come above the files\n (a.type === V.Folder ? 1 : 0) - (h.type === V.Folder ? 1 : 0) || (p ? (a.attributes.favorite ? 1 : 0) - (h.attributes.favorite ? 1 : 0) : 0) || m[l.value.order](h, a, b[l.value.sortBy])\n )\n );\n }\n ), g = v(() => i.files.filter((m) => i.allowPickDirectory || m.type !== V.Folder)), d = v(() => !i.loading && i.selectedFiles.length > 0 && i.selectedFiles.length >= g.value.length);\n function S() {\n i.selectedFiles.length < g.value.length ? e(\"update:selectedFiles\", g.value) : e(\"update:selectedFiles\", []);\n }\n function $(m) {\n i.selectedFiles.includes(m) ? e(\"update:selectedFiles\", i.selectedFiles.filter((b) => b.path !== m.path)) : i.multiselect ? e(\"update:selectedFiles\", [...i.selectedFiles, m]) : e(\"update:selectedFiles\", [m]);\n }\n function P(m) {\n e(\"update:path\", le(i.path, m.basename));\n }\n const N = y(4), L = y();\n {\n const m = () => de(() => {\n var b, h, a, c, F;\n const x = ((h = (b = L.value) == null ? void 0 : b.parentElement) == null ? void 0 : h.children) || [];\n let z = ((c = (a = L.value) == null ? void 0 : a.parentElement) == null ? void 0 : c.clientHeight) || 450;\n for (let B = 0; B < x.length; B++)\n (F = L.value) != null && F.isSameNode(x[B]) || (z -= x[B].clientHeight);\n N.value = Math.floor((z - 50) / 50);\n });\n R(() => {\n window.addEventListener(\"resize\", m), m();\n }), ue(() => {\n window.removeEventListener(\"resize\", m);\n });\n }\n return { __sfc: !0, props: i, emit: e, customSortingConfig: t, filesAppSorting: n, sortingConfig: l, sortByName: o, sortBySize: _, sortByModified: r, toggleSorting: u, sortFavoritesFirst: p, cropImagePreviews: C, sortedFiles: f, selectableFiles: g, allSelected: d, onSelectAll: S, onNodeSelected: $, onChangeDirectory: P, skeletonNumber: N, fileContainer: L, NcButton: ne, NcCheckboxRadioSwitch: ie, t: w, IconSortAscending: Te, IconSortDescending: je, LoadingTableRow: Xe, FileListRow: _t };\n }\n});\nvar pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { ref: \"fileContainer\", staticClass: \"file-picker__files\" }, [i(\"table\", [i(\"thead\", [i(\"tr\", [e.multiselect ? i(\"th\", { staticClass: \"row-checkbox\" }, [i(\"span\", { staticClass: \"hidden-visually\" }, [e._v(\" \" + e._s(t.t(\"Select entry\")) + \" \")]), e.multiselect ? i(t.NcCheckboxRadioSwitch, { attrs: { \"aria-label\": t.t(\"Select all entries\"), checked: t.allSelected, \"data-testid\": \"select-all-checkbox\" }, on: { \"update:checked\": t.onSelectAll } }) : e._e()], 1) : e._e(), i(\"th\", { staticClass: \"row-name\", attrs: { \"aria-sort\": t.sortByName } }, [i(\"div\", { staticClass: \"header-wrapper\" }, [i(\"span\", { staticClass: \"file-picker__header-preview\" }), i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\", \"data-test\": \"file-picker_sort-name\" }, on: { click: function(n) {\n return t.toggleSorting(\"basename\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByName === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByName === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Name\")) + \" \")])], 1)]), i(\"th\", { staticClass: \"row-size\", attrs: { \"aria-sort\": t.sortBySize } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"size\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortBySize === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortBySize === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Size\")) + \" \")])], 1), i(\"th\", { staticClass: \"row-modified\", attrs: { \"aria-sort\": t.sortByModified } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"mtime\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByModified === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByModified === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Modified\")) + \" \")])], 1)])]), i(\"tbody\", [e.loading ? e._l(t.skeletonNumber, function(n) {\n return i(t.LoadingTableRow, { key: n, attrs: { \"show-checkbox\": e.multiselect } });\n }) : e._l(t.sortedFiles, function(n) {\n return i(t.FileListRow, { key: n.fileid || n.path, attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"show-checkbox\": e.multiselect, \"can-pick\": e.multiselect || e.selectedFiles.length === 0 || e.selectedFiles.includes(n), selected: e.selectedFiles.includes(n), node: n, \"crop-image-previews\": t.cropImagePreviews }, on: { \"update:selected\": function(l) {\n return t.onNodeSelected(n);\n }, \"enter-directory\": t.onChangeDirectory } });\n })], 2)])]);\n}, vt = [], mt = /* @__PURE__ */ k(\n ft,\n pt,\n vt,\n !1,\n null,\n \"4297db37\",\n null,\n null\n);\nconst gt = mt.exports, ht = {\n name: \"HomeIcon\",\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};\nvar yt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon home-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, wt = [], Ct = /* @__PURE__ */ k(\n ht,\n yt,\n wt,\n !1,\n null,\n null,\n null,\n null\n);\nconst bt = Ct.exports, kt = {\n name: \"PlusIcon\",\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};\nvar Ft = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, St = [], $t = /* @__PURE__ */ k(\n kt,\n Ft,\n St,\n !1,\n null,\n null,\n null,\n null\n);\nconst xt = $t.exports, Nt = /* @__PURE__ */ I({\n __name: \"FilePickerBreadcrumbs\",\n props: {\n path: null,\n showMenu: { type: Boolean }\n },\n emits: [\"update:path\", \"create-node\"],\n setup(s, { emit: e }) {\n const i = s, t = y(\"\"), n = y();\n function l() {\n var r, u, p, C;\n const f = t.value.trim(), g = (u = (r = n.value) == null ? void 0 : r.$el) == null ? void 0 : u.querySelector(\"input\");\n let d = \"\";\n return f.length === 0 ? d = w(\"Folder name cannot be empty.\") : f.includes(\"/\") ? d = w('\"/\" is not allowed inside a folder name.') : [\"..\", \".\"].includes(f) ? d = w('\"{name}\" is an invalid folder name.', { name: f }) : (p = window.OC.config) != null && p.blacklist_files_regex && f.match((C = window.OC.config) == null ? void 0 : C.blacklist_files_regex) && (d = w('\"{name}\" is not an allowed folder name', { name: f })), g && g.setCustomValidity(d), d === \"\";\n }\n const o = function() {\n const r = t.value.trim();\n l() && (e(\"create-node\", r), t.value = \"\");\n }, _ = v(\n () => i.path.split(\"/\").filter((r) => r !== \"\").map((r, u, p) => ({\n name: r,\n path: \"/\" + p.slice(0, u + 1).join(\"/\")\n }))\n );\n return { __sfc: !0, props: i, emit: e, newNodeName: t, nameInput: n, validateInput: l, onSubmit: o, pathElements: _, IconFolder: A, IconHome: bt, IconPlus: xt, NcActions: we, NcActionInput: Ce, NcBreadcrumbs: be, NcBreadcrumb: ke, t: w };\n }\n});\nvar Pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcBreadcrumbs, { staticClass: \"file-picker__breadcrumbs\", scopedSlots: e._u([{ key: \"default\", fn: function() {\n return [i(t.NcBreadcrumb, { attrs: { name: t.t(\"Home\"), title: t.t(\"Home\") }, on: { click: function(n) {\n return t.emit(\"update:path\", \"/\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconHome, { attrs: { size: 20 } })];\n }, proxy: !0 }]) }), e._l(t.pathElements, function(n) {\n return i(t.NcBreadcrumb, { key: n.path, attrs: { name: n.name, title: n.path }, on: { click: function(l) {\n return t.emit(\"update:path\", n.path);\n } } });\n })];\n }, proxy: !0 }, e.showMenu ? { key: \"actions\", fn: function() {\n return [i(t.NcActions, { attrs: { \"aria-label\": t.t(\"Create directory\"), \"force-menu\": !0, \"force-name\": !0, \"menu-name\": t.t(\"New\"), type: \"secondary\" }, on: { close: function(n) {\n t.newNodeName = \"\";\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconPlus, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 2971667417) }, [i(t.NcActionInput, { ref: \"nameInput\", attrs: { value: t.newNodeName, label: t.t(\"New folder\"), placeholder: t.t(\"New folder name\") }, on: { \"update:value\": function(n) {\n t.newNodeName = n;\n }, submit: t.onSubmit, input: t.validateInput }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFolder, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 1614167509) })], 1)];\n }, proxy: !0 } : null], null, !0) });\n}, Lt = [], zt = /* @__PURE__ */ k(\n Nt,\n Pt,\n Lt,\n !1,\n null,\n \"3bc9efa5\",\n null,\n null\n);\nconst Bt = zt.exports, It = {\n name: \"ClockIcon\",\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};\nvar Vt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon clock-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Rt = [], Mt = /* @__PURE__ */ k(\n It,\n Vt,\n Rt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Dt = Mt.exports, Ht = {\n name: \"CloseIcon\",\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};\nvar At = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon close-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Tt = [], Et = /* @__PURE__ */ k(\n Ht,\n At,\n Tt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ut = Et.exports, Zt = {\n name: \"MagnifyIcon\",\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};\nvar Ot = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon magnify-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, jt = [], Gt = /* @__PURE__ */ k(\n Zt,\n Ot,\n jt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Wt = Gt.exports, qt = {\n name: \"StarIcon\",\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};\nvar Kt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon star-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Xt = [], Jt = /* @__PURE__ */ k(\n qt,\n Kt,\n Xt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Qt = Jt.exports, Yt = /* @__PURE__ */ I({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: null,\n filterString: null,\n isCollapsed: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(s, { emit: e }) {\n const i = s, t = [{\n id: \"files\",\n label: w(\"All files\"),\n icon: A\n }, {\n id: \"recent\",\n label: w(\"Recent\"),\n icon: Dt\n }, {\n id: \"favorites\",\n label: w(\"Favorites\"),\n icon: Qt\n }], n = v(() => t.filter((o) => o.id === i.currentView)[0]);\n return { __sfc: !0, allViews: t, props: i, emit: e, currentViewObject: n, updateFilterValue: (o) => e(\"update:filterString\", o), IconClose: Ut, IconMagnify: Wt, NcButton: ne, NcSelect: Fe, NcTextField: Se, t: w, Fragment: Pe };\n }\n});\nvar ei = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.Fragment, [i(t.NcTextField, { staticClass: \"file-picker__filter-input\", attrs: { value: e.filterString, label: t.t(\"Filter file list\"), \"show-trailing-button\": !!e.filterString }, on: { \"update:value\": t.updateFilterValue, \"trailing-button-click\": function(n) {\n return t.updateFilterValue(\"\");\n } }, scopedSlots: e._u([{ key: \"trailing-button-icon\", fn: function() {\n return [i(t.IconClose, { attrs: { size: 16 } })];\n }, proxy: !0 }]) }, [i(t.IconMagnify, { attrs: { size: 16 } })], 1), e.isCollapsed ? i(t.NcSelect, { attrs: { \"aria-label\": t.t(\"Current view selector\"), clearable: !1, searchable: !1, options: t.allViews, value: t.currentViewObject }, on: { input: (n) => t.emit(\"update:currentView\", n.id) } }) : i(\"ul\", { staticClass: \"file-picker__side\", attrs: { role: \"tablist\", \"aria-label\": t.t(\"Filepicker sections\") } }, e._l(t.allViews, function(n) {\n return i(\"li\", { key: n.id }, [i(t.NcButton, { attrs: { \"aria-selected\": e.currentView === n.id, type: e.currentView === n.id ? \"primary\" : \"tertiary\", wide: !0, role: \"tab\" }, on: { click: function(l) {\n return e.$emit(\"update:currentView\", n.id);\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(n.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 }], null, !0) }, [e._v(\" \" + e._s(n.label) + \" \")])], 1);\n }), 0)], 1);\n}, ti = [], ii = /* @__PURE__ */ k(\n Yt,\n ei,\n ti,\n !1,\n null,\n \"fcfd0f23\",\n null,\n null\n);\nconst ni = ii.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst li = function(s, e) {\n const i = pe(), t = y([]), n = y(!0);\n async function l(_, r = D) {\n const u = await i.stat(\"\".concat(r).concat(_), {\n details: !0\n });\n return M(u.data);\n }\n async function o() {\n if (n.value = !0, s.value === \"favorites\")\n t.value = await ve(i, e.value);\n else if (s.value === \"recent\") {\n const _ = Math.round(Date.now() / 1e3) - 1209600, { data: r } = await i.search(\"/\", {\n details: !0,\n data: me(_)\n });\n t.value = r.results.map((u) => M(u));\n } else {\n const _ = await i.getDirectoryContents(\"\".concat(D).concat(e.value), {\n details: !0,\n data: ge()\n });\n t.value = _.data.map((r) => M(r));\n }\n n.value = !1;\n }\n return te([s, e], () => o()), R(() => o()), {\n isLoading: n,\n files: t,\n loadFiles: o,\n getFile: l,\n client: i\n };\n};\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst si = function(s) {\n const e = v(() => s.value.map((t) => t.split(\"/\")));\n return {\n isSupportedMimeType: (t) => {\n const n = t.split(\"/\");\n return e.value.some(\n ([l, o]) => (\n // check mime type matches or is wildcard\n (n[0] === l || l === \"*\") && (n[1] === o || o === \"*\")\n )\n );\n }\n };\n}, ri = {\n name: \"FilePicker\"\n}, ai = /* @__PURE__ */ I({\n ...ri,\n props: {\n buttons: null,\n name: null,\n allowPickDirectory: { type: Boolean, default: !1 },\n container: { default: \"body\" },\n filterFn: { default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: !0 },\n path: { default: \"/\" }\n },\n emits: [\"close\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => ({\n container: i.container,\n name: i.name,\n buttons: n.value,\n size: \"large\",\n contentClasses: [\"file-picker__content\"],\n dialogClasses: [\"file-picker\"],\n navigationClasses: [\"file-picker__navigation\"]\n })), n = v(() => (typeof i.buttons == \"function\" ? i.buttons(_.value, p.value, l.value) : i.buttons).map((c) => ({\n ...c,\n callback: async () => {\n const F = _.value.length === 0 && i.allowPickDirectory ? [await $(p.value)] : _.value;\n c.callback(F), e(\"close\", F);\n }\n }))), l = y(\"files\"), o = v(() => l.value === \"favorites\" ? w(\"Favorites\") : l.value === \"recent\" ? w(\"Recent\") : \"\"), _ = y([]), r = y((window == null ? void 0 : window.sessionStorage.getItem(\"NC.FilePicker.LastPath\")) || \"/\"), u = y(), p = v({\n // Only use the path for the files view as favorites and recent only works on the root\n get: () => l.value === \"files\" ? u.value || i.path || r.value : \"/\",\n /**\n * Navigate to the new path and save it to the session storage\n *\n * @param path The new path\n */\n set: (a) => {\n i.path === void 0 && window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", a), u.value = a, _.value = [];\n }\n }), C = y(\"\"), { isSupportedMimeType: f } = si(_e(i, \"mimetypeFilter\")), { files: g, isLoading: d, loadFiles: S, getFile: $, client: P } = li(l, p);\n R(() => S());\n const { showHiddenFiles: N } = oe(), L = v(() => {\n let a = g.value;\n return N.value || (a = a.filter((c) => !c.basename.startsWith(\".\"))), i.mimetypeFilter.length > 0 && (a = a.filter((c) => c.type === \"folder\" || c.mime && f(c.mime))), C.value && (a = a.filter((c) => c.basename.toLowerCase().includes(C.value.toLowerCase()))), i.filterFn && (a = a.filter((c) => i.filterFn(c))), a;\n }), m = v(() => l.value === \"files\" ? w(\"Upload some content or sync with your devices!\") : l.value === \"recent\" ? w(\"Files and folders you recently modified will show up here.\") : w(\"Files and folders you mark as favorite will show up here.\"));\n return { __sfc: !0, props: i, emit: e, dialogProps: t, dialogButtons: n, currentView: l, viewHeadline: o, selectedFiles: _, savedPath: r, navigatedPath: u, currentPath: p, filterString: C, isSupportedMimeType: f, files: g, isLoading: d, loadFiles: S, getFile: $, client: P, showHiddenFiles: N, filteredFiles: L, noFilesDescription: m, onCreateFolder: async (a) => {\n try {\n await P.createDirectory(le(D, p.value, a)), await S(), Le(\"files:node:created\", g.value.filter((c) => c.basename === a)[0]);\n } catch (c) {\n console.warn(\"Could not create new folder\", { name: a, error: c }), Ne(w(\"Could not create the new folder\"));\n }\n }, handleClose: (a) => {\n a || e(\"close\");\n }, IconFile: ae, FileList: gt, FilePickerBreadcrumbs: Bt, FilePickerNavigation: ni, NcDialog: $e, NcEmptyContent: xe, t: w };\n }\n});\nvar oi = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcDialog, e._b({ on: { \"update:open\": t.handleClose }, scopedSlots: e._u([{ key: \"navigation\", fn: function({ isCollapsed: n }) {\n return [i(t.FilePickerNavigation, { attrs: { \"is-collapsed\": n, \"current-view\": t.currentView, \"filter-string\": t.filterString }, on: { \"update:currentView\": function(l) {\n t.currentView = l;\n }, \"update:current-view\": function(l) {\n t.currentView = l;\n }, \"update:filterString\": function(l) {\n t.filterString = l;\n }, \"update:filter-string\": function(l) {\n t.filterString = l;\n } } })];\n } }]) }, \"NcDialog\", t.dialogProps, !1), [i(\"div\", { staticClass: \"file-picker__main\" }, [t.currentView === \"files\" ? i(t.FilePickerBreadcrumbs, { attrs: { path: t.currentPath, \"show-menu\": e.allowPickDirectory }, on: { \"update:path\": function(n) {\n t.currentPath = n;\n }, \"create-node\": t.onCreateFolder } }) : i(\"div\", { staticClass: \"file-picker__view\" }, [i(\"h3\", [e._v(e._s(t.viewHeadline))])]), t.isLoading || t.filteredFiles.length > 0 ? i(t.FileList, { attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"current-view\": t.currentView, files: t.filteredFiles, multiselect: e.multiselect, loading: t.isLoading, path: t.currentPath, \"selected-files\": t.selectedFiles, name: t.viewHeadline }, on: { \"update:path\": [function(n) {\n t.currentPath = n;\n }, function(n) {\n t.currentView = \"files\";\n }], \"update:selectedFiles\": function(n) {\n t.selectedFiles = n;\n }, \"update:selected-files\": function(n) {\n t.selectedFiles = n;\n } } }) : t.filterString ? i(t.NcEmptyContent, { attrs: { name: t.t(\"No matching files\"), description: t.t(\"No files matching your filter were found.\") }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) }) : i(t.NcEmptyContent, { attrs: { name: t.t(\"No files in here\"), description: t.noFilesDescription }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) })], 1)]);\n}, ci = [], ui = /* @__PURE__ */ k(\n ai,\n oi,\n ci,\n !1,\n null,\n \"86a13079\",\n null,\n null\n);\nconst ki = ui.exports;\nexport {\n ki as default\n};\n","import { getCurrentUser as A, onRequestTokenUpdate as ue, getRequestToken as de } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as ae } from \"@nextcloud/l10n\";\nimport { join as le, basename as fe, extname as ce, dirname as I } from \"path\";\nimport { encodePath as he } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pe } from \"@nextcloud/router\";\nimport { createClient as ge, getPatcher as we } from \"webdav\";\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Yt(e, t = !1, r = !1, s = !1) {\n r = r && !s, typeof e == \"string\" && (e = Number(e));\n let n = e > 0 ? Math.floor(Math.log(e) / Math.log(s ? 1e3 : 1024)) : 0;\n n = Math.min((r ? P.length : C.length) - 1, n);\n const i = r ? P[n] : C[n];\n let d = (e / Math.pow(s ? 1e3 : 1024, n)).toFixed(1);\n return t === !0 && n === 0 ? (d !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (n < 2 ? d = parseFloat(d).toFixed(0) : d = parseFloat(d).toLocaleString(ae()), d + \" \" + i);\n}\nfunction Jt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Qt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (\"parent\" in t && typeof t.parent != \"string\")\n throw new Error(\"Invalid parent\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst Dt = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, er = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass tr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst rr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, nr = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, ir = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, sr = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t`;\n}, Ee = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}, or = function(e) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${V()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${A()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${e}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar R = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(R || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(le(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + he(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return fe(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return ce(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n const r = this.source.indexOf(this.root);\n return I(this.source.slice(r + this.root.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n const t = this.source.indexOf(this.root);\n return this.source.slice(t + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ye extends D {\n get type() {\n return R.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return R.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ee = `/files/${A()?.uid}`, te = pe(\"dav\"), ur = function(e = te) {\n const t = ge(e);\n function r(n) {\n t.setHeaders({\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: n ?? \"\"\n });\n }\n return ue(r), r(de()), we().patch(\"fetch\", (n, i) => {\n const d = i.headers;\n return d?.method && (i.method = d.method, delete d.method), fetch(n, i);\n }), t;\n}, dr = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ar = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar S = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nS.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Re(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Re(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar B = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Se = function(e) {\n return Object.assign({}, re, e);\n};\nB.buildOptions = Se;\nB.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar Be = Me;\nconst ke = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (ke.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst k = O, T = Be, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, k.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = k.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return k.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = B, _t = wt, { prettify: vt } = ne, Tt = S;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += ``, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + ``, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = St), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = Rt, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \" 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction Rt(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction St(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst Bt = S, kt = At, qt = Mt;\nvar W = {\n XMLParser: kt,\n XMLValidator: Bt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass cr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst hr = function(e) {\n return F().registerEntry(e);\n}, pr = function(e) {\n return F().unregisterEntry(e);\n}, gr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 && r.order !== s.order ? r.order - s.order : r.displayName.localeCompare(s.displayName, void 0, { numeric: !0, sensitivity: \"base\" }));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Qt as FileAction,\n R as FileType,\n _e as Folder,\n tr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n cr as View,\n hr as addNewFileMenuEntry,\n ur as davGetClient,\n sr as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n or as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Yt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n dr as getFavoriteNodes,\n er as getFileActions,\n nr as getFileListHeaders,\n ar as getNavigation,\n gr as getNewFileMenuEntries,\n Jt as parseFileSize,\n ir as registerDavProperty,\n Dt as registerFileAction,\n rr as registerFileListHeaders,\n pr as removeNewFileMenuEntry\n};\n","import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport x from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport v from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport I from \"./Components/NcAppNavigationSettings.mjs\";\nimport k from \"./Components/NcAppNavigationSpacer.mjs\";\nimport h from \"./Components/NcAppSettingsDialog.mjs\";\nimport B from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport y from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as D } from \"./chunks/index-efb07851.mjs\";\nimport { u as tt } from \"./chunks/index-efb07851.mjs\";\nimport O from \"./Components/NcBreadcrumb.mjs\";\nimport R from \"./Components/NcBreadcrumbs.mjs\";\nimport j from \"./Components/NcButton.mjs\";\nimport E from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport M from \"./Components/NcColorPicker.mjs\";\nimport _ from \"./Components/NcContent.mjs\";\nimport L from \"./Components/NcCounterBubble.mjs\";\nimport F from \"./Components/NcDashboardWidget.mjs\";\nimport w from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcDialog.mjs\";\nimport V from \"./Components/NcDialogButton.mjs\";\nimport K from \"./Components/NcEmojiPicker.mjs\";\nimport U from \"./Components/NcEmptyContent.mjs\";\nimport $ from \"./Components/NcGuestContent.mjs\";\nimport q from \"./Components/NcHeaderMenu.mjs\";\nimport { N as J } from \"./chunks/index-20a9ace9.mjs\";\nimport Q from \"./Components/NcIconSvgWrapper.mjs\";\nimport X from \"./Components/NcListItem.mjs\";\nimport Y from \"./Components/NcListItemIcon.mjs\";\nimport Z from \"./Components/NcLoadingIcon.mjs\";\nimport oo from \"./Components/NcModal.mjs\";\nimport ro from \"./Components/NcNoteCard.mjs\";\nimport to from \"./Components/NcPasswordField.mjs\";\nimport io from \"./Components/NcPopover.mjs\";\nimport mo from \"./Components/NcProgressBar.mjs\";\nimport eo from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as po } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as mt } from \"./chunks/index-5f2a5f57.mjs\";\nimport co, { NcAutoCompleteResult as fo } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as no } from \"./chunks/NcRichText-0db09c78.mjs\";\nimport \"./chunks/referencePickerModal-ded8273d.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport No from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-1b905a9a.mjs\";\nimport ao from \"./Components/NcTextField.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue\";\nimport so from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport lo from \"./Components/NcSelectTags.mjs\";\nimport uo from \"./Components/NcSettingsInputText.mjs\";\nimport Ao from \"./Components/NcSettingsSection.mjs\";\nimport { N as go } from \"./chunks/NcSettingsSelectGroup-cdd84895.mjs\";\nimport bo from \"./Components/NcTimezonePicker.mjs\";\nimport So from \"./Components/NcUserBubble.mjs\";\nimport xo from \"./Components/NcTextArea.mjs\";\nimport { isFullscreenState as pt, useIsFullscreen as ct } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT as nt, isMobileState as Nt, useIsMobile as at } from \"./Composables/useIsMobile.mjs\";\nimport { emojiAddRecent as lt, emojiSearch as ut } from \"./Functions/emoji.mjs\";\nimport { default as At } from \"./Functions/usernameToColor.mjs\";\nimport { directive as To } from \"./Directives/Focus.mjs\";\nimport { directive as vo } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as bt } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as xt } from \"./Mixins/isFullscreen.mjs\";\nimport { default as vt } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as Co } from \"floating-vue\";\nimport { VTooltip as It } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: x,\n NcAppNavigationItem: T,\n NcAppNavigationNew: v,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: I,\n NcAppNavigationSpacer: k,\n NcAppSettingsDialog: h,\n NcAppSettingsSection: B,\n NcAppSidebar: P,\n NcAppSidebarTab: y,\n NcAutoCompleteResult: fo,\n NcAvatar: D,\n NcBreadcrumb: O,\n NcBreadcrumbs: R,\n NcButton: j,\n NcCheckboxRadioSwitch: E,\n NcColorPicker: M,\n NcContent: _,\n NcCounterBubble: L,\n NcDashboardWidget: F,\n NcDashboardWidgetItem: w,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcDialog: H,\n NcDialogButton: V,\n NcEmojiPicker: K,\n NcEmptyContent: U,\n NcGuestContent: $,\n NcHeaderMenu: q,\n NcHighlight: J,\n NcIconSvgWrapper: Q,\n NcListItem: X,\n NcListItemIcon: Y,\n NcLoadingIcon: Z,\n NcMentionBubble: po,\n NcModal: oo,\n NcNoteCard: ro,\n NcPasswordField: to,\n NcPopover: io,\n NcProgressBar: mo,\n NcRelatedResourcesPanel: eo,\n NcRichContenteditable: co,\n NcRichText: no,\n NcSavingIndicatorIcon: so,\n NcSelect: No,\n NcSelectTags: lo,\n NcSettingsInputText: uo,\n NcSettingsSection: Ao,\n NcSettingsSelectGroup: go,\n NcTextArea: xo,\n NcTextField: ao,\n NcTimezonePicker: bo,\n NcUserBubble: So\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst Yr = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: To,\n Linkify: vo,\n Tooltip: Co\n}, Symbol.toStringTag, { value: \"Module\" })), Zr = {\n install(o) {\n Object.entries(Io).forEach(([t, r]) => {\n o.component(r.name || t, r);\n }), Object.entries(ko).forEach(([t, r]) => {\n o.directive(t, r);\n });\n }\n};\nexport {\n To as Focus,\n vo as Linkify,\n nt as MOBILE_BREAKPOINT,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n x as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n v as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n I as NcAppNavigationSettings,\n k as NcAppNavigationSpacer,\n h as NcAppSettingsDialog,\n B as NcAppSettingsSection,\n P as NcAppSidebar,\n y as NcAppSidebarTab,\n fo as NcAutoCompleteResult,\n D as NcAvatar,\n O as NcBreadcrumb,\n R as NcBreadcrumbs,\n j as NcButton,\n E as NcCheckboxRadioSwitch,\n M as NcColorPicker,\n _ as NcContent,\n L as NcCounterBubble,\n F as NcDashboardWidget,\n w as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcDialog,\n V as NcDialogButton,\n K as NcEmojiPicker,\n U as NcEmptyContent,\n $ as NcGuestContent,\n q as NcHeaderMenu,\n J as NcHighlight,\n Q as NcIconSvgWrapper,\n X as NcListItem,\n Y as NcListItemIcon,\n Z as NcLoadingIcon,\n po as NcMentionBubble,\n oo as NcModal,\n ro as NcNoteCard,\n to as NcPasswordField,\n io as NcPopover,\n mo as NcProgressBar,\n eo as NcRelatedResourcesPanel,\n co as NcRichContenteditable,\n no as NcRichText,\n so as NcSavingIndicatorIcon,\n No as NcSelect,\n lo as NcSelectTags,\n uo as NcSettingsInputText,\n Ao as NcSettingsSection,\n go as NcSettingsSelectGroup,\n xo as NcTextArea,\n ao as NcTextField,\n bo as NcTimezonePicker,\n So as NcUserBubble,\n Zr as NextcloudVuePlugin,\n It as Tooltip,\n bt as clickOutsideOptions,\n lt as emojiAddRecent,\n ut as emojiSearch,\n Yr as isA11yActivation,\n xt as isFullscreen,\n pt as isFullscreenState,\n vt as isMobile,\n Nt as isMobileState,\n mt as richEditor,\n ct as useIsFullscreen,\n at as useIsMobile,\n tt as userStatus,\n At as usernameToColor\n};\n"],"names":["k","s","e","i","t","n","l","o","_","u","r","options","render","staticRenderFns","_compiled","functional","_scopeId","f","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","p","g","d","C","beforeCreate","concat","exports","ae","name","emits","props","title","type","String","fillColor","default","size","Number","_self","_c","_b","staticClass","attrs","role","on","click","$emit","$attrs","fill","width","height","viewBox","_v","_s","_e","oe","show_hidden","sort_favorites_first","crop_image_previews","get","then","S","$","value","data","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","Te","je","ce","Xe","__name","showCheckbox","Boolean","setup","__sfc","fileListIconStyles","_setupProxy","class","_m","A","at","node","cropPreview","mimeFallback","attributes","previewUrl","fileid","URL","window","location","origin","searchParams","set","etag","Je","File","document","createElement","src","href","onerror","remove","onload","body","appendChild","immediate","previewURL","isFile","canLoadPreview","IconFile","IconFolder","style","backgroundImage","mime","_t","allowPickDirectory","selected","canPick","emit","displayName","basename","slice","extension","length","Folder","fileExtension","isDirectory","isPickable","toggleSelected","handleClick","handleKeyDown","key","formatFileSize","NcCheckboxRadioSwitch","NcDateTime","FilePreview","_g","tabindex","keydown","disabled","checked","nodename","stopPropagation","domProps","textContent","timestamp","mtime","gt","currentView","multiselect","loading","files","selectedFiles","path","currentConfig","b","sortBy","sorting_mode","order","sorting_direction","recent","P","favorites","h","a","c","F","x","z","B","T","E","U","Z","O","j","G","W","q","K","X","J","Q","Y","N","L","m","filesViewConfig","favoritesViewConfig","recentViewConfig","Re","ascending","descending","none","localeCompare","getTime","sort","favorite","filter","parentElement","children","clientHeight","isSameNode","Math","floor","addEventListener","removeEventListener","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","selectableFiles","allSelected","onSelectAll","onNodeSelected","includes","onChangeDirectory","skeletonNumber","fileContainer","NcButton","IconSortAscending","IconSortDescending","LoadingTableRow","FileListRow","ref","wide","scopedSlots","_u","fn","staticStyle","proxy","_l","bt","xt","Bt","showMenu","trim","$el","querySelector","OC","config","blacklist_files_regex","match","setCustomValidity","split","map","join","newNodeName","nameInput","validateInput","onSubmit","pathElements","IconHome","IconPlus","NcActions","NcActionInput","NcBreadcrumbs","NcBreadcrumb","close","label","placeholder","submit","input","Dt","Ut","Wt","Qt","ni","filterString","isCollapsed","id","icon","allViews","currentViewObject","updateFilterValue","IconClose","IconMagnify","NcSelect","NcTextField","Fragment","clearable","searchable","tag","ki","buttons","container","filterFn","mimetypeFilter","contentClasses","dialogClasses","navigationClasses","callback","async","sessionStorage","getItem","setItem","isSupportedMimeType","some","si","isLoading","loadFiles","getFile","client","round","Date","now","search","details","results","getDirectoryContents","stat","li","startsWith","toLowerCase","dialogProps","dialogButtons","viewHeadline","savedPath","navigatedPath","currentPath","filteredFiles","noFilesDescription","onCreateFolder","createDirectory","console","warn","error","handleClose","FileList","FilePickerBreadcrumbs","FilePickerNavigation","NcDialog","NcEmptyContent","description","setApp","build","setUid","uid","Ne","_entries","registerEntry","validateEntry","push","unregisterEntry","getEntryIndex","splice","entry","entries","getEntries","enabled","findIndex","iconSvgInline","iconClass","handler","Error","_nc_newfilemenu","debug","Yt","log","min","pow","toFixed","parseFloat","toLocaleString","Jt","toLocaleLowerCase","replaceAll","DEFAULT","HIDDEN","_action","constructor","validateAction","exec","execBatch","inline","renderInline","Object","values","_nc_fileactions","find","action","er","nr","_nc_filelistheader","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","nc","oc","ocs","ir","_nc_dav_properties","_nc_dav_namespaces","prop","namespaces","V","keys","sr","or","be","R","source","crtime","permissions","owner","root","status","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","updateMtime","Reflect","deleteProperty","Proxy","replace","encodedSource","dirname","indexOf","pathname","isDavRessource","pop","move","rename","ye","super","ee","te","ur","setHeaders","requesttoken","patch","headers","method","fetch","dr","includeSelf","filename","ve","parse","lastmod","parseInt","getcontentlength","hasPreview","_views","_currentView","register","views","setActive","active","ar","_nc_navigation","Ie","_column","Ae","summary","RegExp","isExist","isEmptyObject","merge","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","M","Oe","allowBooleanAttributes","unpairedTags","substr","w","validate","assign","err","substring","xe","index","H","code","msg","line","tagClosed","tagName","tagStartPos","col","Ve","JSON","stringify","Ce","Pe","$e","v","Le","hasOwnProperty","Fe","re","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ke","Ue","Ge","ze","He","Ke","We","Ye","decimalPoint","tagname","child","addChild","tt","entityName","val","regx","entities","rt","skipLike","test","De","it","lastEntities","regex","st","replaceEntitiesValue","ot","charAt","ut","dt","resolveNameSpace","y","saveTextToParentTag","lastIndexOf","tagsNodeStack","tagExp","attrExpPresent","buildAttributesMap","closeIndex","docTypeEntities","parseTextData","rawTagName","isItStopNode","readStopNodeData","tagContent","lt","ft","ampEntity","ct","ht","pt","ne","ie","Nt","Et","Array","prettify","yt","currentNode","apos","quot","space","cent","pound","yen","euro","copyright","reg","inr","addExternalEntities","parseXml","vt","Tt","se","Pt","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","Ft","format","Vt","oneListGroup","isAttribute","attrPrefixLen","St","processTextOrObjNode","Lt","indentate","Rt","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","prototype","arrayNodeName","buildAttrPairStr","closeTag","XMLParser","externalEntities","toString","addEntity","XMLValidator","XMLBuilder","cr","_view","caption","emptyTitle","emptyCaption","getContents","params","columns","emptyView","sticky","expanded","defaultSortKey","TypeError","Xt","forEach","hr","pr","gr","numeric","sensitivity","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/comments-comments-app.js b/dist/comments-comments-app.js index da6282cfe2ea7..e4b0896a57c10 100644 --- a/dist/comments-comments-app.js +++ b/dist/comments-comments-app.js @@ -1,3 +1,3 @@ /*! For license information please see comments-comments-app.js.LICENSE.txt */ -(()=>{var r,e,o,a={23841:(r,e,o)=>{"use strict";var a=o(31352),s=o(77958),n=o(20144),i=o(64024),c=o(2324),l=o(25108);function u(r){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},u(r)}function p(r,e){for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:{},n=function(n){for(var i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1){var o=r.find((function(r){return r.isIntersecting}));o&&(e=o)}if(t.callback){var a=e.isIntersecting&&e.intersectionRatio>=t.threshold;if(a===t.oldResult)return;t.oldResult=a,t.callback(a,e)}}),this.options.intersection),e.context.$nextTick((function(){t.observer&&t.observer.observe(t.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],t&&p(e.prototype,t),r}();function h(r,e,t){var o=e.value;if(o)if("undefined"==typeof IntersectionObserver)l.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var a=new m(r,o,t);r._vue_visibilityState=a}}function f(r){var e=r._vue_visibilityState;e&&(e.destroyObserver(),delete r._vue_visibilityState)}var b={bind:h,update:function(r,e,t){var o=e.value;if(!g(o,e.oldValue)){var a=r._vue_visibilityState;o?a?a.createObserver(o,t):h(r,{value:o},t):f(r)}},unbind:f},v={version:"1.0.0",install:function(r){r.directive("observe-visibility",b)}},y=null;"undefined"!=typeof window?y=window.Vue:void 0!==o.g&&(y=o.g.Vue),y&&y.use(v);const A=v;var w=o(22175),D=o(74628);const C={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=o(51900);const x=(0,q.Z)(C,(function(){var r=this,e=r._self._c;return e("span",r._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!r.title,"aria-label":r.title,role:"img"},on:{click:function(e){return r.$emit("click",e)}}},"span",r.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:r.fillColor,width:r.size,height:r.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[r.title?e("title",[r._v(r._s(r.title))]):r._e()])])])}),[],!1,null,null,null).exports,E={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},S=(0,q.Z)(E,(function(){var r=this,e=r._self._c;return e("span",r._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!r.title,"aria-label":r.title,role:"img"},on:{click:function(e){return r.$emit("click",e)}}},"span",r.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:r.fillColor,width:r.size,height:r.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[r.title?e("title",[r._v(r._s(r.title))]):r._e()])])])}),[],!1,null,null,null).exports;var L=o(48950),k=o(72155),T=o(55212),N=o(96204),B=o(18519),R=o(97947),I=o(30589),O=o(73567),j=o(79753);const _=function(){return(0,j.generateRemoteUrl)("dav/comments")};function F(r){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const t=new DOMParser;let o=r;for(let r=0;r({deleted:!1,editing:!1,loading:!1}),methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(r){this.loading=!0;try{await async function(r,e,t,o){const a=["",r,e,t].join("/");return await M.customRequest(a,Object.assign({method:"PROPPATCH",data:`\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${o}\n\t\t\t\t\n\t\t\t\n\t\t\t`}))}(this.resourceType,this.resourceId,this.id,r),P.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:r}),this.$emit("update:message",r),this.editing=!1}catch(r){(0,i.x2)(t("comments","An error occurred while trying to edit the comment")),G.error(r)}finally{this.loading=!1}},onDeleteWithUndo(){this.deleted=!0;const r=setTimeout(this.onDelete,i.et);(0,i.yl)(t("comments","Comment deleted"),(()=>{clearTimeout(r),this.deleted=!1}))},async onDelete(){try{await async function(r,e,t){const o=["",r,e,t].join("/");await M.deleteFile(o)}(this.resourceType,this.resourceId,this.id),P.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(r){(0,i.x2)(t("comments","An error occurred while trying to delete the comment")),G.error(r),this.deleted=!1}},async onNewComment(r){this.loading=!0;try{const e=await async function(r,e,t){const o=["",r,e].join("/"),a=await V.Z.post(_()+o,{actorDisplayName:(0,s.ts)().displayName,actorId:(0,s.ts)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:t,objectType:r,verb:"comment"}),n=o+"/"+parseInt(a.headers["content-location"].split("/").pop()),i=await M.stat(n,{details:!0}),c=i.data.props;return c.actorDisplayName=F(c.actorDisplayName,2),c.message=F(c.message,2),i.data}(this.resourceType,this.resourceId,r);P.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:e}),this.$emit("new",e),this.$emit("update:message",""),this.localMessage=""}catch(r){(0,i.x2)(t("comments","An error occurred while trying to create the comment")),G.error(r)}finally{this.loading=!1}}}},z={name:"Comment",components:{ArrowRight:O.default,NcActionButton:k.Z,NcActions:T.Z,NcActionSeparator:N.Z,NcAvatar:B.Z,NcButton:D.Z,NcDateTime:R.Z,NcRichContenteditable:()=>o.e(7874).then(o.bind(o,98212))},mixins:[I.ZP,H],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:()=>({expanded:!1,localMessage:""}),computed:{isOwnComment(){return(0,s.ts)().uid===this.actorId},renderedContent(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage(){return!this.localMessage||""===this.localMessage.trim()},timestamp(){return Date.parse(this.creationDateTime)}},watch:{message(r){this.updateLocalMessage(r)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:a.Iu,updateLocalMessage(r){this.localMessage=r.toString()},onSubmit(){if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((()=>{this.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand(){this.expanded=!0}}};var Z=o(93379),W=o.n(Z),$=o(7795),Y=o.n($),J=o(90569),Q=o.n(J),X=o(3565),K=o.n(X),rr=o(19216),er=o.n(rr),tr=o(44589),or=o.n(tr),ar=o(33607),sr={};sr.styleTagTransform=or(),sr.setAttributes=K(),sr.insert=Q().bind(null,"head"),sr.domAPI=Y(),sr.insertStyleElement=er(),W()(ar.Z,sr),ar.Z&&ar.Z.locals&&ar.Z.locals;const nr=(0,q.Z)(z,(function(){var r=this,e=r._self._c;return e(r.tag,{directives:[{name:"show",rawName:"v-show",value:!r.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":r.loading}},[e("div",{staticClass:"comment__side"},[e("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":r.actorDisplayName,user:r.actorId,size:32}})],1),r._v(" "),e("div",{staticClass:"comment__body"},[e("div",{staticClass:"comment__header"},[e("span",{staticClass:"comment__author"},[r._v(r._s(r.actorDisplayName))]),r._v(" "),r.isOwnComment&&r.id&&!r.loading?e("NcActions",{staticClass:"comment__actions"},[r.editing?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:r.onEditCancel}},[r._v("\n\t\t\t\t\t"+r._s(r.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:r.onEdit}},[r._v("\n\t\t\t\t\t\t"+r._s(r.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),r._v(" "),e("NcActionSeparator"),r._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:r.onDeleteWithUndo}},[r._v("\n\t\t\t\t\t\t"+r._s(r.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):r._e(),r._v(" "),r.id&&r.loading?e("div",{staticClass:"comment_loading icon-loading-small"}):r.creationDateTime?e("NcDateTime",{staticClass:"comment__timestamp",attrs:{timestamp:r.timestamp,"ignore-seconds":!0}}):r._e()],1),r._v(" "),r.editor||r.editing?e("form",{staticClass:"comment__editor",on:{submit:function(r){r.preventDefault()}}},[e("div",{staticClass:"comment__editor-group"},[e("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":r.autoComplete,contenteditable:!r.loading,value:r.localMessage,"user-data":r.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":r.updateLocalMessage,submit:r.onSubmit}}),r._v(" "),e("div",{staticClass:"comment__submit"},[e("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":r.t("comments","Post comment"),disabled:r.isEmptyMessage},on:{click:r.onSubmit},scopedSlots:r._u([{key:"icon",fn:function(){return[r.loading?e("span",{staticClass:"icon-loading-small"}):e("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),r._v(" "),e("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[r._v("\n\t\t\t\t"+r._s(r.t("comments","@ for mentions, : for emoji, / for smart picker"))+"\n\t\t\t")])]):e("div",{staticClass:"comment__message",class:{"comment__message--expanded":r.expanded},domProps:{innerHTML:r._s(r.renderedContent)},on:{click:r.onExpand}})])])}),[],!1,null,"48179670",null).exports;var ir=o(54298);const cr={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},lr=r=>r.replace(/[[\]\\-]/g,"\\$&"),ur=r=>r.join(""),pr=(r,e)=>{const t=e;if("["!==r.charAt(t))throw new Error("not in a brace expression");const o=[],a=[];let s=t+1,n=!1,i=!1,c=!1,l=!1,u=t,p="";r:for(;sp?o.push(lr(p)+"-"+lr(e)):e===p&&o.push(lr(e)),p="",s++):r.startsWith("-]",s+1)?(o.push(lr(e+"-")),s+=2):r.startsWith("-",s+1)?(p=e,s+=2):(o.push(lr(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(zr(e),!(!t.nocomment&&"#"===e.charAt(0))&&new $r(e,t).match(r)),hr=/^\*+([^+@!?\*\[\(]*)$/,fr=r=>e=>!e.startsWith(".")&&e.endsWith(r),br=r=>e=>e.endsWith(r),vr=r=>(r=r.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(r)),yr=r=>(r=r.toLowerCase(),e=>e.toLowerCase().endsWith(r)),Ar=/^\*+\.\*+$/,wr=r=>!r.startsWith(".")&&r.includes("."),Dr=r=>"."!==r&&".."!==r&&r.includes("."),Cr=/^\.\*+$/,qr=r=>"."!==r&&".."!==r&&r.startsWith("."),xr=/^\*+$/,Er=r=>0!==r.length&&!r.startsWith("."),Sr=r=>0!==r.length&&"."!==r&&".."!==r,Lr=/^\?+([^+@!?\*\[\(]*)?$/,kr=([r,e=""])=>{const t=Rr([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},Tr=([r,e=""])=>{const t=Ir([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},Nr=([r,e=""])=>{const t=Ir([r]);return e?r=>t(r)&&r.endsWith(e):t},Br=([r,e=""])=>{const t=Rr([r]);return e?r=>t(r)&&r.endsWith(e):t},Rr=([r])=>{const e=r.length;return r=>r.length===e&&!r.startsWith(".")},Ir=([r])=>{const e=r.length;return r=>r.length===e&&"."!==r&&".."!==r},Or="object"==typeof dr&&dr?"object"==typeof dr.env&&dr.env&&dr.env.__MINIMATCH_TESTING_PLATFORM__||dr.platform:"posix";mr.sep="win32"===Or?"\\":"/";const jr=Symbol("globstar **");mr.GLOBSTAR=jr;const _r={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},Fr="[^/]",Vr=Fr+"*?",Ur=r=>r.split("").reduce(((r,e)=>(r[e]=!0,r)),{}),Mr=Ur("().*{}+?[]^$\\!"),Pr=Ur("[.(");mr.filter=(r,e={})=>t=>mr(t,r,e);const Gr=(r,e={})=>Object.assign({},r,e);mr.defaults=r=>{if(!r||"object"!=typeof r||!Object.keys(r).length)return mr;const e=mr;return Object.assign(((t,o,a={})=>e(t,o,Gr(r,a))),{Minimatch:class extends e.Minimatch{constructor(e,t={}){super(e,Gr(r,t))}static defaults(t){return e.defaults(Gr(r,t)).Minimatch}},unescape:(t,o={})=>e.unescape(t,Gr(r,o)),escape:(t,o={})=>e.escape(t,Gr(r,o)),filter:(t,o={})=>e.filter(t,Gr(r,o)),defaults:t=>e.defaults(Gr(r,t)),makeRe:(t,o={})=>e.makeRe(t,Gr(r,o)),braceExpand:(t,o={})=>e.braceExpand(t,Gr(r,o)),match:(t,o,a={})=>e.match(t,o,Gr(r,a)),sep:e.sep,GLOBSTAR:jr})};const Hr=(r,e={})=>(zr(r),e.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:ir(r));mr.braceExpand=Hr;const zr=r=>{if("string"!=typeof r)throw new TypeError("invalid pattern");if(r.length>65536)throw new TypeError("pattern is too long")};mr.makeRe=(r,e={})=>new $r(r,e).makeRe(),mr.match=(r,e,t={})=>{const o=new $r(e,t);return r=r.filter((r=>o.match(r))),o.options.nonull&&!r.length&&r.push(e),r};const Zr=/[?*]|[+@!]\(.*?\)|\[|\]/,Wr=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class $r{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(r,e={}){zr(r),e=e||{},this.options=e,this.pattern=r,this.platform=e.platform||Or,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const r of this.set)for(const e of r)if("string"!=typeof e)return!0;return!1}debug(...r){}make(){const r=this.pattern,e=this.options;if(!e.nocomment&&"#"===r.charAt(0))return void(this.comment=!0);if(!r)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>gr.error(...r)),this.debug(this.pattern,this.globSet);const t=this.globSet.map((r=>this.slashSplit(r)));this.globParts=this.preprocess(t),this.debug(this.pattern,this.globParts);let o=this.globParts.map(((r,e,t)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==r[0]||""!==r[1]||"?"!==r[2]&&Zr.test(r[2])||Zr.test(r[3])),t=/^[a-z]:/i.test(r[0]);if(e)return[...r.slice(0,4),...r.slice(4).map((r=>this.parse(r)))];if(t)return[r[0],...r.slice(1).map((r=>this.parse(r)))]}return r.map((r=>this.parse(r)))}));if(this.debug(this.pattern,o),this.set=o.filter((r=>-1===r.indexOf(!1))),this.isWindows)for(let r=0;r=2?(r=this.firstPhasePreProcess(r),r=this.secondPhasePreProcess(r)):r=e>=1?this.levelOneOptimize(r):this.adjascentGlobstarOptimize(r),r}adjascentGlobstarOptimize(r){return r.map((r=>{let e=-1;for(;-1!==(e=r.indexOf("**",e+1));){let t=e;for(;"**"===r[t+1];)t++;t!==e&&r.splice(e,t-e)}return r}))}levelOneOptimize(r){return r.map((r=>0===(r=r.reduce(((r,e)=>{const t=r[r.length-1];return"**"===e&&"**"===t?r:".."===e&&t&&".."!==t&&"."!==t&&"**"!==t?(r.pop(),r):(r.push(e),r)}),[])).length?[""]:r))}levelTwoFileOptimize(r){Array.isArray(r)||(r=this.slashSplit(r));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let t=1;to&&t.splice(o+1,a-o);let s=t[o+1];const n=t[o+2],i=t[o+3];if(".."!==s)continue;if(!n||"."===n||".."===n||!i||"."===i||".."===i)continue;e=!0,t.splice(o,1);const c=t.slice(0);c[o]="**",r.push(c),o--}if(!this.preserveMultipleSlashes){for(let r=1;rr.length))}partsMatch(r,e,t=!1){let o=0,a=0,s=[],n="";for(;o=2&&(r=this.levelTwoFileOptimize(r)),this.debug("matchOne",this,{file:r,pattern:e}),this.debug("matchOne",r.length,e.length);for(var s=0,n=0,i=r.length,c=e.length;s>> no match, partial?",r,p,e,d),p!==i))}let a;if("string"==typeof l?(a=u===l,this.debug("string match",l,u,a)):(a=l.test(u),this.debug("pattern match",l,u,a)),!a)return!1}if(s===i&&n===c)return!0;if(s===i)return t;if(n===c)return s===i-1&&""===r[s];throw new Error("wtf?")}braceExpand(){return Hr(this.pattern,this.options)}parse(r){zr(r);const e=this.options;if("**"===r)return jr;if(""===r)return"";let t,o=null;(t=r.match(xr))?o=e.dot?Sr:Er:(t=r.match(hr))?o=(e.nocase?e.dot?yr:vr:e.dot?br:fr)(t[1]):(t=r.match(Lr))?o=(e.nocase?e.dot?Tr:kr:e.dot?Nr:Br)(t):(t=r.match(Ar))?o=e.dot?Dr:wr:(t=r.match(Cr))&&(o=qr);let a="",s=!1,n=!1;const i=[],c=[];let l,u=!1,p=!1,d="."===r.charAt(0),g=e.dot||d;const m=r=>"."===r.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",h=()=>{if(u){switch(u){case"*":a+=Vr,s=!0;break;case"?":a+=Fr,s=!0;break;default:a+="\\"+u}this.debug("clearStateChar %j %j",u,a),u=!1}};for(let t,o=0;o(t||(t="\\"),e+e+t+"|"))),this.debug("tail=%j\n %s",r,r,l,a);const e="*"===l.type?Vr:"?"===l.type?Fr:"\\"+l.type;s=!0,a=a.slice(0,l.reStart)+e+"\\("+r}h(),n&&(a+="\\\\");const f=Pr[a.charAt(0)];for(let r=c.length-1;r>-1;r--){const e=c[r],t=a.slice(0,e.reStart),o=a.slice(e.reStart,e.reEnd-8);let s=a.slice(e.reEnd);const n=a.slice(e.reEnd-8,e.reEnd)+s,i=t.split(")").length,l=t.split("(").length-i;let u=s;for(let r=0;r{const e=r.map((r=>"string"==typeof r?Wr(r):r===jr?jr:r._src));return e.forEach(((r,o)=>{const a=e[o+1],s=e[o-1];r===jr&&s!==jr&&(void 0===s?void 0!==a&&a!==jr?e[o+1]="(?:\\/|"+t+"\\/)?"+a:e[o]=t:void 0===a?e[o-1]=s+"(?:\\/|"+t+")?":a!==jr&&(e[o-1]=s+"(?:\\/|\\/"+t+"\\/)"+a,e[o+1]=jr))})),e.filter((r=>r!==jr)).join("/")})).join("|");a="^(?:"+a+")$",this.negate&&(a="^(?!"+a+").*$");try{this.regexp=new RegExp(a,o)}catch(r){this.regexp=!1}return this.regexp}slashSplit(r){return this.preserveMultipleSlashes?r.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(r)?["",...r.split(/\/+/)]:r.split(/\/+/)}match(r,e=this.partial){if(this.debug("match",r,this.pattern),this.comment)return!1;if(this.empty)return""===r;if("/"===r&&e)return!0;const t=this.options;this.isWindows&&(r=r.split("\\").join("/"));const o=this.slashSplit(r);this.debug(this.pattern,"split",o);const a=this.set;this.debug(this.pattern,"set",a);let s=o[o.length-1];if(!s)for(let r=o.length-2;!s&&r>=0;r--)s=o[r];for(let r=0;re?r.replace(/[?*()[\]]/g,"[$&]"):r.replace(/[?*()[\]\\]/g,"\\$&"),mr.unescape=(r,{windowsPathsNoEscape:e=!1}={})=>e?r.replace(/\[([^\/\\])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Jr,Qr=o(23722),Xr=(o(16932),o(65070),o(97501),o(86492)),Kr=o(62639);!function(r){r.Array="array",r.Object="object",r.Original="original"}(Jr||(Jr={}));const re=async function(r,e){let{resourceType:t,resourceId:o}=r;const a=["",t,o].join("/"),s=e.datetime?`${e.datetime.toISOString()}`:"",n=await M.customRequest(a,Object.assign({method:"REPORT",data:`\n\t\t\t\n\t\t\t\t${e.limit??20}\n\t\t\t\t${e.offset||0}\n\t\t\t\t${s}\n\t\t\t`},e)),i=await n.text(),c=await(0,U.sw)(i);return function(r,e,t=!1){return t?{data:e,headers:r.headers?Yr(r.headers):{},status:r.status,statusText:r.statusText}:e}(n,ee(c,!0),!0)},ee=function(r){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:t}}=r;return t.map((r=>{const{propstat:{prop:t}}=r;return function(r,e,t=!1){const{getlastmodified:o=null,getcontentlength:a="0",resourcetype:s=null,getcontenttype:n=null,getetag:i=null}=r,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l=function(r){if((0,Kr.$)()){const e=document.createElement("textarea");return e.innerHTML=r,e.value}return Xr.decode(r)}(e),u={filename:l,basename:Qr.basename(l),lastmod:o,size:parseInt(a,10),type:c,etag:"string"==typeof i?i.replace(/"/g,""):null};return"file"===c&&(u.mime=n&&"string"==typeof n?n.split(";")[0]:""),t&&(u.props=r),u}(t,t.id.toString(),e)}))};var te=o(43554);const oe=(0,n.defineComponent)({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data:()=>({editorData:{actorDisplayName:(0,s.ts)().displayName,actorId:(0,s.ts)().uid,key:"editor"},userData:{}}),methods:{async autoComplete(r,e){const{data:t}=await V.Z.get((0,j.generateOcsUrl)("core/autocomplete/get"),{params:{search:r,itemType:"files",itemId:this.resourceId,sorter:"commenters|share-recipients",limit:(0,te.j)("comments","maxAutoCompleteResults")}});return t.ocs.data.forEach((r=>{this.userData[r.id]=r})),e(Object.values(this.userData))},genMentionsData(r){return Object.values(r).flat().forEach((r=>{this.userData[r.mentionId]={icon:"icon-user",id:r.mentionId,label:r.mentionDisplayName,source:"users",primary:(0,s.ts)()?.uid===r.mentionId}})),this.userData}}});var ae=o(25108);n.default.use(c.ZP),n.default.use(A);const se={name:"Comments",components:{Comment:nr,NcEmptyContent:w.Z,NcButton:D.Z,RefreshIcon:x,MessageReplyTextIcon:S,AlertCircleOutlineIcon:L.default},mixins:[oe],data:()=>({error:"",loading:!1,done:!1,resourceId:null,offset:0,comments:[],cancelRequest:()=>{},Comment:nr,userData:{}}),computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&0===this.offset}},methods:{t:a.Iu,async onVisibilityChange(r){if(r)try{await((r,e,t)=>{const o=["",r,e].join("/"),a=t.toUTCString();return M.customRequest(o,{method:"PROPPATCH",data:`\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${a}\n\t\t\t\t\n\t\t\t\n\t\t\t`})})(this.resourceType,this.resourceId,new Date)}catch(r){(0,i.x2)(r.message||(0,a.Iu)("comments","Failed to mark comments as read"))}},async update(r){this.resourceId=r,this.resetState(),this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:r,abort:e}=function(r){const e=new AbortController,t=e.signal;return{request:async function(e,o){return await r(e,Object.assign({signal:t},o))},abort:()=>e.abort()}}(re);this.cancelRequest=e;const{data:t}=await r({resourceType:this.resourceType,resourceId:this.resourceId},{offset:this.offset})||{data:[]};this.logger.debug(`Processed ${t.length} comments`,{comments:t}),t.length<20&&(this.done=!0),this.comments.push(...t),this.offset+=20}catch(r){if("cancel"===r.message)return;this.error=(0,a.Iu)("comments","Unable to load the comments list"),ae.error("Error loading the comments list",r)}finally{this.loading=!1}},onNewComment(r){this.comments.unshift(r)},onDelete(r){const e=this.comments.findIndex((e=>e.props.id===r));e>-1?this.comments.splice(e,1):ae.error("Could not find the deleted comment in the list",r)},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}};var ne=o(28559),ie={};ie.styleTagTransform=or(),ie.setAttributes=K(),ie.insert=Q().bind(null,"head"),ie.domAPI=Y(),ie.insertStyleElement=er(),W()(ne.Z,ie),ne.Z&&ne.Z.locals&&ne.Z.locals;const ce=(0,q.Z)(se,(function(){var r=this,e=r._self._c;return e("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:r.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":r.isFirstLoading}},[e("Comment",r._b({staticClass:"comments__writer",attrs:{"auto-complete":r.autoComplete,"resource-type":r.resourceType,editor:!0,"user-data":r.userData,"resource-id":r.resourceId},on:{new:r.onNewComment}},"Comment",r.editorData,!1)),r._v(" "),r.isFirstLoading?r._e():[!r.hasComments&&r.done?e("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:r.t("comments","No comments yet, start the conversation!")},scopedSlots:r._u([{key:"icon",fn:function(){return[e("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):e("ul",r._l(r.comments,(function(t){return e("Comment",r._b({key:t.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":r.autoComplete,"resource-type":r.resourceType,message:t.props.message,"resource-id":r.resourceId,"user-data":r.genMentionsData(t.props.mentions)},on:{"update:message":function(e){return r.$set(t.props,"message",e)},delete:r.onDelete}},"Comment",t.props,!1))})),1),r._v(" "),r.loading&&!r.isFirstLoading?e("div",{staticClass:"comments__info icon-loading"}):r.hasComments&&r.done?e("div",{staticClass:"comments__info"},[r._v("\n\t\t\t"+r._s(r.t("comments","No more messages"))+"\n\t\t")]):r.error?[e("NcEmptyContent",{staticClass:"comments__error",attrs:{name:r.error},scopedSlots:r._u([{key:"icon",fn:function(){return[e("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),r._v(" "),e("NcButton",{staticClass:"comments__retry",on:{click:r.getComments},scopedSlots:r._u([{key:"icon",fn:function(){return[e("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[r._v("\n\t\t\t\t"+r._s(r.t("comments","Retry"))+"\n\t\t\t")])]:r._e()]],2)}),[],!1,null,"b2489a3c",null).exports;o.nc=btoa((0,s.IH)()),n.default.mixin({data:()=>({logger:P}),methods:{t:a.Iu,n:a.uN}});var le=o(25108);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:class{constructor(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e={...e,propsData:{...e.propsData??{},resourceType:r}},new(n.default.extend(ce))(e)}}}),le.debug("OCA.Comments.View initialized")},5623:r=>{"use strict";function e(r,e,a){r instanceof RegExp&&(r=t(r,a)),e instanceof RegExp&&(e=t(e,a));var s=o(r,e,a);return s&&{start:s[0],end:s[1],pre:a.slice(0,s[0]),body:a.slice(s[0]+r.length,s[1]),post:a.slice(s[1]+e.length)}}function t(r,e){var t=e.match(r);return t?t[0]:null}function o(r,e,t){var o,a,s,n,i,c=t.indexOf(r),l=t.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(r===e)return[c,l];for(o=[],s=t.length;u>=0&&!i;)u==c?(o.push(u),c=t.indexOf(r,u+1)):1==o.length?i=[o.pop(),l]:((a=o.pop())=0?c:l;o.length&&(i=[s,n])}return i}r.exports=e,e.range=o},97501:function(r,e,t){var o;r=t.nmd(r),function(a){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=function(r){this.message=r};(n.prototype=new Error).name="InvalidCharacterError";var i=function(r){throw new n(r)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=/[\t\n\f\r ]/g,u={encode:function(r){r=String(r),/[^\0-\xFF]/.test(r)&&i("The string to be encoded contains characters outside of the Latin1 range.");for(var e,t,o,a,s=r.length%3,n="",l=-1,u=r.length-s;++l>18&63)+c.charAt(a>>12&63)+c.charAt(a>>6&63)+c.charAt(63&a);return 2==s?(e=r.charCodeAt(l)<<8,t=r.charCodeAt(++l),n+=c.charAt((a=e+t)>>10)+c.charAt(a>>4&63)+c.charAt(a<<2&63)+"="):1==s&&(a=r.charCodeAt(l),n+=c.charAt(a>>2)+c.charAt(a<<4&63)+"=="),n},decode:function(r){var e=(r=String(r).replace(l,"")).length;e%4==0&&(e=(r=r.replace(/==?$/,"")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(r))&&i("Invalid character: the string to be decoded is not correctly encoded.");for(var t,o,a=0,s="",n=-1;++n>(-2*a&6)));return s},version:"1.0.0"};void 0===(o=function(){return u}.call(e,t,e,r))||(r.exports=o)}()},33607:(r,e,t)=>{"use strict";t.d(e,{Z:()=>i});var o=t(87537),a=t.n(o),s=t(23645),n=t.n(s)()(a());n.push([r.id,".comment[data-v-48179670]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-48179670]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-48179670]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-48179670]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-48179670]{margin-left:10px !important}.comment__author[data-v-48179670]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-48179670],.comment__timestamp[data-v-48179670]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-48179670]{position:relative}.comment__editor-description[data-v-48179670]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-48179670]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-48179670]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-48179670]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-48179670]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 8px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 6px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]);const i=n},28559:(r,e,t)=>{"use strict";t.d(e,{Z:()=>i});var o=t(87537),a=t.n(o),s=t(23645),n=t.n(s)()(a());n.push([r.id,".comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]);const i=n},16932:(r,e,t)=>{"use strict";const o=t(78501),a=t(58844),s=t(41192);r.exports={XMLParser:a,XMLValidator:o,XMLBuilder:s}},86492:function(r,e,t){var o;r=t.nmd(r),function(a){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},g=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,h=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,f={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},y=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],A=String.fromCharCode,w={}.hasOwnProperty,D=function(r,e){return w.call(r,e)},C=function(r,e){if(!r)return e;var t,o={};for(t in e)o[t]=D(r,t)?r[t]:e[t];return o},q=function(r,e){var t="";return r>=55296&&r<=57343||r>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):D(v,r)?(e&&S("disallowed character reference"),v[r]):(e&&function(r,e){for(var t=-1,o=r.length;++t65535&&(t+=A((r-=65536)>>>10&1023|55296),r=56320|1023&r),t+=A(r))},x=function(r){return"&#x"+r.toString(16).toUpperCase()+";"},E=function(r){return"&#"+r+";"},S=function(r){throw Error("Parse error: "+r)},L=function(r,e){(e=C(e,L.options)).strict&&m.test(r)&&S("forbidden code point");var t=e.encodeEverything,o=e.useNamedReferences,a=e.allowUnsafeSymbols,s=e.decimal?E:x,d=function(r){return s(r.charCodeAt(0))};return t?(r=r.replace(i,(function(r){return o&&D(u,r)?"&"+u[r]+";":d(r)})),o&&(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),o&&(r=r.replace(l,(function(r){return"&"+u[r]+";"})))):o?(a||(r=r.replace(p,(function(r){return"&"+u[r]+";"}))),r=(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(l,(function(r){return"&"+u[r]+";"}))):a||(r=r.replace(p,d)),r.replace(n,(function(r){var e=r.charCodeAt(0),t=r.charCodeAt(1);return s(1024*(e-55296)+t-56320+65536)})).replace(c,d)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var k=function(r,e){var t=(e=C(e,k.options)).strict;return t&&g.test(r)&&S("malformed character reference"),r.replace(h,(function(r,o,a,s,n,i,c,l,u){var p,d,g,m,h,v;return o?f[h=o]:a?(h=a,(v=s)&&e.isAttributeValue?(t&&"="==v&&S("`&` did not start a character reference"),r):(t&&S("named character reference was not terminated by a semicolon"),b[h]+(v||""))):n?(g=n,d=i,t&&!d&&S("character reference was not terminated by a semicolon"),p=parseInt(g,10),q(p,t)):c?(m=c,d=l,t&&!d&&S("character reference was not terminated by a semicolon"),p=parseInt(m,16),q(p,t)):(t&&S("named character reference was not terminated by a semicolon"),r)}))};k.options={isAttributeValue:!1,strict:!1};var T={version:"1.2.0",encode:L,decode:k,escape:function(r){return r.replace(p,(function(r){return d[r]}))},unescape:k};void 0===(o=function(){return T}.call(e,t,e,r))||(r.exports=o)}()},65070:r=>{"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e(r)}function t(r){var e="function"==typeof Map?new Map:void 0;return t=function(r){if(null===r||(t=r,-1===Function.toString.call(t).indexOf("[native code]")))return r;var t;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return o(r,arguments,s(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),a(n,r)},t(r)}function o(r,e,t){return o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}()?Reflect.construct:function(r,e,t){var o=[null];o.push.apply(o,e);var s=new(Function.bind.apply(r,o));return t&&a(s,t.prototype),s},o.apply(null,arguments)}function a(r,e){return a=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},a(r,e)}function s(r){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},s(r)}var n=function(r){function t(r){var o;return function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),(o=function(r,t){return!t||"object"!==e(t)&&"function"!=typeof t?function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r):t}(this,s(t).call(this,r))).name="ObjectPrototypeMutationError",o}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&a(r,e)}(t,r),t}(t(Error));function i(r,t){for(var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},a=t.split("."),s=a.length,n=function(e){var t=a[e];if(!r)return{v:void 0};if("+"===t){if(Array.isArray(r))return{v:r.map((function(t,s){var n=a.slice(e+1);return n.length>0?i(t,n.join("."),o):o(r,s,a,e)}))};var s=a.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}r=o(r,t,a,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;if("number"==typeof t)return t in r;try{var a=!1;return i(r,t,(function(r,e,t,s){if(!c(t,s))return r&&r[e];a=o.own?r.hasOwnProperty(e):e in r})),a}catch(r){return!1}},hasOwn:function(r,e,t){return this.has(r,e,t||{own:!0})},isIn:function(r,t,o){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;try{var s=!1,n=!1;return i(r,t,(function(r,t,a,i){return s=s||r===o||!!r&&r[t]===o,n=c(a,i)&&"object"===e(r)&&t in r,r&&r[t]})),a.validPath?s&&n:s}catch(r){return!1}},ObjectPrototypeMutationError:n}},23722:(r,e,t)=>{"use strict";var o=t(34155),a=t(89539),s=function(r){return"string"==typeof r};function n(r,e){for(var t=[],o=0;o=-1&&!e;t--){var a=t>=0?arguments[t]:o.cwd();if(!s(a))throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,e="/"===a.charAt(0))}return(e?"/":"")+(r=n(r.split("/"),!e).join("/"))||"."},c.normalize=function(r){var e=c.isAbsolute(r),t="/"===r.substr(-1);return(r=n(r.split("/"),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},c.isAbsolute=function(r){return"/"===r.charAt(0)},c.join=function(){for(var r="",e=0;e=0&&""===r[t];t--);return e>t?[]:r.slice(e,t+1)}r=c.resolve(r).substr(1),e=c.resolve(e).substr(1);for(var o=t(r.split("/")),a=t(e.split("/")),s=Math.min(o.length,a.length),n=s,i=0;i{var o=t(5623);r.exports=function(r){return r?("{}"===r.substr(0,2)&&(r="\\{\\}"+r.substr(2)),f(function(r){return r.split("\\\\").join(a).split("\\{").join(s).split("\\}").join(n).split("\\,").join(i).split("\\.").join(c)}(r),!0).map(u)):[]};var a="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",i="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function u(r){return r.split(a).join("\\").split(s).join("{").split(n).join("}").split(i).join(",").split(c).join(".")}function p(r){if(!r)return[""];var e=[],t=o("{","}",r);if(!t)return r.split(",");var a=t.pre,s=t.body,n=t.post,i=a.split(",");i[i.length-1]+="{"+s+"}";var c=p(n);return n.length&&(i[i.length-1]+=c.shift(),i.push.apply(i,c)),e.push.apply(e,i),e}function d(r){return"{"+r+"}"}function g(r){return/^-?0\d/.test(r)}function m(r,e){return r<=e}function h(r,e){return r>=e}function f(r,e){var t=[],a=o("{","}",r);if(!a)return[r];var s=a.pre,i=a.post.length?f(a.post,!1):[""];if(/\$$/.test(a.pre))for(var c=0;c=0;if(!w&&!D)return a.post.match(/,.*\}/)?f(r=a.pre+"{"+a.body+n+a.post):[r];if(w)b=a.body.split(/\.\./);else if(1===(b=p(a.body)).length&&1===(b=f(b[0],!1).map(d)).length)return i.map((function(r){return a.pre+b[0]+r}));if(w){var C=l(b[0]),q=l(b[1]),x=Math.max(b[0].length,b[1].length),E=3==b.length?Math.abs(l(b[2])):1,S=m;q0){var B=new Array(N+1).join("0");T=k<0?"-"+B+T.slice(1):B+T}}v.push(T)}}else{v=[];for(var R=0;R{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:r=>{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:r=>{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="}},s={};function n(r){var e=s[r];if(void 0!==e)return e.exports;var t=s[r]={id:r,loaded:!1,exports:{}};return a[r].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=a,r=[],n.O=(e,t,o,a)=>{if(!t){var s=1/0;for(u=0;u=a)&&Object.keys(n.O).every((r=>n.O[r](t[c])))?t.splice(c--,1):(i=!1,a0&&r[u-1][2]>a;u--)r[u]=r[u-1];r[u]=[t,o,a]},n.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return n.d(e,{a:e}),e},n.d=(r,e)=>{for(var t in e)n.o(e,t)&&!n.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},n.f={},n.e=r=>Promise.all(Object.keys(n.f).reduce(((e,t)=>(n.f[t](r,e),e)),[])),n.u=r=>r+"-"+r+".js?v="+{923:"02b37a6174a781e7a8c2",5358:"8ea58c7886c9b4f45bd3"}[r],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),n.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),e={},o="nextcloud:",n.l=(r,t,a,s)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==a)for(var l=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(g);var a=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach((r=>r(o))),t)return t(o)},g=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.nmd=r=>(r.paths=[],r.children||(r.children=[]),r),n.j=6335,(()=>{var r;n.g.importScripts&&(r=n.g.location+"");var e=n.g.document;if(!r&&e&&(e.currentScript&&(r=e.currentScript.src),!r)){var t=e.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!r;)r=t[o--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=r})(),(()=>{n.b=document.baseURI||self.location.href;var r={6335:0};n.f.j=(e,t)=>{var o=n.o(r,e)?r[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,a)=>o=r[e]=[t,a]));t.push(o[2]=a);var s=n.p+n.u(e),i=new Error;n.l(s,(t=>{if(n.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+a+": "+s+")",i.name="ChunkLoadError",i.type=a,i.request=s,o[1](i)}}),"chunk-"+e,e)}},n.O.j=e=>0===r[e];var e=(e,t)=>{var o,a,s=t[0],i=t[1],c=t[2],l=0;if(s.some((e=>0!==r[e]))){for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(c)var u=c(n)}for(e&&e(t);ln(23841)));i=n.O(i)})(); -//# sourceMappingURL=comments-comments-app.js.map?v=2fdc827aa0ecf93fb1d5 \ No newline at end of file +(()=>{var r,e,o,a={23841:(r,e,o)=>{"use strict";var a=o(31352),s=o(77958),n=o(20144),i=o(64024),c=o(2324),l=o(25108);function u(r){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},u(r)}function p(r,e){for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:{},n=function(n){for(var i=arguments.length,c=new Array(i>1?i-1:0),l=1;l1){var o=r.find((function(r){return r.isIntersecting}));o&&(e=o)}if(t.callback){var a=e.isIntersecting&&e.intersectionRatio>=t.threshold;if(a===t.oldResult)return;t.oldResult=a,t.callback(a,e)}}),this.options.intersection),e.context.$nextTick((function(){t.observer&&t.observer.observe(t.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&"number"==typeof this.options.intersection.threshold?this.options.intersection.threshold:0}}],t&&p(e.prototype,t),r}();function h(r,e,t){var o=e.value;if(o)if("undefined"==typeof IntersectionObserver)l.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var a=new m(r,o,t);r._vue_visibilityState=a}}function f(r){var e=r._vue_visibilityState;e&&(e.destroyObserver(),delete r._vue_visibilityState)}var b={bind:h,update:function(r,e,t){var o=e.value;if(!g(o,e.oldValue)){var a=r._vue_visibilityState;o?a?a.createObserver(o,t):h(r,{value:o},t):f(r)}},unbind:f},v={version:"1.0.0",install:function(r){r.directive("observe-visibility",b)}},y=null;"undefined"!=typeof window?y=window.Vue:void 0!==o.g&&(y=o.g.Vue),y&&y.use(v);const A=v;var w=o(22175),D=o(74628);const C={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=o(51900);const x=(0,q.Z)(C,(function(){var r=this,e=r._self._c;return e("span",r._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":!r.title,"aria-label":r.title,role:"img"},on:{click:function(e){return r.$emit("click",e)}}},"span",r.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:r.fillColor,width:r.size,height:r.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[r.title?e("title",[r._v(r._s(r.title))]):r._e()])])])}),[],!1,null,null,null).exports,E={name:"MessageReplyTextIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},S=(0,q.Z)(E,(function(){var r=this,e=r._self._c;return e("span",r._b({staticClass:"material-design-icon message-reply-text-icon",attrs:{"aria-hidden":!r.title,"aria-label":r.title,role:"img"},on:{click:function(e){return r.$emit("click",e)}}},"span",r.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:r.fillColor,width:r.size,height:r.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z"}},[r.title?e("title",[r._v(r._s(r.title))]):r._e()])])])}),[],!1,null,null,null).exports;var L=o(48950),k=o(72155),T=o(55212),N=o(96204),B=o(18519),R=o(97947),I=o(30589),O=o(73567),j=o(79753);const _=function(){return(0,j.generateRemoteUrl)("dav/comments")};function F(r){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const t=new DOMParser;let o=r;for(let r=0;r({deleted:!1,editing:!1,loading:!1}),methods:{onEdit(){this.editing=!0},onEditCancel(){this.editing=!1,this.updateLocalMessage(this.message)},async onEditComment(r){this.loading=!0;try{await async function(r,e,t,o){const a=["",r,e,t].join("/");return await M.customRequest(a,Object.assign({method:"PROPPATCH",data:`\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${o}\n\t\t\t\t\n\t\t\t\n\t\t\t`}))}(this.resourceType,this.resourceId,this.id,r),P.debug("Comment edited",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id,message:r}),this.$emit("update:message",r),this.editing=!1}catch(r){(0,i.x2)(t("comments","An error occurred while trying to edit the comment")),G.error(r)}finally{this.loading=!1}},onDeleteWithUndo(){this.deleted=!0;const r=setTimeout(this.onDelete,i.et);(0,i.yl)(t("comments","Comment deleted"),(()=>{clearTimeout(r),this.deleted=!1}))},async onDelete(){try{await async function(r,e,t){const o=["",r,e,t].join("/");await M.deleteFile(o)}(this.resourceType,this.resourceId,this.id),P.debug("Comment deleted",{resourceType:this.resourceType,resourceId:this.resourceId,id:this.id}),this.$emit("delete",this.id)}catch(r){(0,i.x2)(t("comments","An error occurred while trying to delete the comment")),G.error(r),this.deleted=!1}},async onNewComment(r){this.loading=!0;try{const e=await async function(r,e,t){const o=["",r,e].join("/"),a=await V.Z.post(_()+o,{actorDisplayName:(0,s.ts)().displayName,actorId:(0,s.ts)().uid,actorType:"users",creationDateTime:(new Date).toUTCString(),message:t,objectType:r,verb:"comment"}),n=o+"/"+parseInt(a.headers["content-location"].split("/").pop()),i=await M.stat(n,{details:!0}),c=i.data.props;return c.actorDisplayName=F(c.actorDisplayName,2),c.message=F(c.message,2),i.data}(this.resourceType,this.resourceId,r);P.debug("New comment posted",{resourceType:this.resourceType,resourceId:this.resourceId,newComment:e}),this.$emit("new",e),this.$emit("update:message",""),this.localMessage=""}catch(r){(0,i.x2)(t("comments","An error occurred while trying to create the comment")),G.error(r)}finally{this.loading=!1}}}},z={name:"Comment",components:{ArrowRight:O.default,NcActionButton:k.Z,NcActions:T.Z,NcActionSeparator:N.Z,NcAvatar:B.Z,NcButton:D.Z,NcDateTime:R.Z,NcRichContenteditable:()=>o.e(7874).then(o.bind(o,98212))},mixins:[I.ZP,H],inheritAttrs:!1,props:{actorDisplayName:{type:String,required:!0},actorId:{type:String,required:!0},creationDateTime:{type:String,default:null},editor:{type:Boolean,default:!1},autoComplete:{type:Function,required:!0},tag:{type:String,default:"div"}},data:()=>({expanded:!1,localMessage:""}),computed:{isOwnComment(){return(0,s.ts)().uid===this.actorId},renderedContent(){return this.isEmptyMessage?"":this.renderContent(this.localMessage)},isEmptyMessage(){return!this.localMessage||""===this.localMessage.trim()},timestamp(){return Date.parse(this.creationDateTime)}},watch:{message(r){this.updateLocalMessage(r)}},beforeMount(){this.updateLocalMessage(this.message)},methods:{t:a.Iu,updateLocalMessage(r){this.localMessage=r.toString()},onSubmit(){if(""!==this.localMessage.trim())return this.editor?(this.onNewComment(this.localMessage.trim()),void this.$nextTick((()=>{this.$refs.editor.$el.focus()}))):void this.onEditComment(this.localMessage.trim())},onExpand(){this.expanded=!0}}};var Z=o(93379),W=o.n(Z),$=o(7795),Y=o.n($),J=o(90569),Q=o.n(J),X=o(3565),K=o.n(X),rr=o(19216),er=o.n(rr),tr=o(44589),or=o.n(tr),ar=o(33607),sr={};sr.styleTagTransform=or(),sr.setAttributes=K(),sr.insert=Q().bind(null,"head"),sr.domAPI=Y(),sr.insertStyleElement=er(),W()(ar.Z,sr),ar.Z&&ar.Z.locals&&ar.Z.locals;const nr=(0,q.Z)(z,(function(){var r=this,e=r._self._c;return e(r.tag,{directives:[{name:"show",rawName:"v-show",value:!r.deleted,expression:"!deleted"}],tag:"component",staticClass:"comment",class:{"comment--loading":r.loading}},[e("div",{staticClass:"comment__side"},[e("NcAvatar",{staticClass:"comment__avatar",attrs:{"display-name":r.actorDisplayName,user:r.actorId,size:32}})],1),r._v(" "),e("div",{staticClass:"comment__body"},[e("div",{staticClass:"comment__header"},[e("span",{staticClass:"comment__author"},[r._v(r._s(r.actorDisplayName))]),r._v(" "),r.isOwnComment&&r.id&&!r.loading?e("NcActions",{staticClass:"comment__actions"},[r.editing?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:r.onEditCancel}},[r._v("\n\t\t\t\t\t"+r._s(r.t("comments","Cancel edit"))+"\n\t\t\t\t")]):[e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-rename"},on:{click:r.onEdit}},[r._v("\n\t\t\t\t\t\t"+r._s(r.t("comments","Edit comment"))+"\n\t\t\t\t\t")]),r._v(" "),e("NcActionSeparator"),r._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0,icon:"icon-delete"},on:{click:r.onDeleteWithUndo}},[r._v("\n\t\t\t\t\t\t"+r._s(r.t("comments","Delete comment"))+"\n\t\t\t\t\t")])]],2):r._e(),r._v(" "),r.id&&r.loading?e("div",{staticClass:"comment_loading icon-loading-small"}):r.creationDateTime?e("NcDateTime",{staticClass:"comment__timestamp",attrs:{timestamp:r.timestamp,"ignore-seconds":!0}}):r._e()],1),r._v(" "),r.editor||r.editing?e("form",{staticClass:"comment__editor",on:{submit:function(r){r.preventDefault()}}},[e("div",{staticClass:"comment__editor-group"},[e("NcRichContenteditable",{ref:"editor",attrs:{"auto-complete":r.autoComplete,contenteditable:!r.loading,value:r.localMessage,"user-data":r.userData,"aria-describedby":"tab-comments__editor-description"},on:{"update:value":r.updateLocalMessage,submit:r.onSubmit}}),r._v(" "),e("div",{staticClass:"comment__submit"},[e("NcButton",{attrs:{type:"tertiary-no-background","native-type":"submit","aria-label":r.t("comments","Post comment"),disabled:r.isEmptyMessage},on:{click:r.onSubmit},scopedSlots:r._u([{key:"icon",fn:function(){return[r.loading?e("span",{staticClass:"icon-loading-small"}):e("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,2357784758)})],1)],1),r._v(" "),e("div",{staticClass:"comment__editor-description",attrs:{id:"tab-comments__editor-description"}},[r._v("\n\t\t\t\t"+r._s(r.t("comments","@ for mentions, : for emoji, / for smart picker"))+"\n\t\t\t")])]):e("div",{staticClass:"comment__message",class:{"comment__message--expanded":r.expanded},domProps:{innerHTML:r._s(r.renderedContent)},on:{click:r.onExpand}})])])}),[],!1,null,"48179670",null).exports;var ir=o(54298);const cr={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},lr=r=>r.replace(/[[\]\\-]/g,"\\$&"),ur=r=>r.join(""),pr=(r,e)=>{const t=e;if("["!==r.charAt(t))throw new Error("not in a brace expression");const o=[],a=[];let s=t+1,n=!1,i=!1,c=!1,l=!1,u=t,p="";r:for(;sp?o.push(lr(p)+"-"+lr(e)):e===p&&o.push(lr(e)),p="",s++):r.startsWith("-]",s+1)?(o.push(lr(e+"-")),s+=2):r.startsWith("-",s+1)?(p=e,s+=2):(o.push(lr(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(zr(e),!(!t.nocomment&&"#"===e.charAt(0))&&new $r(e,t).match(r)),hr=/^\*+([^+@!?\*\[\(]*)$/,fr=r=>e=>!e.startsWith(".")&&e.endsWith(r),br=r=>e=>e.endsWith(r),vr=r=>(r=r.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(r)),yr=r=>(r=r.toLowerCase(),e=>e.toLowerCase().endsWith(r)),Ar=/^\*+\.\*+$/,wr=r=>!r.startsWith(".")&&r.includes("."),Dr=r=>"."!==r&&".."!==r&&r.includes("."),Cr=/^\.\*+$/,qr=r=>"."!==r&&".."!==r&&r.startsWith("."),xr=/^\*+$/,Er=r=>0!==r.length&&!r.startsWith("."),Sr=r=>0!==r.length&&"."!==r&&".."!==r,Lr=/^\?+([^+@!?\*\[\(]*)?$/,kr=([r,e=""])=>{const t=Rr([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},Tr=([r,e=""])=>{const t=Ir([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},Nr=([r,e=""])=>{const t=Ir([r]);return e?r=>t(r)&&r.endsWith(e):t},Br=([r,e=""])=>{const t=Rr([r]);return e?r=>t(r)&&r.endsWith(e):t},Rr=([r])=>{const e=r.length;return r=>r.length===e&&!r.startsWith(".")},Ir=([r])=>{const e=r.length;return r=>r.length===e&&"."!==r&&".."!==r},Or="object"==typeof dr&&dr?"object"==typeof dr.env&&dr.env&&dr.env.__MINIMATCH_TESTING_PLATFORM__||dr.platform:"posix";mr.sep="win32"===Or?"\\":"/";const jr=Symbol("globstar **");mr.GLOBSTAR=jr;const _r={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},Fr="[^/]",Vr=Fr+"*?",Ur=r=>r.split("").reduce(((r,e)=>(r[e]=!0,r)),{}),Mr=Ur("().*{}+?[]^$\\!"),Pr=Ur("[.(");mr.filter=(r,e={})=>t=>mr(t,r,e);const Gr=(r,e={})=>Object.assign({},r,e);mr.defaults=r=>{if(!r||"object"!=typeof r||!Object.keys(r).length)return mr;const e=mr;return Object.assign(((t,o,a={})=>e(t,o,Gr(r,a))),{Minimatch:class extends e.Minimatch{constructor(e,t={}){super(e,Gr(r,t))}static defaults(t){return e.defaults(Gr(r,t)).Minimatch}},unescape:(t,o={})=>e.unescape(t,Gr(r,o)),escape:(t,o={})=>e.escape(t,Gr(r,o)),filter:(t,o={})=>e.filter(t,Gr(r,o)),defaults:t=>e.defaults(Gr(r,t)),makeRe:(t,o={})=>e.makeRe(t,Gr(r,o)),braceExpand:(t,o={})=>e.braceExpand(t,Gr(r,o)),match:(t,o,a={})=>e.match(t,o,Gr(r,a)),sep:e.sep,GLOBSTAR:jr})};const Hr=(r,e={})=>(zr(r),e.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:ir(r));mr.braceExpand=Hr;const zr=r=>{if("string"!=typeof r)throw new TypeError("invalid pattern");if(r.length>65536)throw new TypeError("pattern is too long")};mr.makeRe=(r,e={})=>new $r(r,e).makeRe(),mr.match=(r,e,t={})=>{const o=new $r(e,t);return r=r.filter((r=>o.match(r))),o.options.nonull&&!r.length&&r.push(e),r};const Zr=/[?*]|[+@!]\(.*?\)|\[|\]/,Wr=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class $r{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(r,e={}){zr(r),e=e||{},this.options=e,this.pattern=r,this.platform=e.platform||Or,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const r of this.set)for(const e of r)if("string"!=typeof e)return!0;return!1}debug(...r){}make(){const r=this.pattern,e=this.options;if(!e.nocomment&&"#"===r.charAt(0))return void(this.comment=!0);if(!r)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>gr.error(...r)),this.debug(this.pattern,this.globSet);const t=this.globSet.map((r=>this.slashSplit(r)));this.globParts=this.preprocess(t),this.debug(this.pattern,this.globParts);let o=this.globParts.map(((r,e,t)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==r[0]||""!==r[1]||"?"!==r[2]&&Zr.test(r[2])||Zr.test(r[3])),t=/^[a-z]:/i.test(r[0]);if(e)return[...r.slice(0,4),...r.slice(4).map((r=>this.parse(r)))];if(t)return[r[0],...r.slice(1).map((r=>this.parse(r)))]}return r.map((r=>this.parse(r)))}));if(this.debug(this.pattern,o),this.set=o.filter((r=>-1===r.indexOf(!1))),this.isWindows)for(let r=0;r=2?(r=this.firstPhasePreProcess(r),r=this.secondPhasePreProcess(r)):r=e>=1?this.levelOneOptimize(r):this.adjascentGlobstarOptimize(r),r}adjascentGlobstarOptimize(r){return r.map((r=>{let e=-1;for(;-1!==(e=r.indexOf("**",e+1));){let t=e;for(;"**"===r[t+1];)t++;t!==e&&r.splice(e,t-e)}return r}))}levelOneOptimize(r){return r.map((r=>0===(r=r.reduce(((r,e)=>{const t=r[r.length-1];return"**"===e&&"**"===t?r:".."===e&&t&&".."!==t&&"."!==t&&"**"!==t?(r.pop(),r):(r.push(e),r)}),[])).length?[""]:r))}levelTwoFileOptimize(r){Array.isArray(r)||(r=this.slashSplit(r));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let t=1;to&&t.splice(o+1,a-o);let s=t[o+1];const n=t[o+2],i=t[o+3];if(".."!==s)continue;if(!n||"."===n||".."===n||!i||"."===i||".."===i)continue;e=!0,t.splice(o,1);const c=t.slice(0);c[o]="**",r.push(c),o--}if(!this.preserveMultipleSlashes){for(let r=1;rr.length))}partsMatch(r,e,t=!1){let o=0,a=0,s=[],n="";for(;o=2&&(r=this.levelTwoFileOptimize(r)),this.debug("matchOne",this,{file:r,pattern:e}),this.debug("matchOne",r.length,e.length);for(var s=0,n=0,i=r.length,c=e.length;s>> no match, partial?",r,p,e,d),p!==i))}let a;if("string"==typeof l?(a=u===l,this.debug("string match",l,u,a)):(a=l.test(u),this.debug("pattern match",l,u,a)),!a)return!1}if(s===i&&n===c)return!0;if(s===i)return t;if(n===c)return s===i-1&&""===r[s];throw new Error("wtf?")}braceExpand(){return Hr(this.pattern,this.options)}parse(r){zr(r);const e=this.options;if("**"===r)return jr;if(""===r)return"";let t,o=null;(t=r.match(xr))?o=e.dot?Sr:Er:(t=r.match(hr))?o=(e.nocase?e.dot?yr:vr:e.dot?br:fr)(t[1]):(t=r.match(Lr))?o=(e.nocase?e.dot?Tr:kr:e.dot?Nr:Br)(t):(t=r.match(Ar))?o=e.dot?Dr:wr:(t=r.match(Cr))&&(o=qr);let a="",s=!1,n=!1;const i=[],c=[];let l,u=!1,p=!1,d="."===r.charAt(0),g=e.dot||d;const m=r=>"."===r.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",h=()=>{if(u){switch(u){case"*":a+=Vr,s=!0;break;case"?":a+=Fr,s=!0;break;default:a+="\\"+u}this.debug("clearStateChar %j %j",u,a),u=!1}};for(let t,o=0;o(t||(t="\\"),e+e+t+"|"))),this.debug("tail=%j\n %s",r,r,l,a);const e="*"===l.type?Vr:"?"===l.type?Fr:"\\"+l.type;s=!0,a=a.slice(0,l.reStart)+e+"\\("+r}h(),n&&(a+="\\\\");const f=Pr[a.charAt(0)];for(let r=c.length-1;r>-1;r--){const e=c[r],t=a.slice(0,e.reStart),o=a.slice(e.reStart,e.reEnd-8);let s=a.slice(e.reEnd);const n=a.slice(e.reEnd-8,e.reEnd)+s,i=t.split(")").length,l=t.split("(").length-i;let u=s;for(let r=0;r{const e=r.map((r=>"string"==typeof r?Wr(r):r===jr?jr:r._src));return e.forEach(((r,o)=>{const a=e[o+1],s=e[o-1];r===jr&&s!==jr&&(void 0===s?void 0!==a&&a!==jr?e[o+1]="(?:\\/|"+t+"\\/)?"+a:e[o]=t:void 0===a?e[o-1]=s+"(?:\\/|"+t+")?":a!==jr&&(e[o-1]=s+"(?:\\/|\\/"+t+"\\/)"+a,e[o+1]=jr))})),e.filter((r=>r!==jr)).join("/")})).join("|");a="^(?:"+a+")$",this.negate&&(a="^(?!"+a+").*$");try{this.regexp=new RegExp(a,o)}catch(r){this.regexp=!1}return this.regexp}slashSplit(r){return this.preserveMultipleSlashes?r.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(r)?["",...r.split(/\/+/)]:r.split(/\/+/)}match(r,e=this.partial){if(this.debug("match",r,this.pattern),this.comment)return!1;if(this.empty)return""===r;if("/"===r&&e)return!0;const t=this.options;this.isWindows&&(r=r.split("\\").join("/"));const o=this.slashSplit(r);this.debug(this.pattern,"split",o);const a=this.set;this.debug(this.pattern,"set",a);let s=o[o.length-1];if(!s)for(let r=o.length-2;!s&&r>=0;r--)s=o[r];for(let r=0;re?r.replace(/[?*()[\]]/g,"[$&]"):r.replace(/[?*()[\]\\]/g,"\\$&"),mr.unescape=(r,{windowsPathsNoEscape:e=!1}={})=>e?r.replace(/\[([^\/\\])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Jr,Qr=o(23722),Xr=(o(16932),o(65070),o(97501),o(86492)),Kr=o(62639);!function(r){r.Array="array",r.Object="object",r.Original="original"}(Jr||(Jr={}));const re=async function(r,e){let{resourceType:t,resourceId:o}=r;const a=["",t,o].join("/"),s=e.datetime?`${e.datetime.toISOString()}`:"",n=await M.customRequest(a,Object.assign({method:"REPORT",data:`\n\t\t\t\n\t\t\t\t${e.limit??20}\n\t\t\t\t${e.offset||0}\n\t\t\t\t${s}\n\t\t\t`},e)),i=await n.text(),c=await(0,U.sw)(i);return function(r,e,t=!1){return t?{data:e,headers:r.headers?Yr(r.headers):{},status:r.status,statusText:r.statusText}:e}(n,ee(c,!0),!0)},ee=function(r){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:t}}=r;return t.map((r=>{const{propstat:{prop:t}}=r;return function(r,e,t=!1){const{getlastmodified:o=null,getcontentlength:a="0",resourcetype:s=null,getcontenttype:n=null,getetag:i=null}=r,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l=function(r){if((0,Kr.$)()){const e=document.createElement("textarea");return e.innerHTML=r,e.value}return Xr.decode(r)}(e),u={filename:l,basename:Qr.basename(l),lastmod:o,size:parseInt(a,10),type:c,etag:"string"==typeof i?i.replace(/"/g,""):null};return"file"===c&&(u.mime=n&&"string"==typeof n?n.split(";")[0]:""),t&&(u.props=r),u}(t,t.id.toString(),e)}))};var te=o(43554);const oe=(0,n.defineComponent)({props:{resourceId:{type:Number,required:!0},resourceType:{type:String,default:"files"}},data:()=>({editorData:{actorDisplayName:(0,s.ts)().displayName,actorId:(0,s.ts)().uid,key:"editor"},userData:{}}),methods:{async autoComplete(r,e){const{data:t}=await V.Z.get((0,j.generateOcsUrl)("core/autocomplete/get"),{params:{search:r,itemType:"files",itemId:this.resourceId,sorter:"commenters|share-recipients",limit:(0,te.j)("comments","maxAutoCompleteResults")}});return t.ocs.data.forEach((r=>{this.userData[r.id]=r})),e(Object.values(this.userData))},genMentionsData(r){return Object.values(r).flat().forEach((r=>{this.userData[r.mentionId]={icon:"icon-user",id:r.mentionId,label:r.mentionDisplayName,source:"users",primary:(0,s.ts)()?.uid===r.mentionId}})),this.userData}}});var ae=o(25108);n.default.use(c.ZP),n.default.use(A);const se={name:"Comments",components:{Comment:nr,NcEmptyContent:w.Z,NcButton:D.Z,RefreshIcon:x,MessageReplyTextIcon:S,AlertCircleOutlineIcon:L.default},mixins:[oe],data:()=>({error:"",loading:!1,done:!1,resourceId:null,offset:0,comments:[],cancelRequest:()=>{},Comment:nr,userData:{}}),computed:{hasComments(){return this.comments.length>0},isFirstLoading(){return this.loading&&0===this.offset}},methods:{t:a.Iu,async onVisibilityChange(r){if(r)try{await((r,e,t)=>{const o=["",r,e].join("/"),a=t.toUTCString();return M.customRequest(o,{method:"PROPPATCH",data:`\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${a}\n\t\t\t\t\n\t\t\t\n\t\t\t`})})(this.resourceType,this.resourceId,new Date)}catch(r){(0,i.x2)(r.message||(0,a.Iu)("comments","Failed to mark comments as read"))}},async update(r){this.resourceId=r,this.resetState(),this.getComments()},onScrollBottomReached(){this.error||this.done||this.loading||this.getComments()},async getComments(){this.cancelRequest("cancel");try{this.loading=!0,this.error="";const{request:r,abort:e}=function(r){const e=new AbortController,t=e.signal;return{request:async function(e,o){return await r(e,Object.assign({signal:t},o))},abort:()=>e.abort()}}(re);this.cancelRequest=e;const{data:t}=await r({resourceType:this.resourceType,resourceId:this.resourceId},{offset:this.offset})||{data:[]};this.logger.debug(`Processed ${t.length} comments`,{comments:t}),t.length<20&&(this.done=!0),this.comments.push(...t),this.offset+=20}catch(r){if("cancel"===r.message)return;this.error=(0,a.Iu)("comments","Unable to load the comments list"),ae.error("Error loading the comments list",r)}finally{this.loading=!1}},onNewComment(r){this.comments.unshift(r)},onDelete(r){const e=this.comments.findIndex((e=>e.props.id===r));e>-1?this.comments.splice(e,1):ae.error("Could not find the deleted comment in the list",r)},resetState(){this.error="",this.loading=!1,this.done=!1,this.offset=0,this.comments=[]}}};var ne=o(28559),ie={};ie.styleTagTransform=or(),ie.setAttributes=K(),ie.insert=Q().bind(null,"head"),ie.domAPI=Y(),ie.insertStyleElement=er(),W()(ne.Z,ie),ne.Z&&ne.Z.locals&&ne.Z.locals;const ce=(0,q.Z)(se,(function(){var r=this,e=r._self._c;return e("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:r.onVisibilityChange,expression:"onVisibilityChange"}],staticClass:"comments",class:{"icon-loading":r.isFirstLoading}},[e("Comment",r._b({staticClass:"comments__writer",attrs:{"auto-complete":r.autoComplete,"resource-type":r.resourceType,editor:!0,"user-data":r.userData,"resource-id":r.resourceId},on:{new:r.onNewComment}},"Comment",r.editorData,!1)),r._v(" "),r.isFirstLoading?r._e():[!r.hasComments&&r.done?e("NcEmptyContent",{staticClass:"comments__empty",attrs:{name:r.t("comments","No comments yet, start the conversation!")},scopedSlots:r._u([{key:"icon",fn:function(){return[e("MessageReplyTextIcon")]},proxy:!0}],null,!1,1033639148)}):e("ul",r._l(r.comments,(function(t){return e("Comment",r._b({key:t.props.id,staticClass:"comments__list",attrs:{tag:"li","auto-complete":r.autoComplete,"resource-type":r.resourceType,message:t.props.message,"resource-id":r.resourceId,"user-data":r.genMentionsData(t.props.mentions)},on:{"update:message":function(e){return r.$set(t.props,"message",e)},delete:r.onDelete}},"Comment",t.props,!1))})),1),r._v(" "),r.loading&&!r.isFirstLoading?e("div",{staticClass:"comments__info icon-loading"}):r.hasComments&&r.done?e("div",{staticClass:"comments__info"},[r._v("\n\t\t\t"+r._s(r.t("comments","No more messages"))+"\n\t\t")]):r.error?[e("NcEmptyContent",{staticClass:"comments__error",attrs:{name:r.error},scopedSlots:r._u([{key:"icon",fn:function(){return[e("AlertCircleOutlineIcon")]},proxy:!0}],null,!1,66050004)}),r._v(" "),e("NcButton",{staticClass:"comments__retry",on:{click:r.getComments},scopedSlots:r._u([{key:"icon",fn:function(){return[e("RefreshIcon")]},proxy:!0}],null,!1,3924573781)},[r._v("\n\t\t\t\t"+r._s(r.t("comments","Retry"))+"\n\t\t\t")])]:r._e()]],2)}),[],!1,null,"b2489a3c",null).exports;o.nc=btoa((0,s.IH)()),n.default.mixin({data:()=>({logger:P}),methods:{t:a.Iu,n:a.uN}});var le=o(25108);window.OCA&&!window.OCA.Comments&&Object.assign(window.OCA,{Comments:{}}),Object.assign(window.OCA.Comments,{View:class{constructor(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e={...e,propsData:{...e.propsData??{},resourceType:r}},new(n.default.extend(ce))(e)}}}),le.debug("OCA.Comments.View initialized")},5623:r=>{"use strict";function e(r,e,a){r instanceof RegExp&&(r=t(r,a)),e instanceof RegExp&&(e=t(e,a));var s=o(r,e,a);return s&&{start:s[0],end:s[1],pre:a.slice(0,s[0]),body:a.slice(s[0]+r.length,s[1]),post:a.slice(s[1]+e.length)}}function t(r,e){var t=e.match(r);return t?t[0]:null}function o(r,e,t){var o,a,s,n,i,c=t.indexOf(r),l=t.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(r===e)return[c,l];for(o=[],s=t.length;u>=0&&!i;)u==c?(o.push(u),c=t.indexOf(r,u+1)):1==o.length?i=[o.pop(),l]:((a=o.pop())=0?c:l;o.length&&(i=[s,n])}return i}r.exports=e,e.range=o},97501:function(r,e,t){var o;r=t.nmd(r),function(a){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=function(r){this.message=r};(n.prototype=new Error).name="InvalidCharacterError";var i=function(r){throw new n(r)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=/[\t\n\f\r ]/g,u={encode:function(r){r=String(r),/[^\0-\xFF]/.test(r)&&i("The string to be encoded contains characters outside of the Latin1 range.");for(var e,t,o,a,s=r.length%3,n="",l=-1,u=r.length-s;++l>18&63)+c.charAt(a>>12&63)+c.charAt(a>>6&63)+c.charAt(63&a);return 2==s?(e=r.charCodeAt(l)<<8,t=r.charCodeAt(++l),n+=c.charAt((a=e+t)>>10)+c.charAt(a>>4&63)+c.charAt(a<<2&63)+"="):1==s&&(a=r.charCodeAt(l),n+=c.charAt(a>>2)+c.charAt(a<<4&63)+"=="),n},decode:function(r){var e=(r=String(r).replace(l,"")).length;e%4==0&&(e=(r=r.replace(/==?$/,"")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(r))&&i("Invalid character: the string to be decoded is not correctly encoded.");for(var t,o,a=0,s="",n=-1;++n>(-2*a&6)));return s},version:"1.0.0"};void 0===(o=function(){return u}.call(e,t,e,r))||(r.exports=o)}()},33607:(r,e,t)=>{"use strict";t.d(e,{Z:()=>i});var o=t(87537),a=t.n(o),s=t(23645),n=t.n(s)()(a());n.push([r.id,".comment[data-v-48179670]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-48179670]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-48179670]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-48179670]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-48179670]{margin-left:10px !important}.comment__author[data-v-48179670]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-48179670],.comment__timestamp[data-v-48179670]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-48179670]{position:relative}.comment__editor-description[data-v-48179670]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-48179670]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-48179670]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-48179670]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-48179670]{min-height:44px;margin:0;padding:10px}","",{version:3,sources:["webpack://./apps/comments/src/components/Comment.vue"],names:[],mappings:"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB",sourcesContent:['\n@use "sass:math";\n\n$comment-padding: 10px;\n\n.comment {\n\tdisplay: flex;\n\tgap: 8px;\n\tpadding: 5px $comment-padding;\n\n\t&__side {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tpadding-top: 6px;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\tflex-direction: column;\n\t}\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\t}\n\n\t&__actions {\n\t\tmargin-left: $comment-padding !important;\n\t}\n\n\t&__author {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&_loading,\n\t&__timestamp {\n\t\tmargin-left: auto;\n\t\ttext-align: right;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__editor-group {\n\t\tposition: relative;\n\t}\n\n\t&__editor-description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding-block: var(--default-grid-baseline);\n\t}\n\n\t&__submit {\n\t\tposition: absolute !important;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t&__message {\n\t\twhite-space: pre-wrap;\n\t\tword-break: break-word;\n\t\tmax-height: 70px;\n\t\toverflow: hidden;\n\t\tmargin-top: -6px;\n\t\t&--expanded {\n\t\t\tmax-height: none;\n\t\t\toverflow: visible;\n\t\t}\n\t}\n}\n\n.rich-contenteditable__input {\n\tmin-height: 44px;\n\tmargin: 0;\n\tpadding: $comment-padding;\n}\n\n'],sourceRoot:""}]);const i=n},28559:(r,e,t)=>{"use strict";t.d(e,{Z:()=>i});var o=t(87537),a=t.n(o),s=t(23645),n=t.n(s)()(a());n.push([r.id,".comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}","",{version:3,sources:["webpack://./apps/comments/src/views/Comments.vue"],names:[],mappings:"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA",sourcesContent:["\n.comments {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__empty,\n\t&__error {\n\t\tflex: 1 0;\n\t}\n\n\t&__retry {\n\t\tmargin: 0 auto;\n\t}\n\n\t&__info {\n\t\theight: 60px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\ttext-align: center;\n\t\tline-height: 60px;\n\t}\n}\n"],sourceRoot:""}]);const i=n},16932:(r,e,t)=>{"use strict";const o=t(78501),a=t(58844),s=t(41192);r.exports={XMLParser:a,XMLValidator:o,XMLBuilder:s}},86492:function(r,e,t){var o;r=t.nmd(r),function(a){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},g=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,h=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,f={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},y=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],A=String.fromCharCode,w={}.hasOwnProperty,D=function(r,e){return w.call(r,e)},C=function(r,e){if(!r)return e;var t,o={};for(t in e)o[t]=D(r,t)?r[t]:e[t];return o},q=function(r,e){var t="";return r>=55296&&r<=57343||r>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):D(v,r)?(e&&S("disallowed character reference"),v[r]):(e&&function(r,e){for(var t=-1,o=r.length;++t65535&&(t+=A((r-=65536)>>>10&1023|55296),r=56320|1023&r),t+=A(r))},x=function(r){return"&#x"+r.toString(16).toUpperCase()+";"},E=function(r){return"&#"+r+";"},S=function(r){throw Error("Parse error: "+r)},L=function(r,e){(e=C(e,L.options)).strict&&m.test(r)&&S("forbidden code point");var t=e.encodeEverything,o=e.useNamedReferences,a=e.allowUnsafeSymbols,s=e.decimal?E:x,d=function(r){return s(r.charCodeAt(0))};return t?(r=r.replace(i,(function(r){return o&&D(u,r)?"&"+u[r]+";":d(r)})),o&&(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),o&&(r=r.replace(l,(function(r){return"&"+u[r]+";"})))):o?(a||(r=r.replace(p,(function(r){return"&"+u[r]+";"}))),r=(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(l,(function(r){return"&"+u[r]+";"}))):a||(r=r.replace(p,d)),r.replace(n,(function(r){var e=r.charCodeAt(0),t=r.charCodeAt(1);return s(1024*(e-55296)+t-56320+65536)})).replace(c,d)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var k=function(r,e){var t=(e=C(e,k.options)).strict;return t&&g.test(r)&&S("malformed character reference"),r.replace(h,(function(r,o,a,s,n,i,c,l,u){var p,d,g,m,h,v;return o?f[h=o]:a?(h=a,(v=s)&&e.isAttributeValue?(t&&"="==v&&S("`&` did not start a character reference"),r):(t&&S("named character reference was not terminated by a semicolon"),b[h]+(v||""))):n?(g=n,d=i,t&&!d&&S("character reference was not terminated by a semicolon"),p=parseInt(g,10),q(p,t)):c?(m=c,d=l,t&&!d&&S("character reference was not terminated by a semicolon"),p=parseInt(m,16),q(p,t)):(t&&S("named character reference was not terminated by a semicolon"),r)}))};k.options={isAttributeValue:!1,strict:!1};var T={version:"1.2.0",encode:L,decode:k,escape:function(r){return r.replace(p,(function(r){return d[r]}))},unescape:k};void 0===(o=function(){return T}.call(e,t,e,r))||(r.exports=o)}()},65070:r=>{"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e(r)}function t(r){var e="function"==typeof Map?new Map:void 0;return t=function(r){if(null===r||(t=r,-1===Function.toString.call(t).indexOf("[native code]")))return r;var t;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return o(r,arguments,s(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),a(n,r)},t(r)}function o(r,e,t){return o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}()?Reflect.construct:function(r,e,t){var o=[null];o.push.apply(o,e);var s=new(Function.bind.apply(r,o));return t&&a(s,t.prototype),s},o.apply(null,arguments)}function a(r,e){return a=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},a(r,e)}function s(r){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},s(r)}var n=function(r){function t(r){var o;return function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),(o=function(r,t){return!t||"object"!==e(t)&&"function"!=typeof t?function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r):t}(this,s(t).call(this,r))).name="ObjectPrototypeMutationError",o}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&a(r,e)}(t,r),t}(t(Error));function i(r,t){for(var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},a=t.split("."),s=a.length,n=function(e){var t=a[e];if(!r)return{v:void 0};if("+"===t){if(Array.isArray(r))return{v:r.map((function(t,s){var n=a.slice(e+1);return n.length>0?i(t,n.join("."),o):o(r,s,a,e)}))};var s=a.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}r=o(r,t,a,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;if("number"==typeof t)return t in r;try{var a=!1;return i(r,t,(function(r,e,t,s){if(!c(t,s))return r&&r[e];a=o.own?r.hasOwnProperty(e):e in r})),a}catch(r){return!1}},hasOwn:function(r,e,t){return this.has(r,e,t||{own:!0})},isIn:function(r,t,o){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;try{var s=!1,n=!1;return i(r,t,(function(r,t,a,i){return s=s||r===o||!!r&&r[t]===o,n=c(a,i)&&"object"===e(r)&&t in r,r&&r[t]})),a.validPath?s&&n:s}catch(r){return!1}},ObjectPrototypeMutationError:n}},23722:(r,e,t)=>{"use strict";var o=t(34155),a=t(89539),s=function(r){return"string"==typeof r};function n(r,e){for(var t=[],o=0;o=-1&&!e;t--){var a=t>=0?arguments[t]:o.cwd();if(!s(a))throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,e="/"===a.charAt(0))}return(e?"/":"")+(r=n(r.split("/"),!e).join("/"))||"."},c.normalize=function(r){var e=c.isAbsolute(r),t="/"===r.substr(-1);return(r=n(r.split("/"),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},c.isAbsolute=function(r){return"/"===r.charAt(0)},c.join=function(){for(var r="",e=0;e=0&&""===r[t];t--);return e>t?[]:r.slice(e,t+1)}r=c.resolve(r).substr(1),e=c.resolve(e).substr(1);for(var o=t(r.split("/")),a=t(e.split("/")),s=Math.min(o.length,a.length),n=s,i=0;i{var o=t(5623);r.exports=function(r){return r?("{}"===r.substr(0,2)&&(r="\\{\\}"+r.substr(2)),f(function(r){return r.split("\\\\").join(a).split("\\{").join(s).split("\\}").join(n).split("\\,").join(i).split("\\.").join(c)}(r),!0).map(u)):[]};var a="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",i="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function u(r){return r.split(a).join("\\").split(s).join("{").split(n).join("}").split(i).join(",").split(c).join(".")}function p(r){if(!r)return[""];var e=[],t=o("{","}",r);if(!t)return r.split(",");var a=t.pre,s=t.body,n=t.post,i=a.split(",");i[i.length-1]+="{"+s+"}";var c=p(n);return n.length&&(i[i.length-1]+=c.shift(),i.push.apply(i,c)),e.push.apply(e,i),e}function d(r){return"{"+r+"}"}function g(r){return/^-?0\d/.test(r)}function m(r,e){return r<=e}function h(r,e){return r>=e}function f(r,e){var t=[],a=o("{","}",r);if(!a)return[r];var s=a.pre,i=a.post.length?f(a.post,!1):[""];if(/\$$/.test(a.pre))for(var c=0;c=0;if(!w&&!D)return a.post.match(/,.*\}/)?f(r=a.pre+"{"+a.body+n+a.post):[r];if(w)b=a.body.split(/\.\./);else if(1===(b=p(a.body)).length&&1===(b=f(b[0],!1).map(d)).length)return i.map((function(r){return a.pre+b[0]+r}));if(w){var C=l(b[0]),q=l(b[1]),x=Math.max(b[0].length,b[1].length),E=3==b.length?Math.abs(l(b[2])):1,S=m;q0){var B=new Array(N+1).join("0");T=k<0?"-"+B+T.slice(1):B+T}}v.push(T)}}else{v=[];for(var R=0;R{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:r=>{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:r=>{"use strict";r.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="}},s={};function n(r){var e=s[r];if(void 0!==e)return e.exports;var t=s[r]={id:r,loaded:!1,exports:{}};return a[r].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=a,r=[],n.O=(e,t,o,a)=>{if(!t){var s=1/0;for(u=0;u=a)&&Object.keys(n.O).every((r=>n.O[r](t[c])))?t.splice(c--,1):(i=!1,a0&&r[u-1][2]>a;u--)r[u]=r[u-1];r[u]=[t,o,a]},n.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return n.d(e,{a:e}),e},n.d=(r,e)=>{for(var t in e)n.o(e,t)&&!n.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},n.f={},n.e=r=>Promise.all(Object.keys(n.f).reduce(((e,t)=>(n.f[t](r,e),e)),[])),n.u=r=>r+"-"+r+".js?v="+{923:"02b37a6174a781e7a8c2",5358:"c7fc5670e3cdb8b6d91e"}[r],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),n.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),e={},o="nextcloud:",n.l=(r,t,a,s)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==a)for(var l=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(g);var a=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach((r=>r(o))),t)return t(o)},g=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.nmd=r=>(r.paths=[],r.children||(r.children=[]),r),n.j=6335,(()=>{var r;n.g.importScripts&&(r=n.g.location+"");var e=n.g.document;if(!r&&e&&(e.currentScript&&(r=e.currentScript.src),!r)){var t=e.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!r;)r=t[o--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=r})(),(()=>{n.b=document.baseURI||self.location.href;var r={6335:0};n.f.j=(e,t)=>{var o=n.o(r,e)?r[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,a)=>o=r[e]=[t,a]));t.push(o[2]=a);var s=n.p+n.u(e),i=new Error;n.l(s,(t=>{if(n.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+a+": "+s+")",i.name="ChunkLoadError",i.type=a,i.request=s,o[1](i)}}),"chunk-"+e,e)}},n.O.j=e=>0===r[e];var e=(e,t)=>{var o,a,s=t[0],i=t[1],c=t[2],l=0;if(s.some((e=>0!==r[e]))){for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(c)var u=c(n)}for(e&&e(t);ln(23841)));i=n.O(i)})(); +//# sourceMappingURL=comments-comments-app.js.map?v=f744143af86700c714e7 \ No newline at end of file diff --git a/dist/comments-comments-app.js.map b/dist/comments-comments-app.js.map index d8d105ce965a4..3982ccf241ba4 100644 --- a/dist/comments-comments-app.js.map +++ b/dist/comments-comments-app.js.map @@ -1 +1 @@ -{"version":3,"file":"comments-comments-app.js?v=2fdc827aa0ecf93fb1d5","mappings":"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S,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,UAAU,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,KAAK,KAAe,MAAM,IAAS,KAAK,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,UAAU,KAAe,WAAW,IAAS,UAAU,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,UAAU,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,WAAW,IAAS,WAAW,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,WAAW,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAA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AQ,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,KAAK,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,SAAS,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,SAAS,EAAS,MAAM,EAAS,MAAM,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=6bf8414a","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=43cf8810","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?39d1","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/apps/comments/src/mixins/CommentView.ts","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack://nextcloud/./apps/comments/src/views/Comments.vue?ec1a","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.0\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=6bf8414a\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.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 refresh-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\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=43cf8810\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js\"\nexport * from \"./MessageReplyText.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 message-reply-text-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\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport logger from '../logger.js'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(resourceType, resourceId, commentId, message) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(resourceType, resourceId, commentId) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(resourceType, resourceId, message) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=48179670&scoped=true\"\nimport script from \"./Comment.vue?vue&type=script&lang=js\"\nexport * from \"./Comment.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48179670\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('NcDateTime',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp,\"ignore-seconds\":true}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '@ for mentions, : for emoji, / for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n const pos = position;\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression');\n }\n /* c8 ignore stop */\n const ranges = [];\n const negs = [];\n let i = pos + 1;\n let sawStart = false;\n let uflag = false;\n let escaping = false;\n let negate = false;\n let endPos = pos;\n let rangeStart = '';\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i);\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true;\n i++;\n continue;\n }\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1;\n break;\n }\n sawStart = true;\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true;\n i++;\n continue;\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true];\n }\n i += cls.length;\n if (neg)\n negs.push(unip);\n else\n ranges.push(unip);\n uflag = uflag || u;\n continue WHILE;\n }\n }\n }\n // now it's just a normal character, effectively\n escaping = false;\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n }\n else if (c === rangeStart) {\n ranges.push(braceEscape(c));\n }\n rangeStart = '';\n i++;\n continue;\n }\n // now might be the start of a range.\n // can be either c-d or c-] or c] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'));\n i += 2;\n continue;\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c;\n i += 2;\n continue;\n }\n // not the start of a range, just a single character\n ranges.push(braceEscape(c));\n i++;\n }\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false];\n }\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true];\n }\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n return [regexpEscape(r), false, endPos - pos, false];\n }\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n const comb = ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs;\n return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n assertValidPattern(pattern);\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false;\n }\n return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n ext = ext.toLowerCase();\n return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n ext = ext.toLowerCase();\n return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n if (!ext)\n return noext;\n ext = ext.toLowerCase();\n return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n const noext = qmarksTestNoExtDot([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n const noext = qmarksTestNoExt([$0]);\n return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n const len = $0.length;\n return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix');\nconst path = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n set[c] = true;\n return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch;\n }\n const orig = minimatch;\n const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern, options = {}) {\n super(pattern, ext(def, options));\n }\n static defaults(options) {\n return orig.defaults(ext(def, options)).Minimatch;\n }\n },\n unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n defaults: (options) => orig.defaults(ext(def, options)),\n makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR,\n });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n assertValidPattern(pattern);\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern];\n }\n return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern');\n }\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long');\n }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n const mm = new Minimatch(pattern, options);\n list = list.filter(f => mm.match(f));\n if (mm.options.nonull && !list.length) {\n list.push(pattern);\n }\n return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n options;\n set;\n pattern;\n windowsPathsNoEscape;\n nonegate;\n negate;\n comment;\n empty;\n preserveMultipleSlashes;\n partial;\n globSet;\n globParts;\n nocase;\n isWindows;\n platform;\n windowsNoMagicRoot;\n regexp;\n constructor(pattern, options = {}) {\n assertValidPattern(pattern);\n options = options || {};\n this.options = options;\n this.pattern = pattern;\n this.platform = options.platform || defaultPlatform;\n this.isWindows = this.platform === 'win32';\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/');\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n this.regexp = null;\n this.negate = false;\n this.nonegate = !!options.nonegate;\n this.comment = false;\n this.empty = false;\n this.partial = !!options.partial;\n this.nocase = !!this.options.nocase;\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase);\n this.globSet = [];\n this.globParts = [];\n this.set = [];\n // make the set of regexps etc.\n this.make();\n }\n hasMagic() {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true;\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string')\n return true;\n }\n }\n return false;\n }\n debug(..._) { }\n make() {\n const pattern = this.pattern;\n const options = this.options;\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true;\n return;\n }\n if (!pattern) {\n this.empty = true;\n return;\n }\n // step 1: figure out negation, etc.\n this.parseNegate();\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())];\n if (options.debug) {\n this.debug = (...args) => console.error(...args);\n }\n this.debug(this.pattern, this.globSet);\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n this.globParts = this.preprocess(rawGlobParts);\n this.debug(this.pattern, this.globParts);\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC = s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3]);\n const isDrive = /^[a-z]:/i.test(s[0]);\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n }\n else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n }\n }\n return s.map(ss => this.parse(ss));\n });\n this.debug(this.pattern, set);\n // filter out everything that didn't compile properly.\n this.set = set.filter(s => s.indexOf(false) === -1);\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i];\n if (p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])) {\n p[2] = '?';\n }\n }\n }\n this.debug(this.pattern, this.set);\n }\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*';\n }\n }\n }\n }\n const { optimizationLevel = 1 } = this.options;\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts);\n globParts = this.secondPhasePreProcess(globParts);\n }\n else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts);\n }\n else {\n globParts = this.adjascentGlobstarOptimize(globParts);\n }\n return globParts;\n }\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts) {\n return globParts.map(parts => {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs;\n while (parts[i + 1] === '**') {\n i++;\n }\n if (i !== gs) {\n parts.splice(gs, i - gs);\n }\n }\n return parts;\n });\n }\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts) {\n return globParts.map(parts => {\n parts = parts.reduce((set, part) => {\n const prev = set[set.length - 1];\n if (part === '**' && prev === '**') {\n return set;\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop();\n return set;\n }\n }\n set.push(part);\n return set;\n }, []);\n return parts.length === 0 ? [''] : parts;\n });\n }\n levelTwoFileOptimize(parts) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts);\n }\n let didSomething = false;\n do {\n didSomething = false;\n //
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","import axios from '@nextcloud/axios';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n    props: {\n        resourceId: {\n            type: Number,\n            required: true,\n        },\n        resourceType: {\n            type: String,\n            default: 'files',\n        },\n    },\n    data() {\n        return {\n            editorData: {\n                actorDisplayName: getCurrentUser().displayName,\n                actorId: getCurrentUser().uid,\n                key: 'editor',\n            },\n            userData: {},\n        };\n    },\n    methods: {\n        /**\n         * Autocomplete @mentions\n         *\n         * @param {string} search the query\n         * @param {Function} callback the callback to process the results with\n         */\n        async autoComplete(search, callback) {\n            const { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n                params: {\n                    search,\n                    itemType: 'files',\n                    itemId: this.resourceId,\n                    sorter: 'commenters|share-recipients',\n                    limit: loadState('comments', 'maxAutoCompleteResults'),\n                },\n            });\n            // Save user data so it can be used by the editor to replace mentions\n            data.ocs.data.forEach(user => { this.userData[user.id] = user; });\n            return callback(Object.values(this.userData));\n        },\n        /**\n         * Make sure we have all mentions as Array of objects\n         *\n         * @param mentions the mentions list\n         */\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        genMentionsData(mentions) {\n            Object.values(mentions)\n                .flat()\n                .forEach(mention => {\n                this.userData[mention.mentionId] = {\n                    // TODO: support groups\n                    icon: 'icon-user',\n                    id: mention.mentionId,\n                    label: mention.mentionDisplayName,\n                    source: 'users',\n                    primary: getCurrentUser()?.uid === mention.mentionId,\n                };\n            });\n            return this.userData;\n        },\n    },\n});\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (resourceType, resourceId, date) => {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(resourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=b2489a3c&scoped=true\"\nimport script from \"./Comments.vue?vue&type=script&lang=js\"\nexport * from \"./Comments.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b2489a3c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"editor\":true,\"user-data\":_vm.userData,\"resource-id\":_vm.resourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"message\":comment.props.message,\"resource-id\":_vm.resourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} resourceType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(resourceType = 'files', options = {}) {\n\t\t// Merge options and set `resourceType` property\n\t\toptions = {\n\t\t\t...options,\n\t\t\tpropsData: {\n\t\t\t\t...(options.propsData ?? {}),\n\t\t\t\tresourceType,\n\t\t\t},\n\t\t}\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comment[data-v-48179670]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-48179670]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-48179670]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-48179670]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-48179670]{margin-left:10px !important}.comment__author[data-v-48179670]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-48179670],.comment__timestamp[data-v-48179670]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-48179670]{position:relative}.comment__editor-description[data-v-48179670]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-48179670]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-48179670]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-48179670]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-48179670]{min-height:44px;margin:0;padding:10px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 8px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\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\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"5358\":\"8ea58c7886c9b4f45bd3\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6335;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6335: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(23841)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","getRequestToken","getLoggerBuilder","setApp","detectUser","build","id","message","resourceId","required","resourceType","data","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","async","commentId","commentPath","join","client","customRequest","assign","method","EditComment","logger","debug","error","showError","t","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","deleteFile","DeleteComment","onNewComment","newComment","resourcePath","response","axios","post","actorDisplayName","getCurrentUser","displayName","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","split","pop","comment","stat","details","NewComment","localMessage","components","ArrowRight","NcActionButton","NcActions","NcActionSeparator","NcAvatar","NcButton","NcDateTime","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","computed","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","timestamp","parse","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","fn","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","charAt","Error","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","push","test","slice","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","keys","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","levelTwoFileOptimize","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","output","PropertyType","getComments","_ref","datetime","toISOString","limit","offset","responseData","text","parseXML","isDetailed","status","statusText","processResponsePayload","getDirectoryFiles","multistatus","responseItems","item","propstat","prop","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","getcontenttype","mimeType","getetag","etag","collection","txt","document","createElement","innerHTML","he","decode","decodeHTMLEntities","basename","lastmod","mime","prepareFileFromProps","defineComponent","editorData","search","generateOcsUrl","params","itemType","itemId","sorter","loadState","ocs","user","values","genMentionsData","mentions","flat","mention","mentionId","icon","label","mentionDisplayName","source","primary","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","CommentView","done","comments","cancelRequest","hasComments","isFirstLoading","onVisibilityChange","isVisible","markCommentsAsRead","date","readMarker","resetState","onScrollBottomReached","request","abort","controller","AbortController","signal","url","cancelableRequest","unshift","index","findIndex","_l","$set","__webpack_nonce__","btoa","mixin","OCA","Comments","View","propsData","extend","CommentsApp","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","exports","root","freeGlobal","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","input","buffer","padding","charCodeAt","bitStorage","bitCounter","fromCharCode","___CSS_LOADER_EXPORT___","validator","XMLParser","XMLBuilder","XMLValidator","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","hasOwnProperty","has","object","propertyName","merge","codePointToSymbol","codePoint","strict","parseError","array","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","_wrapNativeSuper","Class","_cache","Map","Wrapper","_construct","_getPrototypeOf","create","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","err","own","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","to","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","Promise","all","promises","globalThis","l","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"comments-comments-app.js?v=f744143af86700c714e7","mappings":"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S,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,UAAU,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,KAAK,KAAe,MAAM,IAAS,KAAK,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,UAAU,KAAe,WAAW,IAAS,UAAU,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,UAAU,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,WAAW,IAAS,WAAW,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,WAAW,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAA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AQ,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,KAAK,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,SAAS,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,SAAS,EAAS,MAAM,EAAS,MAAM,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,MA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=6bf8414a","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MessageReplyText.vue?2121","webpack:///nextcloud/node_modules/vue-material-design-icons/MessageReplyText.vue?vue&type=template&id=43cf8810","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?39d1","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/apps/comments/src/mixins/CommentView.ts","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/comments/src/services/ReadComments.ts","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack://nextcloud/./apps/comments/src/views/Comments.vue?ec1a","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","function _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n  var options;\n\n  if (typeof value === 'function') {\n    // Simple options (callback-only)\n    options = {\n      callback: value\n    };\n  } else {\n    // Options object\n    options = value;\n  }\n\n  return options;\n}\nfunction throttle(callback, delay) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var timeout;\n  var lastState;\n  var currentArgs;\n\n  var throttled = function throttled(state) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    currentArgs = args;\n    if (timeout && state === lastState) return;\n    var leading = options.leading;\n\n    if (typeof leading === 'function') {\n      leading = leading(state, lastState);\n    }\n\n    if ((!timeout || state !== lastState) && leading) {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n    }\n\n    lastState = state;\n    clearTimeout(timeout);\n    timeout = setTimeout(function () {\n      callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n      timeout = 0;\n    }, delay);\n  };\n\n  throttled._clear = function () {\n    clearTimeout(timeout);\n    timeout = null;\n  };\n\n  return throttled;\n}\nfunction deepEqual(val1, val2) {\n  if (val1 === val2) return true;\n\n  if (_typeof(val1) === 'object') {\n    for (var key in val1) {\n      if (!deepEqual(val1[key], val2[key])) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n  function VisibilityState(el, options, vnode) {\n    _classCallCheck(this, VisibilityState);\n\n    this.el = el;\n    this.observer = null;\n    this.frozen = false;\n    this.createObserver(options, vnode);\n  }\n\n  _createClass(VisibilityState, [{\n    key: \"createObserver\",\n    value: function createObserver(options, vnode) {\n      var _this = this;\n\n      if (this.observer) {\n        this.destroyObserver();\n      }\n\n      if (this.frozen) return;\n      this.options = processOptions(options);\n\n      this.callback = function (result, entry) {\n        _this.options.callback(result, entry);\n\n        if (result && _this.options.once) {\n          _this.frozen = true;\n\n          _this.destroyObserver();\n        }\n      }; // Throttle\n\n\n      if (this.callback && this.options.throttle) {\n        var _ref = this.options.throttleOptions || {},\n            _leading = _ref.leading;\n\n        this.callback = throttle(this.callback, this.options.throttle, {\n          leading: function leading(state) {\n            return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n          }\n        });\n      }\n\n      this.oldResult = undefined;\n      this.observer = new IntersectionObserver(function (entries) {\n        var entry = entries[0];\n\n        if (entries.length > 1) {\n          var intersectingEntry = entries.find(function (e) {\n            return e.isIntersecting;\n          });\n\n          if (intersectingEntry) {\n            entry = intersectingEntry;\n          }\n        }\n\n        if (_this.callback) {\n          // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n          var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n          if (result === _this.oldResult) return;\n          _this.oldResult = result;\n\n          _this.callback(result, entry);\n        }\n      }, this.options.intersection); // Wait for the element to be in document\n\n      vnode.context.$nextTick(function () {\n        if (_this.observer) {\n          _this.observer.observe(_this.el);\n        }\n      });\n    }\n  }, {\n    key: \"destroyObserver\",\n    value: function destroyObserver() {\n      if (this.observer) {\n        this.observer.disconnect();\n        this.observer = null;\n      } // Cancel throttled call\n\n\n      if (this.callback && this.callback._clear) {\n        this.callback._clear();\n\n        this.callback = null;\n      }\n    }\n  }, {\n    key: \"threshold\",\n    get: function get() {\n      return this.options.intersection && typeof this.options.intersection.threshold === 'number' ? this.options.intersection.threshold : 0;\n    }\n  }]);\n\n  return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n  var value = _ref2.value;\n  if (!value) return;\n\n  if (typeof IntersectionObserver === 'undefined') {\n    console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n  } else {\n    var state = new VisibilityState(el, value, vnode);\n    el._vue_visibilityState = state;\n  }\n}\n\nfunction update(el, _ref3, vnode) {\n  var value = _ref3.value,\n      oldValue = _ref3.oldValue;\n  if (deepEqual(value, oldValue)) return;\n  var state = el._vue_visibilityState;\n\n  if (!value) {\n    unbind(el);\n    return;\n  }\n\n  if (state) {\n    state.createObserver(value, vnode);\n  } else {\n    bind(el, {\n      value: value\n    }, vnode);\n  }\n}\n\nfunction unbind(el) {\n  var state = el._vue_visibilityState;\n\n  if (state) {\n    state.destroyObserver();\n    delete el._vue_visibilityState;\n  }\n}\n\nvar ObserveVisibility = {\n  bind: bind,\n  update: update,\n  unbind: unbind\n};\n\nfunction install(Vue) {\n  Vue.directive('observe-visibility', ObserveVisibility);\n  /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n  // eslint-disable-next-line no-undef\n  version: \"1.0.0\",\n  install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n  GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n  GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n  GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=6bf8414a\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.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 refresh-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\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MessageReplyText.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./MessageReplyText.vue?vue&type=template&id=43cf8810\"\nimport script from \"./MessageReplyText.vue?vue&type=script&lang=js\"\nexport * from \"./MessageReplyText.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 message-reply-text-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\":\"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\nimport NewComment from '../services/NewComment.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\nimport logger from '../logger.js'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tresourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'files',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.resourceType, this.resourceId, this.id, message)\n\t\t\t\tlogger.debug('Comment edited', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.resourceType, this.resourceId, this.id)\n\t\t\t\tlogger.debug('Comment deleted', { resourceType: this.resourceType, resourceId: this.resourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.resourceType, this.resourceId, message)\n\t\t\t\tlogger.debug('New comment posted', { resourceType: this.resourceType, resourceId: this.resourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Edit an existing comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(resourceType, resourceId, commentId, message) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient.js'\n\n/**\n * Delete a comment\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(resourceType, resourceId, commentId) {\n\tconst commentPath = ['', resourceType, resourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} resourceType the resource type\n * @param {number} resourceId the resource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(resourceType, resourceId, message) {\n\tconst resourcePath = ['', resourceType, resourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + resourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: resourceType,\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from resource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = resourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=48179670&scoped=true\"\nimport script from \"./Comment.vue?vue&type=script&lang=js\"\nexport * from \"./Comment.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=48179670&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"48179670\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('NcDateTime',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp,\"ignore-seconds\":true}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('form',{staticClass:\"comment__editor\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"comment__editor-group\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData,\"aria-describedby\":\"tab-comments__editor-description\"},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('div',{staticClass:\"comment__submit\"},[_c('NcButton',{attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__editor-description\",attrs:{\"id\":\"tab-comments__editor-description\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', '@ for mentions, : for emoji, / for smart picker'))+\"\\n\\t\\t\\t\")])]):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","import axios from '@nextcloud/axios';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n    props: {\n        resourceId: {\n            type: Number,\n            required: true,\n        },\n        resourceType: {\n            type: String,\n            default: 'files',\n        },\n    },\n    data() {\n        return {\n            editorData: {\n                actorDisplayName: getCurrentUser().displayName,\n                actorId: getCurrentUser().uid,\n                key: 'editor',\n            },\n            userData: {},\n        };\n    },\n    methods: {\n        /**\n         * Autocomplete @mentions\n         *\n         * @param {string} search the query\n         * @param {Function} callback the callback to process the results with\n         */\n        async autoComplete(search, callback) {\n            const { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {\n                params: {\n                    search,\n                    itemType: 'files',\n                    itemId: this.resourceId,\n                    sorter: 'commenters|share-recipients',\n                    limit: loadState('comments', 'maxAutoCompleteResults'),\n                },\n            });\n            // Save user data so it can be used by the editor to replace mentions\n            data.ocs.data.forEach(user => { this.userData[user.id] = user; });\n            return callback(Object.values(this.userData));\n        },\n        /**\n         * Make sure we have all mentions as Array of objects\n         *\n         * @param mentions the mentions list\n         */\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        genMentionsData(mentions) {\n            Object.values(mentions)\n                .flat()\n                .forEach(mention => {\n                this.userData[mention.mentionId] = {\n                    // TODO: support groups\n                    icon: 'icon-user',\n                    id: mention.mentionId,\n                    label: mention.mentionDisplayName,\n                    source: 'users',\n                    primary: getCurrentUser()?.uid === mention.mentionId,\n                };\n            });\n            return this.userData;\n        },\n    },\n});\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=js\"","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport client from './DavClient.js';\n/**\n * Mark comments older than the date timestamp as read\n *\n * @param resourceType the resource type\n * @param resourceId the resource ID\n * @param date the date object\n */\nexport const markCommentsAsRead = (resourceType, resourceId, date) => {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const readMarker = date.toUTCString();\n    return client.customRequest(resourcePath, {\n        method: 'PROPPATCH',\n        data: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${readMarker}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n    });\n};\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\tconst controller = new AbortController()\n\tconst signal = controller.signal\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=b2489a3c&scoped=true\"\nimport script from \"./Comments.vue?vue&type=script&lang=js\"\nexport * from \"./Comments.vue?vue&type=script&lang=js\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=b2489a3c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b2489a3c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onVisibilityChange),expression:\"onVisibilityChange\"}],staticClass:\"comments\",class:{ 'icon-loading': _vm.isFirstLoading }},[_c('Comment',_vm._b({staticClass:\"comments__writer\",attrs:{\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"editor\":true,\"user-data\":_vm.userData,\"resource-id\":_vm.resourceId},on:{\"new\":_vm.onNewComment}},'Comment',_vm.editorData,false)),_vm._v(\" \"),(!_vm.isFirstLoading)?[(!_vm.hasComments && _vm.done)?_c('NcEmptyContent',{staticClass:\"comments__empty\",attrs:{\"name\":_vm.t('comments', 'No comments yet, start the conversation!')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('MessageReplyTextIcon')]},proxy:true}],null,false,1033639148)}):_c('ul',_vm._l((_vm.comments),function(comment){return _c('Comment',_vm._b({key:comment.props.id,staticClass:\"comments__list\",attrs:{\"tag\":\"li\",\"auto-complete\":_vm.autoComplete,\"resource-type\":_vm.resourceType,\"message\":comment.props.message,\"resource-id\":_vm.resourceId,\"user-data\":_vm.genMentionsData(comment.props.mentions)},on:{\"update:message\":function($event){return _vm.$set(comment.props, \"message\", $event)},\"delete\":_vm.onDelete}},'Comment',comment.props,false))}),1),_vm._v(\" \"),(_vm.loading && !_vm.isFirstLoading)?_c('div',{staticClass:\"comments__info icon-loading\"}):(_vm.hasComments && _vm.done)?_c('div',{staticClass:\"comments__info\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('comments', 'No more messages'))+\"\\n\\t\\t\")]):(_vm.error)?[_c('NcEmptyContent',{staticClass:\"comments__error\",attrs:{\"name\":_vm.error},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AlertCircleOutlineIcon')]},proxy:true}],null,false,66050004)}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comments__retry\",on:{\"click\":_vm.getComments},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('RefreshIcon')]},proxy:true}],null,false,3924573781)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Retry'))+\"\\n\\t\\t\\t\")])]:_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\nimport Vue from 'vue'\nimport CommentsApp from '../views/Comments.vue'\nimport logger from '../logger.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Add translates functions\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default class CommentInstance {\n\n\t/**\n\t * Initialize a new Comments instance for the desired type\n\t *\n\t * @param {string} resourceType the comments endpoint type\n\t * @param  {object} options the vue options (propsData, parent, el...)\n\t */\n\tconstructor(resourceType = 'files', options = {}) {\n\t\t// Merge options and set `resourceType` property\n\t\toptions = {\n\t\t\t...options,\n\t\t\tpropsData: {\n\t\t\t\t...(options.propsData ?? {}),\n\t\t\t\tresourceType,\n\t\t\t},\n\t\t}\n\t\t// Init Comments component\n\t\tconst View = Vue.extend(CommentsApp)\n\t\treturn new View(options)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport CommentsInstance from './services/CommentsInstance.js'\n\n// Init Comments\nif (window.OCA && !window.OCA.Comments) {\n\tObject.assign(window.OCA, { Comments: {} })\n}\n\n// Init Comments App view\nObject.assign(window.OCA.Comments, { View: CommentsInstance })\nconsole.debug('OCA.Comments.View initialized')\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comment[data-v-48179670]{display:flex;gap:8px;padding:5px 10px}.comment__side[data-v-48179670]{display:flex;align-items:flex-start;padding-top:6px}.comment__body[data-v-48179670]{display:flex;flex-grow:1;flex-direction:column}.comment__header[data-v-48179670]{display:flex;align-items:center;min-height:44px}.comment__actions[data-v-48179670]{margin-left:10px !important}.comment__author[data-v-48179670]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-maxcontrast)}.comment_loading[data-v-48179670],.comment__timestamp[data-v-48179670]{margin-left:auto;text-align:right;white-space:nowrap;color:var(--color-text-maxcontrast)}.comment__editor-group[data-v-48179670]{position:relative}.comment__editor-description[data-v-48179670]{color:var(--color-text-maxcontrast);padding-block:var(--default-grid-baseline)}.comment__submit[data-v-48179670]{position:absolute !important;bottom:0;right:0}.comment__message[data-v-48179670]{white-space:pre-wrap;word-break:break-word;max-height:70px;overflow:hidden;margin-top:-6px}.comment__message--expanded[data-v-48179670]{max-height:none;overflow:visible}.rich-contenteditable__input[data-v-48179670]{min-height:44px;margin:0;padding:10px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/components/Comment.vue\"],\"names\":[],\"mappings\":\"AAKA,0BACC,YAAA,CACA,OAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,sBAAA,CACA,eAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,qBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,mCACC,2BAAA,CAGD,kCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,mCAAA,CAGD,uEAEC,gBAAA,CACA,gBAAA,CACA,kBAAA,CACA,mCAAA,CAGD,wCACC,iBAAA,CAGD,8CACC,mCAAA,CACA,0CAAA,CAGD,kCACC,4BAAA,CACA,QAAA,CACA,OAAA,CAGD,mCACC,oBAAA,CACA,qBAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,6CACC,eAAA,CACA,gBAAA,CAKH,8CACC,eAAA,CACA,QAAA,CACA,YA3EiB\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$comment-padding: 10px;\\n\\n.comment {\\n\\tdisplay: flex;\\n\\tgap: 8px;\\n\\tpadding: 5px $comment-padding;\\n\\n\\t&__side {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\tpadding-top: 6px;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tmargin-left: $comment-padding !important;\\n\\t}\\n\\n\\t&__author {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&_loading,\\n\\t&__timestamp {\\n\\t\\tmargin-left: auto;\\n\\t\\ttext-align: right;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__editor-group {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__editor-description {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding-block: var(--default-grid-baseline);\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute !important;\\n\\t\\tbottom: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t&__message {\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tword-break: break-word;\\n\\t\\tmax-height: 70px;\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-top: -6px;\\n\\t\\t&--expanded {\\n\\t\\t\\tmax-height: none;\\n\\t\\t\\toverflow: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n.rich-contenteditable__input {\\n\\tmin-height: 44px;\\n\\tmargin: 0;\\n\\tpadding: $comment-padding;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.comments[data-v-b2489a3c]{min-height:100%;display:flex;flex-direction:column}.comments__empty[data-v-b2489a3c],.comments__error[data-v-b2489a3c]{flex:1 0}.comments__retry[data-v-b2489a3c]{margin:0 auto}.comments__info[data-v-b2489a3c]{height:60px;color:var(--color-text-maxcontrast);text-align:center;line-height:60px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/comments/src/views/Comments.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,oEAEC,QAAA,CAGD,kCACC,aAAA,CAGD,iCACC,WAAA,CACA,mCAAA,CACA,iBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.comments {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__empty,\\n\\t&__error {\\n\\t\\tflex: 1 0;\\n\\t}\\n\\n\\t&__retry {\\n\\t\\tmargin: 0 auto;\\n\\t}\\n\\n\\t&__info {\\n\\t\\theight: 60px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\ttext-align: center;\\n\\t\\tline-height: 60px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\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\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"5358\":\"c7fc5670e3cdb8b6d91e\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6335;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6335: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(23841)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","oldValue","version","install","Vue","directive","GlobalVue","window","g","use","name","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","getRootPath","generateRemoteUrl","decodeHtmlEntities","passes","parser","DOMParser","decoded","parseFromString","documentElement","textContent","createClient","headers","requesttoken","getRequestToken","getLoggerBuilder","setApp","detectUser","build","id","message","resourceId","required","resourceType","data","deleted","editing","loading","methods","onEdit","onEditCancel","updateLocalMessage","onEditComment","async","commentId","commentPath","join","client","customRequest","assign","method","EditComment","logger","debug","error","showError","t","onDeleteWithUndo","timeOutDelete","onDelete","TOAST_UNDO_TIMEOUT","showUndo","deleteFile","DeleteComment","onNewComment","newComment","resourcePath","response","axios","post","actorDisplayName","getCurrentUser","displayName","actorId","uid","actorType","creationDateTime","Date","toUTCString","objectType","verb","parseInt","split","pop","comment","stat","details","NewComment","localMessage","components","ArrowRight","NcActionButton","NcActions","NcActionSeparator","NcAvatar","NcButton","NcDateTime","NcRichContenteditable","mixins","RichEditorMixin","CommentMixin","inheritAttrs","editor","Boolean","autoComplete","Function","tag","expanded","computed","isOwnComment","renderedContent","isEmptyMessage","renderContent","trim","timestamp","parse","watch","beforeMount","onSubmit","$refs","$el","focus","onExpand","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","directives","rawName","expression","class","preventDefault","ref","userData","scopedSlots","_u","fn","proxy","domProps","posixClasses","braceEscape","s","replace","rangesToString","ranges","parseClass","glob","position","pos","charAt","Error","negs","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","c","cls","unip","u","neg","startsWith","push","test","slice","sranges","snegs","p","pattern","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","plTypes","open","close","qmark","star","charSet","reduce","set","reSpecials","addPatternStartSet","filter","a","b","defaults","def","keys","orig","super","unescape","escape","makeRe","braceExpand","list","nobrace","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","allowWindowsEscape","make","hasMagic","magicalBraces","part","_","parseNegate","Set","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","levelTwoFileOptimize","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","output","PropertyType","getComments","_ref","datetime","toISOString","limit","offset","responseData","text","parseXML","isDetailed","status","statusText","processResponsePayload","getDirectoryFiles","multistatus","responseItems","item","propstat","prop","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","getcontenttype","mimeType","getetag","etag","collection","txt","document","createElement","innerHTML","he","decode","decodeHTMLEntities","basename","lastmod","mime","prepareFileFromProps","defineComponent","editorData","search","generateOcsUrl","params","itemType","itemId","sorter","loadState","ocs","user","values","genMentionsData","mentions","flat","mention","mentionId","icon","label","mentionDisplayName","source","primary","VTooltip","VueObserveVisibility","Comment","NcEmptyContent","RefreshIcon","MessageReplyTextIcon","AlertCircleOutlineIcon","CommentView","done","comments","cancelRequest","hasComments","isFirstLoading","onVisibilityChange","isVisible","markCommentsAsRead","date","readMarker","resetState","onScrollBottomReached","request","abort","controller","AbortController","signal","url","cancelableRequest","unshift","index","findIndex","_l","$set","__webpack_nonce__","btoa","mixin","OCA","Comments","View","propsData","extend","CommentsApp","balanced","str","maybeMatch","r","range","end","pre","body","reg","begs","beg","left","right","module","exports","root","freeGlobal","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","input","buffer","padding","charCodeAt","bitStorage","bitCounter","fromCharCode","___CSS_LOADER_EXPORT___","validator","XMLParser","XMLBuilder","XMLValidator","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","hasOwnProperty","has","object","propertyName","merge","codePointToSymbol","codePoint","strict","parseError","array","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","_wrapNativeSuper","Class","_cache","Map","Wrapper","_construct","_getPrototypeOf","create","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","o","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","isInteger","nextPropIsArrayWildcard","err","own","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolve","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","to","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","chunkId","Promise","all","promises","globalThis","l","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","setAttribute","onScriptComplete","event","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/comments-comments-tab.js b/dist/comments-comments-tab.js
index 22a0542a07745..35c100b958560 100644
--- a/dist/comments-comments-tab.js
+++ b/dist/comments-comments-tab.js
@@ -1,3 +1,3 @@
 /*! For license information please see comments-comments-tab.js.LICENSE.txt */
-(()=>{var r,e,a,o={21251:(r,e,a)=>{"use strict";var o=a(77958),s=a(43554),n=a(80351),i=a.n(n),c=a(20144),l=a(59953),u=a(14596),p=a(54298);const d={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},g=r=>r.replace(/[[\]\\-]/g,"\\$&"),h=r=>r.join(""),f=(r,e)=>{const t=e;if("["!==r.charAt(t))throw new Error("not in a brace expression");const a=[],o=[];let s=t+1,n=!1,i=!1,c=!1,l=!1,u=t,p="";r:for(;sp?a.push(g(p)+"-"+g(e)):e===p&&a.push(g(e)),p="",s++):r.startsWith("-]",s+1)?(a.push(g(e+"-")),s+=2):r.startsWith("-",s+1)?(p=e,s+=2):(a.push(g(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(Y(e),!(!t.nocomment&&"#"===e.charAt(0))&&new Q(e,t).match(r)),w=/^\*+([^+@!?\*\[\(]*)$/,y=r=>e=>!e.startsWith(".")&&e.endsWith(r),q=r=>e=>e.endsWith(r),D=r=>(r=r.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(r)),A=r=>(r=r.toLowerCase(),e=>e.toLowerCase().endsWith(r)),E=/^\*+\.\*+$/,x=r=>!r.startsWith(".")&&r.includes("."),k=r=>"."!==r&&".."!==r&&r.includes("."),L=/^\.\*+$/,S=r=>"."!==r&&".."!==r&&r.startsWith("."),j=/^\*+$/,C=r=>0!==r.length&&!r.startsWith("."),T=r=>0!==r.length&&"."!==r&&".."!==r,R=/^\?+([^+@!?\*\[\(]*)?$/,B=([r,e=""])=>{const t=V([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},N=([r,e=""])=>{const t=U([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},O=([r,e=""])=>{const t=U([r]);return e?r=>t(r)&&r.endsWith(e):t},F=([r,e=""])=>{const t=V([r]);return e?r=>t(r)&&r.endsWith(e):t},V=([r])=>{const e=r.length;return r=>r.length===e&&!r.startsWith(".")},U=([r])=>{const e=r.length;return r=>r.length===e&&"."!==r&&".."!==r},P="object"==typeof m&&m?"object"==typeof m.env&&m.env&&m.env.__MINIMATCH_TESTING_PLATFORM__||m.platform:"posix";v.sep="win32"===P?"\\":"/";const I=Symbol("globstar **");v.GLOBSTAR=I;const H={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},z="[^/]",G=z+"*?",M=r=>r.split("").reduce(((r,e)=>(r[e]=!0,r)),{}),$=M("().*{}+?[]^$\\!"),Z=M("[.(");v.filter=(r,e={})=>t=>v(t,r,e);const W=(r,e={})=>Object.assign({},r,e);v.defaults=r=>{if(!r||"object"!=typeof r||!Object.keys(r).length)return v;const e=v;return Object.assign(((t,a,o={})=>e(t,a,W(r,o))),{Minimatch:class extends e.Minimatch{constructor(e,t={}){super(e,W(r,t))}static defaults(t){return e.defaults(W(r,t)).Minimatch}},unescape:(t,a={})=>e.unescape(t,W(r,a)),escape:(t,a={})=>e.escape(t,W(r,a)),filter:(t,a={})=>e.filter(t,W(r,a)),defaults:t=>e.defaults(W(r,t)),makeRe:(t,a={})=>e.makeRe(t,W(r,a)),braceExpand:(t,a={})=>e.braceExpand(t,W(r,a)),match:(t,a,o={})=>e.match(t,a,W(r,o)),sep:e.sep,GLOBSTAR:I})};const J=(r,e={})=>(Y(r),e.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:p(r));v.braceExpand=J;const Y=r=>{if("string"!=typeof r)throw new TypeError("invalid pattern");if(r.length>65536)throw new TypeError("pattern is too long")};v.makeRe=(r,e={})=>new Q(r,e).makeRe(),v.match=(r,e,t={})=>{const a=new Q(e,t);return r=r.filter((r=>a.match(r))),a.options.nonull&&!r.length&&r.push(e),r};const _=/[?*]|[+@!]\(.*?\)|\[|\]/,K=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Q{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(r,e={}){Y(r),e=e||{},this.options=e,this.pattern=r,this.platform=e.platform||P,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const r of this.set)for(const e of r)if("string"!=typeof e)return!0;return!1}debug(...r){}make(){const r=this.pattern,e=this.options;if(!e.nocomment&&"#"===r.charAt(0))return void(this.comment=!0);if(!r)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>b.error(...r)),this.debug(this.pattern,this.globSet);const t=this.globSet.map((r=>this.slashSplit(r)));this.globParts=this.preprocess(t),this.debug(this.pattern,this.globParts);let a=this.globParts.map(((r,e,t)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==r[0]||""!==r[1]||"?"!==r[2]&&_.test(r[2])||_.test(r[3])),t=/^[a-z]:/i.test(r[0]);if(e)return[...r.slice(0,4),...r.slice(4).map((r=>this.parse(r)))];if(t)return[r[0],...r.slice(1).map((r=>this.parse(r)))]}return r.map((r=>this.parse(r)))}));if(this.debug(this.pattern,a),this.set=a.filter((r=>-1===r.indexOf(!1))),this.isWindows)for(let r=0;r=2?(r=this.firstPhasePreProcess(r),r=this.secondPhasePreProcess(r)):r=e>=1?this.levelOneOptimize(r):this.adjascentGlobstarOptimize(r),r}adjascentGlobstarOptimize(r){return r.map((r=>{let e=-1;for(;-1!==(e=r.indexOf("**",e+1));){let t=e;for(;"**"===r[t+1];)t++;t!==e&&r.splice(e,t-e)}return r}))}levelOneOptimize(r){return r.map((r=>0===(r=r.reduce(((r,e)=>{const t=r[r.length-1];return"**"===e&&"**"===t?r:".."===e&&t&&".."!==t&&"."!==t&&"**"!==t?(r.pop(),r):(r.push(e),r)}),[])).length?[""]:r))}levelTwoFileOptimize(r){Array.isArray(r)||(r=this.slashSplit(r));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let t=1;ta&&t.splice(a+1,o-a);let s=t[a+1];const n=t[a+2],i=t[a+3];if(".."!==s)continue;if(!n||"."===n||".."===n||!i||"."===i||".."===i)continue;e=!0,t.splice(a,1);const c=t.slice(0);c[a]="**",r.push(c),a--}if(!this.preserveMultipleSlashes){for(let r=1;rr.length))}partsMatch(r,e,t=!1){let a=0,o=0,s=[],n="";for(;a=2&&(r=this.levelTwoFileOptimize(r)),this.debug("matchOne",this,{file:r,pattern:e}),this.debug("matchOne",r.length,e.length);for(var s=0,n=0,i=r.length,c=e.length;s>> no match, partial?",r,p,e,d),p!==i))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(s===i&&n===c)return!0;if(s===i)return t;if(n===c)return s===i-1&&""===r[s];throw new Error("wtf?")}braceExpand(){return J(this.pattern,this.options)}parse(r){Y(r);const e=this.options;if("**"===r)return I;if(""===r)return"";let t,a=null;(t=r.match(j))?a=e.dot?T:C:(t=r.match(w))?a=(e.nocase?e.dot?A:D:e.dot?q:y)(t[1]):(t=r.match(R))?a=(e.nocase?e.dot?N:B:e.dot?O:F)(t):(t=r.match(E))?a=e.dot?k:x:(t=r.match(L))&&(a=S);let o="",s=!1,n=!1;const i=[],c=[];let l,u=!1,p=!1,d="."===r.charAt(0),g=e.dot||d;const h=r=>"."===r.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(u){switch(u){case"*":o+=G,s=!0;break;case"?":o+=z,s=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let t,a=0;a(t||(t="\\"),e+e+t+"|"))),this.debug("tail=%j\n   %s",r,r,l,o);const e="*"===l.type?G:"?"===l.type?z:"\\"+l.type;s=!0,o=o.slice(0,l.reStart)+e+"\\("+r}m(),n&&(o+="\\\\");const b=Z[o.charAt(0)];for(let r=c.length-1;r>-1;r--){const e=c[r],t=o.slice(0,e.reStart),a=o.slice(e.reStart,e.reEnd-8);let s=o.slice(e.reEnd);const n=o.slice(e.reEnd-8,e.reEnd)+s,i=t.split(")").length,l=t.split("(").length-i;let u=s;for(let r=0;r{const e=r.map((r=>"string"==typeof r?K(r):r===I?I:r._src));return e.forEach(((r,a)=>{const o=e[a+1],s=e[a-1];r===I&&s!==I&&(void 0===s?void 0!==o&&o!==I?e[a+1]="(?:\\/|"+t+"\\/)?"+o:e[a]=t:void 0===o?e[a-1]=s+"(?:\\/|"+t+")?":o!==I&&(e[a-1]=s+"(?:\\/|\\/"+t+"\\/)"+o,e[a+1]=I))})),e.filter((r=>r!==I)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,a)}catch(r){this.regexp=!1}return this.regexp}slashSplit(r){return this.preserveMultipleSlashes?r.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(r)?["",...r.split(/\/+/)]:r.split(/\/+/)}match(r,e=this.partial){if(this.debug("match",r,this.pattern),this.comment)return!1;if(this.empty)return""===r;if("/"===r&&e)return!0;const t=this.options;this.isWindows&&(r=r.split("\\").join("/"));const a=this.slashSplit(r);this.debug(this.pattern,"split",a);const o=this.set;this.debug(this.pattern,"set",o);let s=a[a.length-1];if(!s)for(let r=a.length-2;!s&&r>=0;r--)s=a[r];for(let r=0;re?r.replace(/[?*()[\]]/g,"[$&]"):r.replace(/[?*()[\]\\]/g,"\\$&"),v.unescape=(r,{windowsPathsNoEscape:e=!1}={})=>e?r.replace(/\[([^\/\\])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var rr,er=a(23722),tr=(a(16932),a(65070),a(97501),a(86492)),ar=a(62639);!function(r){r.Array="array",r.Object="object",r.Original="original"}(rr||(rr={}));var or=a(38728);const sr=function(r){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:t}}=r;return t.map((r=>{const{propstat:{prop:t}}=r;return function(r,e,t=!1){const{getlastmodified:a=null,getcontentlength:o="0",resourcetype:s=null,getcontenttype:n=null,getetag:i=null}=r,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l=function(r){if((0,ar.$)()){const e=document.createElement("textarea");return e.innerHTML=r,e.value}return tr.decode(r)}(e),u={filename:l,basename:er.basename(l),lastmod:a,size:parseInt(o,10),type:c,etag:"string"==typeof i?i.replace(/"/g,""):null};return"file"===c&&(u.mime=n&&"string"==typeof n?n.split(";")[0]:""),t&&(u.props=r),u}(t,t.id.toString(),e)}))};let nr,ir;if(a.nc=btoa((0,o.IH)()),(0,s.j)("comments","activityEnabled",!1)&&void 0!==OCA?.Activity?.registerSidebarAction)window.addEventListener("DOMContentLoaded",(function(){window.OCA.Activity.registerSidebarAction({mount:async(r,e)=>{let{context:t,fileInfo:o,reload:s}=e;if(!nr){const{default:r}=await Promise.all([a.e(7874),a.e(7255),a.e(1462)]).then(a.bind(a,91462));nr=c.default.extend(r)}ir=new nr({parent:t,propsData:{reloadCallback:s,resourceId:o.id}}),ir.$mount(r),l.Z.info("Comments plugin mounted in Activity sidebar action",{fileInfo:o})},unmount:()=>{ir&&ir.$destroy()}}),window.OCA.Activity.registerSidebarEntries((async r=>{let{fileInfo:e,limit:t,offset:o}=r;const{data:s}=await async function(r,e){let{resourceType:t,resourceId:a}=r;const o=["",t,a].join("/"),s=e.datetime?`${e.datetime.toISOString()}`:"",n=await or.Z.customRequest(o,Object.assign({method:"REPORT",data:`\n\t\t\t\n\t\t\t\t${e.limit??20}\n\t\t\t\t${e.offset||0}\n\t\t\t\t${s}\n\t\t\t`},e)),i=await n.text(),c=await(0,u.sw)(i);return function(r,e,t=!1){return t?{data:e,headers:r.headers?X(r.headers):{},status:r.status,statusText:r.statusText}:e}(n,sr(c,!0),!0)}({resourceType:"files",resourceId:e.id},{limit:t,offset:o});l.Z.debug("Loaded comments",{fileInfo:e,comments:s});const{default:n}=await Promise.all([a.e(7874),a.e(7255),a.e(4322)]).then(a.bind(a,24322)),p=c.default.extend(n);return s.map((r=>({timestamp:i()(r.props.creationDateTime).toDate().getTime(),mount(t,a){let{context:o,reload:s}=a;this._CommentsViewInstance=new p({parent:o,propsData:{comment:r,resourceId:e.id,reloadCallback:s}}),this._CommentsViewInstance.$mount(t)},unmount(){this._CommentsViewInstance.$destroy()}})))})),window.OCA.Activity.registerSidebarFilter((r=>"comments"!==r.type)),l.Z.info("Comments plugin registered for Activity sidebar action")}));else{let r=null;const e=new OCA.Files.Sidebar.Tab({id:"comments",name:t("comments","Comments"),iconSvg:'',async mount(e,t,a){r&&r.$destroy(),r=new OCA.Comments.View("files",{parent:a}),await r.update(t.id),r.$mount(e)},update(e){r.update(e.id)},destroy(){r.$destroy(),r=null},scrollBottomReached(){r.onScrollBottomReached()}});window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(e)}))}},59953:(r,e,t)=>{"use strict";t.d(e,{Z:()=>a});const a=(0,t(17499).IY)().setApp("comments").detectUser().build()},38728:(r,e,t)=>{"use strict";t.d(e,{Z:()=>n});var a=t(14596),o=t(85581),s=t(77958);const n=(0,a.eI)((0,o.R)(),{headers:{"X-Requested-With":"XMLHttpRequest",requesttoken:(0,s.IH)()??""}})},85581:(r,e,t)=>{"use strict";t.d(e,{R:()=>o});var a=t(79753);const o=function(){return(0,a.generateRemoteUrl)("dav/comments")}},5623:r=>{"use strict";function e(r,e,o){r instanceof RegExp&&(r=t(r,o)),e instanceof RegExp&&(e=t(e,o));var s=a(r,e,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+r.length,s[1]),post:o.slice(s[1]+e.length)}}function t(r,e){var t=e.match(r);return t?t[0]:null}function a(r,e,t){var a,o,s,n,i,c=t.indexOf(r),l=t.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(r===e)return[c,l];for(a=[],s=t.length;u>=0&&!i;)u==c?(a.push(u),c=t.indexOf(r,u+1)):1==a.length?i=[a.pop(),l]:((o=a.pop())=0?c:l;a.length&&(i=[s,n])}return i}r.exports=e,e.range=a},97501:function(r,e,t){var a;r=t.nmd(r),function(o){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=function(r){this.message=r};(n.prototype=new Error).name="InvalidCharacterError";var i=function(r){throw new n(r)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=/[\t\n\f\r ]/g,u={encode:function(r){r=String(r),/[^\0-\xFF]/.test(r)&&i("The string to be encoded contains characters outside of the Latin1 range.");for(var e,t,a,o,s=r.length%3,n="",l=-1,u=r.length-s;++l>18&63)+c.charAt(o>>12&63)+c.charAt(o>>6&63)+c.charAt(63&o);return 2==s?(e=r.charCodeAt(l)<<8,t=r.charCodeAt(++l),n+=c.charAt((o=e+t)>>10)+c.charAt(o>>4&63)+c.charAt(o<<2&63)+"="):1==s&&(o=r.charCodeAt(l),n+=c.charAt(o>>2)+c.charAt(o<<4&63)+"=="),n},decode:function(r){var e=(r=String(r).replace(l,"")).length;e%4==0&&(e=(r=r.replace(/==?$/,"")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(r))&&i("Invalid character: the string to be decoded is not correctly encoded.");for(var t,a,o=0,s="",n=-1;++n>(-2*o&6)));return s},version:"1.0.0"};void 0===(a=function(){return u}.call(e,t,e,r))||(r.exports=a)}()},16932:(r,e,t)=>{"use strict";const a=t(78501),o=t(58844),s=t(41192);r.exports={XMLParser:o,XMLValidator:a,XMLBuilder:s}},86492:function(r,e,t){var a;r=t.nmd(r),function(o){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},g=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,m={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],y=String.fromCharCode,q={}.hasOwnProperty,D=function(r,e){return q.call(r,e)},A=function(r,e){if(!r)return e;var t,a={};for(t in e)a[t]=D(r,t)?r[t]:e[t];return a},E=function(r,e){var t="";return r>=55296&&r<=57343||r>1114111?(e&&L("character reference outside the permissible Unicode range"),"�"):D(v,r)?(e&&L("disallowed character reference"),v[r]):(e&&function(r,e){for(var t=-1,a=r.length;++t65535&&(t+=y((r-=65536)>>>10&1023|55296),r=56320|1023&r),t+=y(r))},x=function(r){return"&#x"+r.toString(16).toUpperCase()+";"},k=function(r){return"&#"+r+";"},L=function(r){throw Error("Parse error: "+r)},S=function(r,e){(e=A(e,S.options)).strict&&h.test(r)&&L("forbidden code point");var t=e.encodeEverything,a=e.useNamedReferences,o=e.allowUnsafeSymbols,s=e.decimal?k:x,d=function(r){return s(r.charCodeAt(0))};return t?(r=r.replace(i,(function(r){return a&&D(u,r)?"&"+u[r]+";":d(r)})),a&&(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),a&&(r=r.replace(l,(function(r){return"&"+u[r]+";"})))):a?(o||(r=r.replace(p,(function(r){return"&"+u[r]+";"}))),r=(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(l,(function(r){return"&"+u[r]+";"}))):o||(r=r.replace(p,d)),r.replace(n,(function(r){var e=r.charCodeAt(0),t=r.charCodeAt(1);return s(1024*(e-55296)+t-56320+65536)})).replace(c,d)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var j=function(r,e){var t=(e=A(e,j.options)).strict;return t&&g.test(r)&&L("malformed character reference"),r.replace(f,(function(r,a,o,s,n,i,c,l,u){var p,d,g,h,f,v;return a?m[f=a]:o?(f=o,(v=s)&&e.isAttributeValue?(t&&"="==v&&L("`&` did not start a character reference"),r):(t&&L("named character reference was not terminated by a semicolon"),b[f]+(v||""))):n?(g=n,d=i,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(g,10),E(p,t)):c?(h=c,d=l,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(h,16),E(p,t)):(t&&L("named character reference was not terminated by a semicolon"),r)}))};j.options={isAttributeValue:!1,strict:!1};var C={version:"1.2.0",encode:S,decode:j,escape:function(r){return r.replace(p,(function(r){return d[r]}))},unescape:j};void 0===(a=function(){return C}.call(e,t,e,r))||(r.exports=a)}()},46700:(r,e,t)=>{var a={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(r){var e=s(r);return t(e)}function s(r){if(!t.o(a,r)){var e=new Error("Cannot find module '"+r+"'");throw e.code="MODULE_NOT_FOUND",e}return a[r]}o.keys=function(){return Object.keys(a)},o.resolve=s,r.exports=o,o.id=46700},65070:r=>{"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e(r)}function t(r){var e="function"==typeof Map?new Map:void 0;return t=function(r){if(null===r||(t=r,-1===Function.toString.call(t).indexOf("[native code]")))return r;var t;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return a(r,arguments,s(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),o(n,r)},t(r)}function a(r,e,t){return a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}()?Reflect.construct:function(r,e,t){var a=[null];a.push.apply(a,e);var s=new(Function.bind.apply(r,a));return t&&o(s,t.prototype),s},a.apply(null,arguments)}function o(r,e){return o=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},o(r,e)}function s(r){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},s(r)}var n=function(r){function t(r){var a;return function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),(a=function(r,t){return!t||"object"!==e(t)&&"function"!=typeof t?function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r):t}(this,s(t).call(this,r))).name="ObjectPrototypeMutationError",a}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&o(r,e)}(t,r),t}(t(Error));function i(r,t){for(var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=t.split("."),s=o.length,n=function(e){var t=o[e];if(!r)return{v:void 0};if("+"===t){if(Array.isArray(r))return{v:r.map((function(t,s){var n=o.slice(e+1);return n.length>0?i(t,n.join("."),a):a(r,s,o,e)}))};var s=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}r=a(r,t,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;if("number"==typeof t)return t in r;try{var o=!1;return i(r,t,(function(r,e,t,s){if(!c(t,s))return r&&r[e];o=a.own?r.hasOwnProperty(e):e in r})),o}catch(r){return!1}},hasOwn:function(r,e,t){return this.has(r,e,t||{own:!0})},isIn:function(r,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;try{var s=!1,n=!1;return i(r,t,(function(r,t,o,i){return s=s||r===a||!!r&&r[t]===a,n=c(o,i)&&"object"===e(r)&&t in r,r&&r[t]})),o.validPath?s&&n:s}catch(r){return!1}},ObjectPrototypeMutationError:n}},23722:(r,e,t)=>{"use strict";var a=t(34155),o=t(89539),s=function(r){return"string"==typeof r};function n(r,e){for(var t=[],a=0;a=-1&&!e;t--){var o=t>=0?arguments[t]:a.cwd();if(!s(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(r=o+"/"+r,e="/"===o.charAt(0))}return(e?"/":"")+(r=n(r.split("/"),!e).join("/"))||"."},c.normalize=function(r){var e=c.isAbsolute(r),t="/"===r.substr(-1);return(r=n(r.split("/"),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},c.isAbsolute=function(r){return"/"===r.charAt(0)},c.join=function(){for(var r="",e=0;e=0&&""===r[t];t--);return e>t?[]:r.slice(e,t+1)}r=c.resolve(r).substr(1),e=c.resolve(e).substr(1);for(var a=t(r.split("/")),o=t(e.split("/")),s=Math.min(a.length,o.length),n=s,i=0;i{var a=t(5623);r.exports=function(r){return r?("{}"===r.substr(0,2)&&(r="\\{\\}"+r.substr(2)),m(function(r){return r.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(n).split("\\,").join(i).split("\\.").join(c)}(r),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",i="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function u(r){return r.split(o).join("\\").split(s).join("{").split(n).join("}").split(i).join(",").split(c).join(".")}function p(r){if(!r)return[""];var e=[],t=a("{","}",r);if(!t)return r.split(",");var o=t.pre,s=t.body,n=t.post,i=o.split(",");i[i.length-1]+="{"+s+"}";var c=p(n);return n.length&&(i[i.length-1]+=c.shift(),i.push.apply(i,c)),e.push.apply(e,i),e}function d(r){return"{"+r+"}"}function g(r){return/^-?0\d/.test(r)}function h(r,e){return r<=e}function f(r,e){return r>=e}function m(r,e){var t=[],o=a("{","}",r);if(!o)return[r];var s=o.pre,i=o.post.length?m(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!q&&!D)return o.post.match(/,.*\}/)?m(r=o.pre+"{"+o.body+n+o.post):[r];if(q)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=m(b[0],!1).map(d)).length)return i.map((function(r){return o.pre+b[0]+r}));if(q){var A=l(b[0]),E=l(b[1]),x=Math.max(b[0].length,b[1].length),k=3==b.length?Math.abs(l(b[2])):1,L=h;E0){var R=new Array(T+1).join("0");C=j<0?"-"+R+C.slice(1):R+C}}v.push(C)}}else{v=[];for(var B=0;B{if(!t){var s=1/0;for(u=0;u=o)&&Object.keys(n.O).every((r=>n.O[r](t[c])))?t.splice(c--,1):(i=!1,o0&&r[u-1][2]>o;u--)r[u]=r[u-1];r[u]=[t,a,o]},n.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return n.d(e,{a:e}),e},n.d=(r,e)=>{for(var t in e)n.o(e,t)&&!n.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},n.f={},n.e=r=>Promise.all(Object.keys(n.f).reduce(((e,t)=>(n.f[t](r,e),e)),[])),n.u=r=>r+"-"+r+".js?v="+{923:"02b37a6174a781e7a8c2",1462:"52063571ff1e44226486",4322:"412f17bea41d1e48d8f3",5358:"8ea58c7886c9b4f45bd3",7255:"c079633d2aa76f2d57fc"}[r],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),n.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),e={},a="nextcloud:",n.l=(r,t,o,s)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(g);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((r=>r(a))),t)return t(a)},g=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.nmd=r=>(r.paths=[],r.children||(r.children=[]),r),n.j=576,(()=>{var r;n.g.importScripts&&(r=n.g.location+"");var e=n.g.document;if(!r&&e&&(e.currentScript&&(r=e.currentScript.src),!r)){var t=e.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&!r;)r=t[a--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=r})(),(()=>{n.b=document.baseURI||self.location.href;var r={576:0};n.f.j=(e,t)=>{var a=n.o(r,e)?r[e]:void 0;if(0!==a)if(a)t.push(a[2]);else{var o=new Promise(((t,o)=>a=r[e]=[t,o]));t.push(a[2]=o);var s=n.p+n.u(e),i=new Error;n.l(s,(t=>{if(n.o(r,e)&&(0!==(a=r[e])&&(r[e]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+s+")",i.name="ChunkLoadError",i.type=o,i.request=s,a[1](i)}}),"chunk-"+e,e)}},n.O.j=e=>0===r[e];var e=(e,t)=>{var a,o,s=t[0],i=t[1],c=t[2],l=0;if(s.some((e=>0!==r[e]))){for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(c)var u=c(n)}for(e&&e(t);ln(21251)));i=n.O(i)})();
-//# sourceMappingURL=comments-comments-tab.js.map?v=d9cbd04e05c55512cd87
\ No newline at end of file
+(()=>{var r,e,a,o={21251:(r,e,a)=>{"use strict";var o=a(77958),s=a(43554),n=a(80351),i=a.n(n),c=a(20144),l=a(59953),u=a(14596),p=a(54298);const d={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},g=r=>r.replace(/[[\]\\-]/g,"\\$&"),h=r=>r.join(""),f=(r,e)=>{const t=e;if("["!==r.charAt(t))throw new Error("not in a brace expression");const a=[],o=[];let s=t+1,n=!1,i=!1,c=!1,l=!1,u=t,p="";r:for(;sp?a.push(g(p)+"-"+g(e)):e===p&&a.push(g(e)),p="",s++):r.startsWith("-]",s+1)?(a.push(g(e+"-")),s+=2):r.startsWith("-",s+1)?(p=e,s+=2):(a.push(g(e)),s++)}else c=!0,s++}else l=!0,s++}if(u(Y(e),!(!t.nocomment&&"#"===e.charAt(0))&&new Q(e,t).match(r)),w=/^\*+([^+@!?\*\[\(]*)$/,y=r=>e=>!e.startsWith(".")&&e.endsWith(r),q=r=>e=>e.endsWith(r),D=r=>(r=r.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(r)),A=r=>(r=r.toLowerCase(),e=>e.toLowerCase().endsWith(r)),E=/^\*+\.\*+$/,x=r=>!r.startsWith(".")&&r.includes("."),k=r=>"."!==r&&".."!==r&&r.includes("."),L=/^\.\*+$/,S=r=>"."!==r&&".."!==r&&r.startsWith("."),j=/^\*+$/,C=r=>0!==r.length&&!r.startsWith("."),T=r=>0!==r.length&&"."!==r&&".."!==r,R=/^\?+([^+@!?\*\[\(]*)?$/,B=([r,e=""])=>{const t=V([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},N=([r,e=""])=>{const t=U([r]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},O=([r,e=""])=>{const t=U([r]);return e?r=>t(r)&&r.endsWith(e):t},F=([r,e=""])=>{const t=V([r]);return e?r=>t(r)&&r.endsWith(e):t},V=([r])=>{const e=r.length;return r=>r.length===e&&!r.startsWith(".")},U=([r])=>{const e=r.length;return r=>r.length===e&&"."!==r&&".."!==r},P="object"==typeof m&&m?"object"==typeof m.env&&m.env&&m.env.__MINIMATCH_TESTING_PLATFORM__||m.platform:"posix";v.sep="win32"===P?"\\":"/";const I=Symbol("globstar **");v.GLOBSTAR=I;const H={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},z="[^/]",G=z+"*?",M=r=>r.split("").reduce(((r,e)=>(r[e]=!0,r)),{}),$=M("().*{}+?[]^$\\!"),Z=M("[.(");v.filter=(r,e={})=>t=>v(t,r,e);const W=(r,e={})=>Object.assign({},r,e);v.defaults=r=>{if(!r||"object"!=typeof r||!Object.keys(r).length)return v;const e=v;return Object.assign(((t,a,o={})=>e(t,a,W(r,o))),{Minimatch:class extends e.Minimatch{constructor(e,t={}){super(e,W(r,t))}static defaults(t){return e.defaults(W(r,t)).Minimatch}},unescape:(t,a={})=>e.unescape(t,W(r,a)),escape:(t,a={})=>e.escape(t,W(r,a)),filter:(t,a={})=>e.filter(t,W(r,a)),defaults:t=>e.defaults(W(r,t)),makeRe:(t,a={})=>e.makeRe(t,W(r,a)),braceExpand:(t,a={})=>e.braceExpand(t,W(r,a)),match:(t,a,o={})=>e.match(t,a,W(r,o)),sep:e.sep,GLOBSTAR:I})};const J=(r,e={})=>(Y(r),e.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:p(r));v.braceExpand=J;const Y=r=>{if("string"!=typeof r)throw new TypeError("invalid pattern");if(r.length>65536)throw new TypeError("pattern is too long")};v.makeRe=(r,e={})=>new Q(r,e).makeRe(),v.match=(r,e,t={})=>{const a=new Q(e,t);return r=r.filter((r=>a.match(r))),a.options.nonull&&!r.length&&r.push(e),r};const _=/[?*]|[+@!]\(.*?\)|\[|\]/,K=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Q{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(r,e={}){Y(r),e=e||{},this.options=e,this.pattern=r,this.platform=e.platform||P,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const r of this.set)for(const e of r)if("string"!=typeof e)return!0;return!1}debug(...r){}make(){const r=this.pattern,e=this.options;if(!e.nocomment&&"#"===r.charAt(0))return void(this.comment=!0);if(!r)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...r)=>b.error(...r)),this.debug(this.pattern,this.globSet);const t=this.globSet.map((r=>this.slashSplit(r)));this.globParts=this.preprocess(t),this.debug(this.pattern,this.globParts);let a=this.globParts.map(((r,e,t)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==r[0]||""!==r[1]||"?"!==r[2]&&_.test(r[2])||_.test(r[3])),t=/^[a-z]:/i.test(r[0]);if(e)return[...r.slice(0,4),...r.slice(4).map((r=>this.parse(r)))];if(t)return[r[0],...r.slice(1).map((r=>this.parse(r)))]}return r.map((r=>this.parse(r)))}));if(this.debug(this.pattern,a),this.set=a.filter((r=>-1===r.indexOf(!1))),this.isWindows)for(let r=0;r=2?(r=this.firstPhasePreProcess(r),r=this.secondPhasePreProcess(r)):r=e>=1?this.levelOneOptimize(r):this.adjascentGlobstarOptimize(r),r}adjascentGlobstarOptimize(r){return r.map((r=>{let e=-1;for(;-1!==(e=r.indexOf("**",e+1));){let t=e;for(;"**"===r[t+1];)t++;t!==e&&r.splice(e,t-e)}return r}))}levelOneOptimize(r){return r.map((r=>0===(r=r.reduce(((r,e)=>{const t=r[r.length-1];return"**"===e&&"**"===t?r:".."===e&&t&&".."!==t&&"."!==t&&"**"!==t?(r.pop(),r):(r.push(e),r)}),[])).length?[""]:r))}levelTwoFileOptimize(r){Array.isArray(r)||(r=this.slashSplit(r));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let t=1;ta&&t.splice(a+1,o-a);let s=t[a+1];const n=t[a+2],i=t[a+3];if(".."!==s)continue;if(!n||"."===n||".."===n||!i||"."===i||".."===i)continue;e=!0,t.splice(a,1);const c=t.slice(0);c[a]="**",r.push(c),a--}if(!this.preserveMultipleSlashes){for(let r=1;rr.length))}partsMatch(r,e,t=!1){let a=0,o=0,s=[],n="";for(;a=2&&(r=this.levelTwoFileOptimize(r)),this.debug("matchOne",this,{file:r,pattern:e}),this.debug("matchOne",r.length,e.length);for(var s=0,n=0,i=r.length,c=e.length;s>> no match, partial?",r,p,e,d),p!==i))}let o;if("string"==typeof l?(o=u===l,this.debug("string match",l,u,o)):(o=l.test(u),this.debug("pattern match",l,u,o)),!o)return!1}if(s===i&&n===c)return!0;if(s===i)return t;if(n===c)return s===i-1&&""===r[s];throw new Error("wtf?")}braceExpand(){return J(this.pattern,this.options)}parse(r){Y(r);const e=this.options;if("**"===r)return I;if(""===r)return"";let t,a=null;(t=r.match(j))?a=e.dot?T:C:(t=r.match(w))?a=(e.nocase?e.dot?A:D:e.dot?q:y)(t[1]):(t=r.match(R))?a=(e.nocase?e.dot?N:B:e.dot?O:F)(t):(t=r.match(E))?a=e.dot?k:x:(t=r.match(L))&&(a=S);let o="",s=!1,n=!1;const i=[],c=[];let l,u=!1,p=!1,d="."===r.charAt(0),g=e.dot||d;const h=r=>"."===r.charAt(0)?"":e.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",m=()=>{if(u){switch(u){case"*":o+=G,s=!0;break;case"?":o+=z,s=!0;break;default:o+="\\"+u}this.debug("clearStateChar %j %j",u,o),u=!1}};for(let t,a=0;a(t||(t="\\"),e+e+t+"|"))),this.debug("tail=%j\n   %s",r,r,l,o);const e="*"===l.type?G:"?"===l.type?z:"\\"+l.type;s=!0,o=o.slice(0,l.reStart)+e+"\\("+r}m(),n&&(o+="\\\\");const b=Z[o.charAt(0)];for(let r=c.length-1;r>-1;r--){const e=c[r],t=o.slice(0,e.reStart),a=o.slice(e.reStart,e.reEnd-8);let s=o.slice(e.reEnd);const n=o.slice(e.reEnd-8,e.reEnd)+s,i=t.split(")").length,l=t.split("(").length-i;let u=s;for(let r=0;r{const e=r.map((r=>"string"==typeof r?K(r):r===I?I:r._src));return e.forEach(((r,a)=>{const o=e[a+1],s=e[a-1];r===I&&s!==I&&(void 0===s?void 0!==o&&o!==I?e[a+1]="(?:\\/|"+t+"\\/)?"+o:e[a]=t:void 0===o?e[a-1]=s+"(?:\\/|"+t+")?":o!==I&&(e[a-1]=s+"(?:\\/|\\/"+t+"\\/)"+o,e[a+1]=I))})),e.filter((r=>r!==I)).join("/")})).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,a)}catch(r){this.regexp=!1}return this.regexp}slashSplit(r){return this.preserveMultipleSlashes?r.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(r)?["",...r.split(/\/+/)]:r.split(/\/+/)}match(r,e=this.partial){if(this.debug("match",r,this.pattern),this.comment)return!1;if(this.empty)return""===r;if("/"===r&&e)return!0;const t=this.options;this.isWindows&&(r=r.split("\\").join("/"));const a=this.slashSplit(r);this.debug(this.pattern,"split",a);const o=this.set;this.debug(this.pattern,"set",o);let s=a[a.length-1];if(!s)for(let r=a.length-2;!s&&r>=0;r--)s=a[r];for(let r=0;re?r.replace(/[?*()[\]]/g,"[$&]"):r.replace(/[?*()[\]\\]/g,"\\$&"),v.unescape=(r,{windowsPathsNoEscape:e=!1}={})=>e?r.replace(/\[([^\/\\])\]/g,"$1"):r.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var rr,er=a(23722),tr=(a(16932),a(65070),a(97501),a(86492)),ar=a(62639);!function(r){r.Array="array",r.Object="object",r.Original="original"}(rr||(rr={}));var or=a(38728);const sr=function(r){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{multistatus:{response:t}}=r;return t.map((r=>{const{propstat:{prop:t}}=r;return function(r,e,t=!1){const{getlastmodified:a=null,getcontentlength:o="0",resourcetype:s=null,getcontenttype:n=null,getetag:i=null}=r,c=s&&"object"==typeof s&&void 0!==s.collection?"directory":"file",l=function(r){if((0,ar.$)()){const e=document.createElement("textarea");return e.innerHTML=r,e.value}return tr.decode(r)}(e),u={filename:l,basename:er.basename(l),lastmod:a,size:parseInt(o,10),type:c,etag:"string"==typeof i?i.replace(/"/g,""):null};return"file"===c&&(u.mime=n&&"string"==typeof n?n.split(";")[0]:""),t&&(u.props=r),u}(t,t.id.toString(),e)}))};let nr,ir;if(a.nc=btoa((0,o.IH)()),(0,s.j)("comments","activityEnabled",!1)&&void 0!==OCA?.Activity?.registerSidebarAction)window.addEventListener("DOMContentLoaded",(function(){window.OCA.Activity.registerSidebarAction({mount:async(r,e)=>{let{context:t,fileInfo:o,reload:s}=e;if(!nr){const{default:r}=await Promise.all([a.e(7874),a.e(7255),a.e(1462)]).then(a.bind(a,91462));nr=c.default.extend(r)}ir=new nr({parent:t,propsData:{reloadCallback:s,resourceId:o.id}}),ir.$mount(r),l.Z.info("Comments plugin mounted in Activity sidebar action",{fileInfo:o})},unmount:()=>{ir&&ir.$destroy()}}),window.OCA.Activity.registerSidebarEntries((async r=>{let{fileInfo:e,limit:t,offset:o}=r;const{data:s}=await async function(r,e){let{resourceType:t,resourceId:a}=r;const o=["",t,a].join("/"),s=e.datetime?`${e.datetime.toISOString()}`:"",n=await or.Z.customRequest(o,Object.assign({method:"REPORT",data:`\n\t\t\t\n\t\t\t\t${e.limit??20}\n\t\t\t\t${e.offset||0}\n\t\t\t\t${s}\n\t\t\t`},e)),i=await n.text(),c=await(0,u.sw)(i);return function(r,e,t=!1){return t?{data:e,headers:r.headers?X(r.headers):{},status:r.status,statusText:r.statusText}:e}(n,sr(c,!0),!0)}({resourceType:"files",resourceId:e.id},{limit:t,offset:o});l.Z.debug("Loaded comments",{fileInfo:e,comments:s});const{default:n}=await Promise.all([a.e(7874),a.e(7255),a.e(4322)]).then(a.bind(a,24322)),p=c.default.extend(n);return s.map((r=>({timestamp:i()(r.props.creationDateTime).toDate().getTime(),mount(t,a){let{context:o,reload:s}=a;this._CommentsViewInstance=new p({parent:o,propsData:{comment:r,resourceId:e.id,reloadCallback:s}}),this._CommentsViewInstance.$mount(t)},unmount(){this._CommentsViewInstance.$destroy()}})))})),window.OCA.Activity.registerSidebarFilter((r=>"comments"!==r.type)),l.Z.info("Comments plugin registered for Activity sidebar action")}));else{let r=null;const e=new OCA.Files.Sidebar.Tab({id:"comments",name:t("comments","Comments"),iconSvg:'',async mount(e,t,a){r&&r.$destroy(),r=new OCA.Comments.View("files",{parent:a}),await r.update(t.id),r.$mount(e)},update(e){r.update(e.id)},destroy(){r.$destroy(),r=null},scrollBottomReached(){r.onScrollBottomReached()}});window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(e)}))}},59953:(r,e,t)=>{"use strict";t.d(e,{Z:()=>a});const a=(0,t(17499).IY)().setApp("comments").detectUser().build()},38728:(r,e,t)=>{"use strict";t.d(e,{Z:()=>n});var a=t(14596),o=t(85581),s=t(77958);const n=(0,a.eI)((0,o.R)(),{headers:{"X-Requested-With":"XMLHttpRequest",requesttoken:(0,s.IH)()??""}})},85581:(r,e,t)=>{"use strict";t.d(e,{R:()=>o});var a=t(79753);const o=function(){return(0,a.generateRemoteUrl)("dav/comments")}},5623:r=>{"use strict";function e(r,e,o){r instanceof RegExp&&(r=t(r,o)),e instanceof RegExp&&(e=t(e,o));var s=a(r,e,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+r.length,s[1]),post:o.slice(s[1]+e.length)}}function t(r,e){var t=e.match(r);return t?t[0]:null}function a(r,e,t){var a,o,s,n,i,c=t.indexOf(r),l=t.indexOf(e,c+1),u=c;if(c>=0&&l>0){if(r===e)return[c,l];for(a=[],s=t.length;u>=0&&!i;)u==c?(a.push(u),c=t.indexOf(r,u+1)):1==a.length?i=[a.pop(),l]:((o=a.pop())=0?c:l;a.length&&(i=[s,n])}return i}r.exports=e,e.range=a},97501:function(r,e,t){var a;r=t.nmd(r),function(o){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=function(r){this.message=r};(n.prototype=new Error).name="InvalidCharacterError";var i=function(r){throw new n(r)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=/[\t\n\f\r ]/g,u={encode:function(r){r=String(r),/[^\0-\xFF]/.test(r)&&i("The string to be encoded contains characters outside of the Latin1 range.");for(var e,t,a,o,s=r.length%3,n="",l=-1,u=r.length-s;++l>18&63)+c.charAt(o>>12&63)+c.charAt(o>>6&63)+c.charAt(63&o);return 2==s?(e=r.charCodeAt(l)<<8,t=r.charCodeAt(++l),n+=c.charAt((o=e+t)>>10)+c.charAt(o>>4&63)+c.charAt(o<<2&63)+"="):1==s&&(o=r.charCodeAt(l),n+=c.charAt(o>>2)+c.charAt(o<<4&63)+"=="),n},decode:function(r){var e=(r=String(r).replace(l,"")).length;e%4==0&&(e=(r=r.replace(/==?$/,"")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(r))&&i("Invalid character: the string to be decoded is not correctly encoded.");for(var t,a,o=0,s="",n=-1;++n>(-2*o&6)));return s},version:"1.0.0"};void 0===(a=function(){return u}.call(e,t,e,r))||(r.exports=a)}()},16932:(r,e,t)=>{"use strict";const a=t(78501),o=t(58844),s=t(41192);r.exports={XMLParser:o,XMLValidator:a,XMLBuilder:s}},86492:function(r,e,t){var a;r=t.nmd(r),function(o){var s=(r&&r.exports,"object"==typeof t.g&&t.g);s.global!==s&&s.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,u={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},g=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,m={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],y=String.fromCharCode,q={}.hasOwnProperty,D=function(r,e){return q.call(r,e)},A=function(r,e){if(!r)return e;var t,a={};for(t in e)a[t]=D(r,t)?r[t]:e[t];return a},E=function(r,e){var t="";return r>=55296&&r<=57343||r>1114111?(e&&L("character reference outside the permissible Unicode range"),"�"):D(v,r)?(e&&L("disallowed character reference"),v[r]):(e&&function(r,e){for(var t=-1,a=r.length;++t65535&&(t+=y((r-=65536)>>>10&1023|55296),r=56320|1023&r),t+=y(r))},x=function(r){return"&#x"+r.toString(16).toUpperCase()+";"},k=function(r){return"&#"+r+";"},L=function(r){throw Error("Parse error: "+r)},S=function(r,e){(e=A(e,S.options)).strict&&h.test(r)&&L("forbidden code point");var t=e.encodeEverything,a=e.useNamedReferences,o=e.allowUnsafeSymbols,s=e.decimal?k:x,d=function(r){return s(r.charCodeAt(0))};return t?(r=r.replace(i,(function(r){return a&&D(u,r)?"&"+u[r]+";":d(r)})),a&&(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),a&&(r=r.replace(l,(function(r){return"&"+u[r]+";"})))):a?(o||(r=r.replace(p,(function(r){return"&"+u[r]+";"}))),r=(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(l,(function(r){return"&"+u[r]+";"}))):o||(r=r.replace(p,d)),r.replace(n,(function(r){var e=r.charCodeAt(0),t=r.charCodeAt(1);return s(1024*(e-55296)+t-56320+65536)})).replace(c,d)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var j=function(r,e){var t=(e=A(e,j.options)).strict;return t&&g.test(r)&&L("malformed character reference"),r.replace(f,(function(r,a,o,s,n,i,c,l,u){var p,d,g,h,f,v;return a?m[f=a]:o?(f=o,(v=s)&&e.isAttributeValue?(t&&"="==v&&L("`&` did not start a character reference"),r):(t&&L("named character reference was not terminated by a semicolon"),b[f]+(v||""))):n?(g=n,d=i,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(g,10),E(p,t)):c?(h=c,d=l,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(h,16),E(p,t)):(t&&L("named character reference was not terminated by a semicolon"),r)}))};j.options={isAttributeValue:!1,strict:!1};var C={version:"1.2.0",encode:S,decode:j,escape:function(r){return r.replace(p,(function(r){return d[r]}))},unescape:j};void 0===(a=function(){return C}.call(e,t,e,r))||(r.exports=a)}()},46700:(r,e,t)=>{var a={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(r){var e=s(r);return t(e)}function s(r){if(!t.o(a,r)){var e=new Error("Cannot find module '"+r+"'");throw e.code="MODULE_NOT_FOUND",e}return a[r]}o.keys=function(){return Object.keys(a)},o.resolve=s,r.exports=o,o.id=46700},65070:r=>{"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e(r)}function t(r){var e="function"==typeof Map?new Map:void 0;return t=function(r){if(null===r||(t=r,-1===Function.toString.call(t).indexOf("[native code]")))return r;var t;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return a(r,arguments,s(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),o(n,r)},t(r)}function a(r,e,t){return a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}()?Reflect.construct:function(r,e,t){var a=[null];a.push.apply(a,e);var s=new(Function.bind.apply(r,a));return t&&o(s,t.prototype),s},a.apply(null,arguments)}function o(r,e){return o=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},o(r,e)}function s(r){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},s(r)}var n=function(r){function t(r){var a;return function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),(a=function(r,t){return!t||"object"!==e(t)&&"function"!=typeof t?function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r):t}(this,s(t).call(this,r))).name="ObjectPrototypeMutationError",a}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&o(r,e)}(t,r),t}(t(Error));function i(r,t){for(var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=t.split("."),s=o.length,n=function(e){var t=o[e];if(!r)return{v:void 0};if("+"===t){if(Array.isArray(r))return{v:r.map((function(t,s){var n=o.slice(e+1);return n.length>0?i(t,n.join("."),a):a(r,s,o,e)}))};var s=o.slice(0,e).join(".");throw new Error("Object at wildcard (".concat(s,") is not an array"))}r=a(r,t,o,e)},c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;if("number"==typeof t)return t in r;try{var o=!1;return i(r,t,(function(r,e,t,s){if(!c(t,s))return r&&r[e];o=a.own?r.hasOwnProperty(e):e in r})),o}catch(r){return!1}},hasOwn:function(r,e,t){return this.has(r,e,t||{own:!0})},isIn:function(r,t,a){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("object"!=e(r)||null===r)return!1;if(void 0===t)return!1;try{var s=!1,n=!1;return i(r,t,(function(r,t,o,i){return s=s||r===a||!!r&&r[t]===a,n=c(o,i)&&"object"===e(r)&&t in r,r&&r[t]})),o.validPath?s&&n:s}catch(r){return!1}},ObjectPrototypeMutationError:n}},23722:(r,e,t)=>{"use strict";var a=t(34155),o=t(89539),s=function(r){return"string"==typeof r};function n(r,e){for(var t=[],a=0;a=-1&&!e;t--){var o=t>=0?arguments[t]:a.cwd();if(!s(o))throw new TypeError("Arguments to path.resolve must be strings");o&&(r=o+"/"+r,e="/"===o.charAt(0))}return(e?"/":"")+(r=n(r.split("/"),!e).join("/"))||"."},c.normalize=function(r){var e=c.isAbsolute(r),t="/"===r.substr(-1);return(r=n(r.split("/"),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},c.isAbsolute=function(r){return"/"===r.charAt(0)},c.join=function(){for(var r="",e=0;e=0&&""===r[t];t--);return e>t?[]:r.slice(e,t+1)}r=c.resolve(r).substr(1),e=c.resolve(e).substr(1);for(var a=t(r.split("/")),o=t(e.split("/")),s=Math.min(a.length,o.length),n=s,i=0;i{var a=t(5623);r.exports=function(r){return r?("{}"===r.substr(0,2)&&(r="\\{\\}"+r.substr(2)),m(function(r){return r.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(n).split("\\,").join(i).split("\\.").join(c)}(r),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",n="\0CLOSE"+Math.random()+"\0",i="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function l(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function u(r){return r.split(o).join("\\").split(s).join("{").split(n).join("}").split(i).join(",").split(c).join(".")}function p(r){if(!r)return[""];var e=[],t=a("{","}",r);if(!t)return r.split(",");var o=t.pre,s=t.body,n=t.post,i=o.split(",");i[i.length-1]+="{"+s+"}";var c=p(n);return n.length&&(i[i.length-1]+=c.shift(),i.push.apply(i,c)),e.push.apply(e,i),e}function d(r){return"{"+r+"}"}function g(r){return/^-?0\d/.test(r)}function h(r,e){return r<=e}function f(r,e){return r>=e}function m(r,e){var t=[],o=a("{","}",r);if(!o)return[r];var s=o.pre,i=o.post.length?m(o.post,!1):[""];if(/\$$/.test(o.pre))for(var c=0;c=0;if(!q&&!D)return o.post.match(/,.*\}/)?m(r=o.pre+"{"+o.body+n+o.post):[r];if(q)b=o.body.split(/\.\./);else if(1===(b=p(o.body)).length&&1===(b=m(b[0],!1).map(d)).length)return i.map((function(r){return o.pre+b[0]+r}));if(q){var A=l(b[0]),E=l(b[1]),x=Math.max(b[0].length,b[1].length),k=3==b.length?Math.abs(l(b[2])):1,L=h;E0){var R=new Array(T+1).join("0");C=j<0?"-"+R+C.slice(1):R+C}}v.push(C)}}else{v=[];for(var B=0;B{if(!t){var s=1/0;for(u=0;u=o)&&Object.keys(n.O).every((r=>n.O[r](t[c])))?t.splice(c--,1):(i=!1,o0&&r[u-1][2]>o;u--)r[u]=r[u-1];r[u]=[t,a,o]},n.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return n.d(e,{a:e}),e},n.d=(r,e)=>{for(var t in e)n.o(e,t)&&!n.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},n.f={},n.e=r=>Promise.all(Object.keys(n.f).reduce(((e,t)=>(n.f[t](r,e),e)),[])),n.u=r=>r+"-"+r+".js?v="+{923:"02b37a6174a781e7a8c2",1462:"52063571ff1e44226486",4322:"412f17bea41d1e48d8f3",5358:"c7fc5670e3cdb8b6d91e",7255:"c079633d2aa76f2d57fc"}[r],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),n.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),e={},a="nextcloud:",n.l=(r,t,o,s)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(g);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((r=>r(a))),t)return t(a)},g=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.nmd=r=>(r.paths=[],r.children||(r.children=[]),r),n.j=576,(()=>{var r;n.g.importScripts&&(r=n.g.location+"");var e=n.g.document;if(!r&&e&&(e.currentScript&&(r=e.currentScript.src),!r)){var t=e.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&!r;)r=t[a--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=r})(),(()=>{n.b=document.baseURI||self.location.href;var r={576:0};n.f.j=(e,t)=>{var a=n.o(r,e)?r[e]:void 0;if(0!==a)if(a)t.push(a[2]);else{var o=new Promise(((t,o)=>a=r[e]=[t,o]));t.push(a[2]=o);var s=n.p+n.u(e),i=new Error;n.l(s,(t=>{if(n.o(r,e)&&(0!==(a=r[e])&&(r[e]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+s+")",i.name="ChunkLoadError",i.type=o,i.request=s,a[1](i)}}),"chunk-"+e,e)}},n.O.j=e=>0===r[e];var e=(e,t)=>{var a,o,s=t[0],i=t[1],c=t[2],l=0;if(s.some((e=>0!==r[e]))){for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(c)var u=c(n)}for(e&&e(t);ln(21251)));i=n.O(i)})();
+//# sourceMappingURL=comments-comments-tab.js.map?v=50cdafcd063a1895eaad
\ No newline at end of file
diff --git a/dist/comments-comments-tab.js.map b/dist/comments-comments-tab.js.map
index ce22516ae4026..0df9b15e1dd58 100644
--- a/dist/comments-comments-tab.js.map
+++ b/dist/comments-comments-tab.js.map
@@ -1 +1 @@
-{"version":3,"file":"comments-comments-tab.js?v=d9cbd04e05c55512cd87","mappings":"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SAAS,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,UAAU,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,KAAK,KAAe,MAAM,IAAS,KAAK,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,UAAU,KAAe,WAAW,IAAS,UAAU,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,UAAU,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,WAAW,IAAS,WAAW,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,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,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/apps/comments/src/comments-activity-tab.ts","webpack:///nextcloud/apps/comments/src/comments-tab.js","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport moment from '@nextcloud/moment';\nimport Vue from 'vue';\nimport logger from './logger.js';\nimport { getComments } from './services/GetComments.js';\nlet ActivityTabPluginView;\nlet ActivityTabPluginInstance;\n/**\n * Register the comments plugins for the Activity sidebar\n */\nexport function registerCommentsPlugins() {\n    window.OCA.Activity.registerSidebarAction({\n        mount: async (el, { context, fileInfo, reload }) => {\n            if (!ActivityTabPluginView) {\n                const { default: ActivityCommmentAction } = await import('./views/ActivityCommentAction.vue');\n                ActivityTabPluginView = Vue.extend(ActivityCommmentAction);\n            }\n            ActivityTabPluginInstance = new ActivityTabPluginView({\n                parent: context,\n                propsData: {\n                    reloadCallback: reload,\n                    resourceId: fileInfo.id,\n                },\n            });\n            ActivityTabPluginInstance.$mount(el);\n            logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo });\n        },\n        unmount: () => {\n            // destroy previous instance if available\n            if (ActivityTabPluginInstance) {\n                ActivityTabPluginInstance.$destroy();\n            }\n        },\n    });\n    window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {\n        const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset });\n        logger.debug('Loaded comments', { fileInfo, comments });\n        const { default: CommentView } = await import('./views/ActivityCommentEntry.vue');\n        const CommentsViewObject = Vue.extend(CommentView);\n        return comments.map((comment) => ({\n            timestamp: moment(comment.props.creationDateTime).toDate().getTime(),\n            mount(element, { context, reload }) {\n                this._CommentsViewInstance = new CommentsViewObject({\n                    parent: context,\n                    propsData: {\n                        comment,\n                        resourceId: fileInfo.id,\n                        reloadCallback: reload,\n                    },\n                });\n                this._CommentsViewInstance.$mount(element);\n            },\n            unmount() {\n                this._CommentsViewInstance.$destroy();\n            },\n        }));\n    });\n    window.OCA.Activity.registerSidebarFilter((activity) => activity.type !== 'comments');\n    logger.info('Comments plugin registered for Activity sidebar action');\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { registerCommentsPlugins } from './comments-activity-tab.ts'\n\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken())\n\nif (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {\n\t// Do not mount own tab but mount into activity\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tregisterCommentsPlugins()\n\t})\n} else {\n\t// Init Comments tab component\n\tlet TabInstance = null\n\tconst commentTab = new OCA.Files.Sidebar.Tab({\n\t\tid: 'comments',\n\t\tname: t('comments', 'Comments'),\n\t\ticonSvg: MessageReplyText,\n\n\t\tasync mount(el, fileInfo, context) {\n\t\t\tif (TabInstance) {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t}\n\t\t\tTabInstance = new OCA.Comments.View('files', {\n\t\t\t\t// Better integration with vue parent component\n\t\t\t\tparent: context,\n\t\t\t})\n\t\t\t// Only mount after we have all the info we need\n\t\t\tawait TabInstance.update(fileInfo.id)\n\t\t\tTabInstance.$mount(el)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tTabInstance.update(fileInfo.id)\n\t\t},\n\t\tdestroy() {\n\t\t\tTabInstance.$destroy()\n\t\t\tTabInstance = null\n\t\t},\n\t\tscrollBottomReached() {\n\t\t\tTabInstance.onScrollBottomReached()\n\t\t},\n\t})\n\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\t\tOCA.Files.Sidebar.registerTab(commentTab)\n\t\t}\n\t})\n}\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\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\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"1462\":\"52063571ff1e44226486\",\"4322\":\"412f17bea41d1e48d8f3\",\"5358\":\"8ea58c7886c9b4f45bd3\",\"7255\":\"c079633d2aa76f2d57fc\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 576;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t576: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(21251)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","posixClasses","braceEscape","s","replace","rangesToString","ranges","join","parseClass","glob","position","pos","charAt","Error","negs","i","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","length","c","cls","unip","u","neg","Object","entries","startsWith","push","test","slice","sranges","snegs","p","pattern","options","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","Symbol","plTypes","open","close","qmark","star","charSet","split","reduce","set","reSpecials","addPatternStartSet","filter","a","b","assign","defaults","def","keys","orig","constructor","super","unescape","escape","makeRe","braceExpand","list","nobrace","TypeError","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","comment","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","this","allowWindowsEscape","undefined","make","hasMagic","magicalBraces","part","debug","_","parseNegate","Set","args","console","error","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","pop","levelTwoFileOptimize","Array","isArray","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","result","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","type","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","t","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","headers","output","key","get","PropertyType","getDirectoryFiles","isDetailed","arguments","multistatus","response","responseItems","item","propstat","prop","props","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","text","txt","document","createElement","innerHTML","value","he","decode","decodeHTMLEntities","stat","basename","lastmod","size","parseInt","mime","prepareFileFromProps","id","toString","ActivityTabPluginView","ActivityTabPluginInstance","__webpack_nonce__","btoa","getRequestToken","loadState","OCA","Activity","registerSidebarAction","window","addEventListener","mount","async","el","_ref","context","fileInfo","reload","default","ActivityCommmentAction","Vue","extend","parent","propsData","reloadCallback","resourceId","$mount","logger","info","unmount","$destroy","registerSidebarEntries","limit","offset","_ref2","data","comments","resourcePath","datetime","toISOString","client","customRequest","method","responseData","parseXML","status","statusText","processResponsePayload","getComments","CommentView","CommentsViewObject","timestamp","moment","creationDateTime","toDate","getTime","element","_ref3","_CommentsViewInstance","registerSidebarFilter","activity","TabInstance","commentTab","Files","Sidebar","Tab","name","iconSvg","Comments","View","update","destroy","scrollBottomReached","onScrollBottomReached","registerTab","getLoggerBuilder","setApp","detectUser","build","createClient","getRootPath","requesttoken","generateRemoteUrl","balanced","str","maybeMatch","r","range","end","pre","body","post","reg","begs","beg","left","right","module","exports","root","freeGlobal","g","global","InvalidCharacterError","message","prototype","TABLE","REGEX_SPACE_CHARACTERS","base64","input","String","buffer","padding","charCodeAt","bitStorage","bitCounter","fromCharCode","validator","XMLParser","XMLBuilder","XMLValidator","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","hasOwnProperty","has","object","propertyName","call","merge","codePointToSymbol","codePoint","strict","parseError","array","index","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","code","resolve","_typeof","obj","iterator","_wrapNativeSuper","Class","_cache","Map","fn","Function","Wrapper","_construct","_getPrototypeOf","create","enumerable","writable","configurable","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","apply","instance","bind","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","params","_this","Constructor","_classCallCheck","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","callback","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","concat","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","Number","isInteger","nextPropIsArrayWildcard","err","own","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","from","to","trim","arr","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","defineProperty","chunkId","Promise","all","promises","globalThis","l","url","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","target","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"comments-comments-tab.js?v=50cdafcd063a1895eaad","mappings":"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SAAS,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,UAAU,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,KAAK,KAAe,MAAM,IAAS,KAAK,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,UAAU,KAAe,WAAW,IAAS,UAAU,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,UAAU,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,WAAW,IAAS,WAAW,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,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,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/brace-expressions.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/index.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/headers.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/escape.js","webpack:///nextcloud/node_modules/webdav/node_modules/minimatch/dist/mjs/unescape.js","webpack:///nextcloud/node_modules/webdav/dist/node/tools/dav.js","webpack:///nextcloud/apps/comments/src/services/GetComments.ts","webpack:///nextcloud/node_modules/webdav/dist/node/tools/encode.js","webpack:///nextcloud/apps/comments/src/comments-activity-tab.ts","webpack:///nextcloud/apps/comments/src/comments-tab.js","webpack:///nextcloud/node_modules/webdav/dist/node/response.js","webpack:///nextcloud/apps/comments/src/logger.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/node_modules/balanced-match/index.js","webpack:///nextcloud/node_modules/base-64/base64.js","webpack:///nextcloud/node_modules/fast-xml-parser/src/fxp.js","webpack:///nextcloud/node_modules/he/he.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/nested-property/dist/nested-property.js","webpack:///nextcloud/node_modules/path-posix/index.js","webpack:///nextcloud/node_modules/webdav/node_modules/brace-expansion/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\n//# sourceMappingURL=brace-expressions.js.map","import expand from 'brace-expansion';\nimport { parseClass } from './brace-expressions.js';\nimport { escape } from './escape.js';\nimport { unescape } from './unescape.js';\nexport const minimatch = (p, pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexport default minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nminimatch.sep = sep;\nexport const GLOBSTAR = Symbol('globstar **');\nminimatch.GLOBSTAR = GLOBSTAR;\nconst plTypes = {\n    '!': { open: '(?:(?!(?:', close: '))[^/]*?)' },\n    '?': { open: '(?:', close: ')?' },\n    '+': { open: '(?:', close: ')+' },\n    '*': { open: '(?:', close: ')*' },\n    '@': { open: '(?:', close: ')' },\n};\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\n// \"abc\" -> { a:true, b:true, c:true }\nconst charSet = (s) => s.split('').reduce((set, c) => {\n    set[c] = true;\n    return set;\n}, {});\n// characters that need to be escaped in RegExp.\nconst reSpecials = charSet('().*{}+?[]^$\\\\!');\n// characters that indicate we have to add the pattern start\nconst addPatternStartSet = charSet('[.(');\nexport const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);\nminimatch.filter = filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nexport const defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return minimatch;\n    }\n    const orig = minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: GLOBSTAR,\n    });\n};\nminimatch.defaults = defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (pattern, options = {}) => {\n    assertValidPattern(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return expand(pattern);\n};\nminimatch.braceExpand = braceExpand;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nexport const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nminimatch.makeRe = makeRe;\nexport const match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nminimatch.match = match;\n// replace stuff like \\* with *\nconst globUnescape = (s) => s.replace(/\\\\(.)/g, '$1');\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nexport class Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        assertValidPattern(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // a UNC pattern like //?/c:/* can match a path like c:/x\n        // and vice versa\n        if (this.isWindows) {\n            const fileUNC = file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                typeof file[3] === 'string' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternUNC = pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            if (fileUNC && patternUNC) {\n                const fd = file[3];\n                const pd = pattern[3];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    file[3] = pd;\n                }\n            }\n            else if (patternUNC && typeof file[0] === 'string') {\n                const pd = pattern[3];\n                const fd = file[0];\n                if (pd.toLowerCase() === fd.toLowerCase()) {\n                    pattern[3] = fd;\n                    pattern = pattern.slice(3);\n                }\n            }\n            else if (fileUNC && typeof pattern[0] === 'string') {\n                const fd = file[3];\n                if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n                    pattern[0] = fd;\n                    file = file.slice(3);\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return braceExpand(this.pattern, this.options);\n    }\n    parse(pattern) {\n        assertValidPattern(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        let re = '';\n        let hasMagic = false;\n        let escaping = false;\n        // ? => one single character\n        const patternListStack = [];\n        const negativeLists = [];\n        let stateChar = false;\n        let uflag = false;\n        let pl;\n        // . and .. never match anything that doesn't start with .,\n        // even when options.dot is set.  However, if the pattern\n        // starts with ., then traversal patterns can match.\n        let dotTravAllowed = pattern.charAt(0) === '.';\n        let dotFileAllowed = options.dot || dotTravAllowed;\n        const patternStart = () => dotTravAllowed\n            ? ''\n            : dotFileAllowed\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const subPatternStart = (p) => p.charAt(0) === '.'\n            ? ''\n            : options.dot\n                ? '(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))'\n                : '(?!\\\\.)';\n        const clearStateChar = () => {\n            if (stateChar) {\n                // we had some state-tracking character\n                // that wasn't consumed by this pass.\n                switch (stateChar) {\n                    case '*':\n                        re += star;\n                        hasMagic = true;\n                        break;\n                    case '?':\n                        re += qmark;\n                        hasMagic = true;\n                        break;\n                    default:\n                        re += '\\\\' + stateChar;\n                        break;\n                }\n                this.debug('clearStateChar %j %j', stateChar, re);\n                stateChar = false;\n            }\n        };\n        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {\n            this.debug('%s\\t%s %s %j', pattern, i, re, c);\n            // skip over any that are escaped.\n            if (escaping) {\n                // completely not allowed, even escaped.\n                // should be impossible.\n                /* c8 ignore start */\n                if (c === '/') {\n                    return false;\n                }\n                /* c8 ignore stop */\n                if (reSpecials[c]) {\n                    re += '\\\\';\n                }\n                re += c;\n                escaping = false;\n                continue;\n            }\n            switch (c) {\n                // Should already be path-split by now.\n                /* c8 ignore start */\n                case '/': {\n                    return false;\n                }\n                /* c8 ignore stop */\n                case '\\\\':\n                    clearStateChar();\n                    escaping = true;\n                    continue;\n                // the various stateChar values\n                // for the \"extglob\" stuff.\n                case '?':\n                case '*':\n                case '+':\n                case '@':\n                case '!':\n                    this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c);\n                    // if we already have a stateChar, then it means\n                    // that there was something like ** or +? in there.\n                    // Handle the stateChar, then proceed with this one.\n                    this.debug('call clearStateChar %j', stateChar);\n                    clearStateChar();\n                    stateChar = c;\n                    // if extglob is disabled, then +(asdf|foo) isn't a thing.\n                    // just clear the statechar *now*, rather than even diving into\n                    // the patternList stuff.\n                    if (options.noext)\n                        clearStateChar();\n                    continue;\n                case '(': {\n                    if (!stateChar) {\n                        re += '\\\\(';\n                        continue;\n                    }\n                    const plEntry = {\n                        type: stateChar,\n                        start: i - 1,\n                        reStart: re.length,\n                        open: plTypes[stateChar].open,\n                        close: plTypes[stateChar].close,\n                    };\n                    this.debug(this.pattern, '\\t', plEntry);\n                    patternListStack.push(plEntry);\n                    // negation is (?:(?!(?:js)(?:))[^/]*)\n                    re += plEntry.open;\n                    // next entry starts with a dot maybe?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    this.debug('plType %j %j', stateChar, re);\n                    stateChar = false;\n                    continue;\n                }\n                case ')': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\)';\n                        continue;\n                    }\n                    patternListStack.pop();\n                    // closing an extglob\n                    clearStateChar();\n                    hasMagic = true;\n                    pl = plEntry;\n                    // negation is (?:(?!js)[^/]*)\n                    // The others are (?:)\n                    re += pl.close;\n                    if (pl.type === '!') {\n                        negativeLists.push(Object.assign(pl, { reEnd: re.length }));\n                    }\n                    continue;\n                }\n                case '|': {\n                    const plEntry = patternListStack[patternListStack.length - 1];\n                    if (!plEntry) {\n                        re += '\\\\|';\n                        continue;\n                    }\n                    clearStateChar();\n                    re += '|';\n                    // next subpattern can start with a dot?\n                    if (plEntry.start === 0 && plEntry.type !== '!') {\n                        dotTravAllowed = true;\n                        re += subPatternStart(pattern.slice(i + 1));\n                    }\n                    continue;\n                }\n                // these are mostly the same in regexp and glob\n                case '[':\n                    // swallow any state-tracking char before the [\n                    clearStateChar();\n                    const [src, needUflag, consumed, magic] = parseClass(pattern, i);\n                    if (consumed) {\n                        re += src;\n                        uflag = uflag || needUflag;\n                        i += consumed - 1;\n                        hasMagic = hasMagic || magic;\n                    }\n                    else {\n                        re += '\\\\[';\n                    }\n                    continue;\n                case ']':\n                    re += '\\\\' + c;\n                    continue;\n                default:\n                    // swallow any state char that wasn't consumed\n                    clearStateChar();\n                    re += regExpEscape(c);\n                    break;\n            } // switch\n        } // for\n        // handle the case where we had a +( thing at the *end*\n        // of the pattern.\n        // each pattern list stack adds 3 chars, and we need to go through\n        // and escape any | chars that were passed through as-is for the regexp.\n        // Go through and escape them, taking care not to double-escape any\n        // | chars that were already escaped.\n        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n            let tail;\n            tail = re.slice(pl.reStart + pl.open.length);\n            this.debug(this.pattern, 'setting tail', re, pl);\n            // maybe some even number of \\, then maybe 1 \\, followed by a |\n            tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, (_, $1, $2) => {\n                if (!$2) {\n                    // the | isn't already escaped, so escape it.\n                    $2 = '\\\\';\n                    // should already be done\n                    /* c8 ignore start */\n                }\n                /* c8 ignore stop */\n                // need to escape all those slashes *again*, without escaping the\n                // one that we need for escaping the | character.  As it works out,\n                // escaping an even number of slashes can be done by simply repeating\n                // it exactly after itself.  That's why this trick works.\n                //\n                // I am sorry that you have to see this.\n                return $1 + $1 + $2 + '|';\n            });\n            this.debug('tail=%j\\n   %s', tail, tail, pl, re);\n            const t = pl.type === '*' ? star : pl.type === '?' ? qmark : '\\\\' + pl.type;\n            hasMagic = true;\n            re = re.slice(0, pl.reStart) + t + '\\\\(' + tail;\n        }\n        // handle trailing things that only matter at the very end.\n        clearStateChar();\n        if (escaping) {\n            // trailing \\\\\n            re += '\\\\\\\\';\n        }\n        // only need to apply the nodot start if the re starts with\n        // something that could conceivably capture a dot\n        const addPatternStart = addPatternStartSet[re.charAt(0)];\n        // Hack to work around lack of negative lookbehind in JS\n        // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n        // like 'a.xyz.yz' doesn't match.  So, the first negative\n        // lookahead, has to look ALL the way ahead, to the end of\n        // the pattern.\n        for (let n = negativeLists.length - 1; n > -1; n--) {\n            const nl = negativeLists[n];\n            const nlBefore = re.slice(0, nl.reStart);\n            const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);\n            let nlAfter = re.slice(nl.reEnd);\n            const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;\n            // Handle nested stuff like *(*.js|!(*.json)), where open parens\n            // mean that we should *not* include the ) in the bit that is considered\n            // \"after\" the negated section.\n            const closeParensBefore = nlBefore.split(')').length;\n            const openParensBefore = nlBefore.split('(').length - closeParensBefore;\n            let cleanAfter = nlAfter;\n            for (let i = 0; i < openParensBefore; i++) {\n                cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '');\n            }\n            nlAfter = cleanAfter;\n            const dollar = nlAfter === '' ? '(?:$|\\\\/)' : '';\n            re = nlBefore + nlFirst + nlAfter + dollar + nlLast;\n        }\n        // if the re is not \"\" at this point, then we need to make sure\n        // it doesn't match against an empty path part.\n        // Otherwise a/* will match a/, which it should not.\n        if (re !== '' && hasMagic) {\n            re = '(?=.)' + re;\n        }\n        if (addPatternStart) {\n            re = patternStart() + re;\n        }\n        // if it's nocase, and the lcase/uppercase don't match, it's magic\n        if (options.nocase && !hasMagic && !options.nocaseMagicOnly) {\n            hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();\n        }\n        // skip the regexp for non-magical patterns\n        // unescape anything in it, though, so that it'll be\n        // an exact match against a file etc.\n        if (!hasMagic) {\n            return globUnescape(re);\n        }\n        const flags = (options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        try {\n            const ext = fastTest\n                ? {\n                    _glob: pattern,\n                    _src: re,\n                    test: fastTest,\n                }\n                : {\n                    _glob: pattern,\n                    _src: re,\n                };\n            return Object.assign(new RegExp('^' + re + '$', flags), ext);\n            /* c8 ignore start */\n        }\n        catch (er) {\n            // should be impossible\n            // If it was an invalid regular expression, then it can't match\n            // anything.  This trick looks for a character after the end of\n            // the string, which is of course impossible, except in multi-line\n            // mode, but it's not a /m regex.\n            this.debug('invalid regexp', er);\n            return new RegExp('$.');\n        }\n        /* c8 ignore stop */\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = options.nocase ? 'i' : '';\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => typeof p === 'string'\n                ? regExpEscape(p)\n                : p === GLOBSTAR\n                    ? GLOBSTAR\n                    : p._src);\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== GLOBSTAR || prev === GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== GLOBSTAR).join('/');\n        })\n            .join('|');\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^(?:' + re + ')$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').*$';\n        try {\n            this.regexp = new RegExp(re, flags);\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return minimatch.defaults(def).Minimatch;\n    }\n}\n/* c8 ignore start */\nexport { escape } from './escape.js';\nexport { unescape } from './unescape.js';\n/* c8 ignore stop */\nminimatch.Minimatch = Minimatch;\nminimatch.escape = escape;\nminimatch.unescape = unescape;\n//# sourceMappingURL=index.js.map","export function convertResponseHeaders(headers) {\n    const output = {};\n    for (const key of headers.keys()) {\n        output[key] = headers.get(key);\n    }\n    return output;\n}\nexport function mergeHeaders(...headerPayloads) {\n    if (headerPayloads.length === 0)\n        return {};\n    const headerKeys = {};\n    return headerPayloads.reduce((output, headers) => {\n        Object.keys(headers).forEach(header => {\n            const lowerHeader = header.toLowerCase();\n            if (headerKeys.hasOwnProperty(lowerHeader)) {\n                output[headerKeys[lowerHeader]] = headers[header];\n            }\n            else {\n                headerKeys[lowerHeader] = header;\n                output[header] = headers[header];\n            }\n        });\n        return output;\n    }, {});\n}\n","/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\n//# sourceMappingURL=escape.js.map","/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\n//# sourceMappingURL=unescape.js.map","import path from \"path-posix\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport nestedProp from \"nested-property\";\nimport { decodeHTMLEntities } from \"./encode.js\";\nimport { encodePath, normalisePath } from \"./path.js\";\nvar PropertyType;\n(function (PropertyType) {\n    PropertyType[\"Array\"] = \"array\";\n    PropertyType[\"Object\"] = \"object\";\n    PropertyType[\"Original\"] = \"original\";\n})(PropertyType || (PropertyType = {}));\nfunction getParser() {\n    return new XMLParser({\n        removeNSPrefix: true,\n        numberParseOptions: {\n            hex: true,\n            leadingZeros: false\n        }\n        // // We don't use the processors here as decoding is done manually\n        // // later on - decoding early would break some path checks.\n        // attributeValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val)),\n        // tagValueProcessor: val => decodeHTMLEntities(decodeURIComponent(val))\n    });\n}\nfunction getPropertyOfType(obj, prop, type = PropertyType.Original) {\n    const val = nestedProp.get(obj, prop);\n    if (type === \"array\" && Array.isArray(val) === false) {\n        return [val];\n    }\n    else if (type === \"object\" && Array.isArray(val)) {\n        return val[0];\n    }\n    return val;\n}\nfunction normaliseResponse(response) {\n    const output = Object.assign({}, response);\n    // Only either status OR propstat is allowed\n    if (output.status) {\n        nestedProp.set(output, \"status\", getPropertyOfType(output, \"status\", PropertyType.Object));\n    }\n    else {\n        nestedProp.set(output, \"propstat\", getPropertyOfType(output, \"propstat\", PropertyType.Object));\n        nestedProp.set(output, \"propstat.prop\", getPropertyOfType(output, \"propstat.prop\", PropertyType.Object));\n    }\n    return output;\n}\nfunction normaliseResult(result) {\n    const { multistatus } = result;\n    if (multistatus === \"\") {\n        return {\n            multistatus: {\n                response: []\n            }\n        };\n    }\n    if (!multistatus) {\n        throw new Error(\"Invalid response: No root multistatus found\");\n    }\n    const output = {\n        multistatus: Array.isArray(multistatus) ? multistatus[0] : multistatus\n    };\n    nestedProp.set(output, \"multistatus.response\", getPropertyOfType(output, \"multistatus.response\", PropertyType.Array));\n    nestedProp.set(output, \"multistatus.response\", nestedProp.get(output, \"multistatus.response\").map(response => normaliseResponse(response)));\n    return output;\n}\n/**\n * Parse an XML response from a WebDAV service,\n *  converting it to an internal DAV result\n * @param xml The raw XML string\n * @returns A parsed and processed DAV result\n */\nexport function parseXML(xml) {\n    return new Promise(resolve => {\n        const result = getParser().parse(xml);\n        resolve(normaliseResult(result));\n    });\n}\nexport function prepareFileFromProps(props, rawFilename, isDetailed = false) {\n    // Last modified time, raw size, item type and mime\n    const { getlastmodified: lastMod = null, getcontentlength: rawSize = \"0\", resourcetype: resourceType = null, getcontenttype: mimeType = null, getetag: etag = null } = props;\n    const type = resourceType &&\n        typeof resourceType === \"object\" &&\n        typeof resourceType.collection !== \"undefined\"\n        ? \"directory\"\n        : \"file\";\n    const filename = decodeHTMLEntities(rawFilename);\n    const stat = {\n        filename,\n        basename: path.basename(filename),\n        lastmod: lastMod,\n        size: parseInt(rawSize, 10),\n        type,\n        etag: typeof etag === \"string\" ? etag.replace(/\"/g, \"\") : null\n    };\n    if (type === \"file\") {\n        stat.mime = mimeType && typeof mimeType === \"string\" ? mimeType.split(\";\")[0] : \"\";\n    }\n    if (isDetailed) {\n        stat.props = props;\n    }\n    return stat;\n}\n/**\n * Parse a DAV result for file stats\n * @param result The resulting DAV response\n * @param filename The filename that was stat'd\n * @param isDetailed Whether or not the raw props of\n *  the resource should be returned\n * @returns A file stat result\n */\nexport function parseStat(result, filename, isDetailed = false) {\n    let responseItem = null;\n    try {\n        // should be a propstat response, if not the if below will throw an error\n        if (result.multistatus.response[0].propstat) {\n            responseItem = result.multistatus.response[0];\n        }\n    }\n    catch (e) {\n        /* ignore */\n    }\n    if (!responseItem) {\n        throw new Error(\"Failed getting item stat: bad response\");\n    }\n    const { propstat: { prop: props, status: statusLine } } = responseItem;\n    // As defined in https://tools.ietf.org/html/rfc2068#section-6.1\n    const [_, statusCodeStr, statusText] = statusLine.split(\" \", 3);\n    const statusCode = parseInt(statusCodeStr, 10);\n    if (statusCode >= 400) {\n        const err = new Error(`Invalid response: ${statusCode} ${statusText}`);\n        err.status = statusCode;\n        throw err;\n    }\n    const filePath = normalisePath(filename);\n    return prepareFileFromProps(props, filePath, isDetailed);\n}\n/**\n * Parse a DAV result for a search request\n *\n * @param result The resulting DAV response\n * @param searchArbiter The collection path that was searched\n * @param isDetailed Whether or not the raw props of the resource should be returned\n */\nexport function parseSearch(result, searchArbiter, isDetailed) {\n    const response = {\n        truncated: false,\n        results: []\n    };\n    response.truncated = result.multistatus.response.some(v => {\n        return ((v.status || v.propstat?.status).split(\" \", 3)?.[1] === \"507\" &&\n            v.href.replace(/\\/$/, \"\").endsWith(encodePath(searchArbiter).replace(/\\/$/, \"\")));\n    });\n    result.multistatus.response.forEach(result => {\n        if (result.propstat === undefined) {\n            return;\n        }\n        const filename = result.href.split(\"/\").map(decodeURIComponent).join(\"/\");\n        response.results.push(prepareFileFromProps(result.propstat.prop, filename, isDetailed));\n    });\n    return response;\n}\n/**\n * Translate a disk quota indicator to a recognised\n *  value (includes \"unlimited\" and \"unknown\")\n * @param value The quota indicator, eg. \"-3\"\n * @returns The value in bytes, or another indicator\n */\nexport function translateDiskSpace(value) {\n    switch (value.toString()) {\n        case \"-3\":\n            return \"unlimited\";\n        case \"-2\":\n        /* falls-through */\n        case \"-1\":\n            // -1 is non-computed\n            return \"unknown\";\n        default:\n            return parseInt(value, 10);\n    }\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { parseXML } from 'webdav';\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js';\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js';\nimport client from './DavClient.js';\nexport const DEFAULT_LIMIT = 20;\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.resourceType the resource type\n * @param {number} data.resourceId the resource ID\n * @param {object} [options] optional options for axios\n * @param {number} [options.offset] the pagination offset\n * @param {number} [options.limit] the pagination limit, defaults to 20\n * @param {Date} [options.datetime] optional date to query\n * @return {{data: object[]}} the comments list\n */\nexport const getComments = async function ({ resourceType, resourceId }, options) {\n    const resourcePath = ['', resourceType, resourceId].join('/');\n    const datetime = options.datetime ? `${options.datetime.toISOString()}` : '';\n    const response = await client.customRequest(resourcePath, Object.assign({\n        method: 'REPORT',\n        data: `\n\t\t\t\n\t\t\t\t${options.limit ?? DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t\t${datetime}\n\t\t\t`,\n    }, options));\n    const responseData = await response.text();\n    const result = await parseXML(responseData);\n    const stat = getDirectoryFiles(result, true);\n    return processResponsePayload(response, stat, true);\n};\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function (result, isDetailed = false) {\n    // Extract the response items (directory contents)\n    const { multistatus: { response: responseItems }, } = result;\n    // Map all items to a consistent output structure (results)\n    return responseItems.map(item => {\n        // Each item should contain a stat object\n        const { propstat: { prop: props }, } = item;\n        return prepareFileFromProps(props, props.id.toString(), isDetailed);\n    });\n};\n","import base64 from \"base-64\";\nimport he from \"he\";\nimport { isWeb } from \"../compat/env.js\";\nexport function decodeHTMLEntities(text) {\n    if (!isWeb()) {\n        // Node\n        return he.decode(text);\n    }\n    else {\n        // Nasty browser way\n        const txt = document.createElement(\"textarea\");\n        txt.innerHTML = text;\n        return txt.value;\n    }\n}\nexport function fromBase64(text) {\n    return base64.decode(text);\n}\nexport function toBase64(text) {\n    return base64.encode(text);\n}\n","/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen \n *\n * @author Ferdinand Thiessen \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport moment from '@nextcloud/moment';\nimport Vue from 'vue';\nimport logger from './logger.js';\nimport { getComments } from './services/GetComments.js';\nlet ActivityTabPluginView;\nlet ActivityTabPluginInstance;\n/**\n * Register the comments plugins for the Activity sidebar\n */\nexport function registerCommentsPlugins() {\n    window.OCA.Activity.registerSidebarAction({\n        mount: async (el, { context, fileInfo, reload }) => {\n            if (!ActivityTabPluginView) {\n                const { default: ActivityCommmentAction } = await import('./views/ActivityCommentAction.vue');\n                ActivityTabPluginView = Vue.extend(ActivityCommmentAction);\n            }\n            ActivityTabPluginInstance = new ActivityTabPluginView({\n                parent: context,\n                propsData: {\n                    reloadCallback: reload,\n                    resourceId: fileInfo.id,\n                },\n            });\n            ActivityTabPluginInstance.$mount(el);\n            logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo });\n        },\n        unmount: () => {\n            // destroy previous instance if available\n            if (ActivityTabPluginInstance) {\n                ActivityTabPluginInstance.$destroy();\n            }\n        },\n    });\n    window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {\n        const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset });\n        logger.debug('Loaded comments', { fileInfo, comments });\n        const { default: CommentView } = await import('./views/ActivityCommentEntry.vue');\n        const CommentsViewObject = Vue.extend(CommentView);\n        return comments.map((comment) => ({\n            timestamp: moment(comment.props.creationDateTime).toDate().getTime(),\n            mount(element, { context, reload }) {\n                this._CommentsViewInstance = new CommentsViewObject({\n                    parent: context,\n                    propsData: {\n                        comment,\n                        resourceId: fileInfo.id,\n                        reloadCallback: reload,\n                    },\n                });\n                this._CommentsViewInstance.$mount(element);\n            },\n            unmount() {\n                this._CommentsViewInstance.$destroy();\n            },\n        }));\n    });\n    window.OCA.Activity.registerSidebarFilter((activity) => activity.type !== 'comments');\n    logger.info('Comments plugin registered for Activity sidebar action');\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { registerCommentsPlugins } from './comments-activity-tab.ts'\n\n// @ts-expect-error __webpack_nonce__ is injected by webpack\n__webpack_nonce__ = btoa(getRequestToken())\n\nif (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {\n\t// Do not mount own tab but mount into activity\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tregisterCommentsPlugins()\n\t})\n} else {\n\t// Init Comments tab component\n\tlet TabInstance = null\n\tconst commentTab = new OCA.Files.Sidebar.Tab({\n\t\tid: 'comments',\n\t\tname: t('comments', 'Comments'),\n\t\ticonSvg: MessageReplyText,\n\n\t\tasync mount(el, fileInfo, context) {\n\t\t\tif (TabInstance) {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t}\n\t\t\tTabInstance = new OCA.Comments.View('files', {\n\t\t\t\t// Better integration with vue parent component\n\t\t\t\tparent: context,\n\t\t\t})\n\t\t\t// Only mount after we have all the info we need\n\t\t\tawait TabInstance.update(fileInfo.id)\n\t\t\tTabInstance.$mount(el)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tTabInstance.update(fileInfo.id)\n\t\t},\n\t\tdestroy() {\n\t\t\tTabInstance.$destroy()\n\t\t\tTabInstance = null\n\t\t},\n\t\tscrollBottomReached() {\n\t\t\tTabInstance.onScrollBottomReached()\n\t\t},\n\t})\n\n\twindow.addEventListener('DOMContentLoaded', function() {\n\t\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\t\tOCA.Files.Sidebar.registerTab(commentTab)\n\t\t}\n\t})\n}\n","import minimatch from \"minimatch\";\nimport { convertResponseHeaders } from \"./tools/headers.js\";\nexport function createErrorFromResponse(response, prefix = \"\") {\n    const err = new Error(`${prefix}Invalid response: ${response.status} ${response.statusText}`);\n    err.status = response.status;\n    err.response = response;\n    return err;\n}\nexport function handleResponseCode(context, response) {\n    const { status } = response;\n    if (status === 401 && context.digest)\n        return response;\n    if (status >= 400) {\n        const err = createErrorFromResponse(response);\n        throw err;\n    }\n    return response;\n}\nexport function processGlobFilter(files, glob) {\n    return files.filter(file => minimatch(file.filename, glob, { matchBase: true }));\n}\n/**\n * Process a response payload (eg. from `customRequest`) and\n *  prepare it for further processing. Exposed for custom\n *  request handling.\n * @param response The response for a request\n * @param data The data returned\n * @param isDetailed Whether or not a detailed result is\n *  requested\n * @returns The response data, or a detailed response object\n *  if required\n */\nexport function processResponsePayload(response, data, isDetailed = false) {\n    return isDetailed\n        ? {\n            data,\n            headers: response.headers ? convertResponseHeaders(response.headers) : {},\n            status: response.status,\n            statusText: response.statusText\n        }\n        : data;\n}\n","/**\n * @copyright Copyright (c) 2023 Lucas Azevedo \n *\n * @author Lucas Azevedo \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('comments')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n  XMLParser: XMLParser,\n  XMLValidator: validator,\n  XMLBuilder: XMLBuilder\n}","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// All astral symbols.\n\tvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\t// All ASCII symbols (not just printable ASCII) except those listed in the\n\t// first column of the overrides table.\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n\tvar regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n\t// All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n\t// code points listed in the first column of the overrides table on\n\t// https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n\tvar regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n\n\tvar regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer \n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n  _inherits(ObjectPrototypeMutationError, _Error);\n\n  function ObjectPrototypeMutationError(params) {\n    var _this;\n\n    _classCallCheck(this, ObjectPrototypeMutationError);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n    _this.name = \"ObjectPrototypeMutationError\";\n    return _this;\n  }\n\n  return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n  set: setNestedProperty,\n  get: getNestedProperty,\n  has: hasNestedProperty,\n  hasOwn: function hasOwn(object, property, options) {\n    return this.has(object, property, options || {\n      own: true\n    });\n  },\n  isIn: isInNestedProperty,\n  ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    return object;\n  }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n *  - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  if (typeof property == \"number\") {\n    return property in object;\n  }\n\n  try {\n    var has = false;\n    traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n      if (isLastSegment(segments, index)) {\n        if (options.own) {\n          has = currentObject.hasOwnProperty(currentProperty);\n        } else {\n          has = currentProperty in currentObject;\n        }\n      } else {\n        return currentObject && currentObject[currentProperty];\n      }\n    });\n    return has;\n  } catch (err) {\n    return false;\n  }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n  if (_typeof(object) != \"object\" || object === null) {\n    return object;\n  }\n\n  if (typeof property == \"undefined\") {\n    return object;\n  }\n\n  if (typeof property == \"number\") {\n    object[property] = value;\n    return object[property];\n  }\n\n  try {\n    return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n      if (currentObject === Reflect.getPrototypeOf({})) {\n        throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n      }\n\n      if (!currentObject[currentProperty]) {\n        var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n        var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n        if (nextPropIsNumber || nextPropIsArrayWildcard) {\n          currentObject[currentProperty] = [];\n        } else {\n          currentObject[currentProperty] = {};\n        }\n      }\n\n      if (isLastSegment(segments, index)) {\n        currentObject[currentProperty] = value;\n      }\n\n      return currentObject[currentProperty];\n    });\n  } catch (err) {\n    if (err instanceof ObjectPrototypeMutationError) {\n      // rethrow\n      throw err;\n    } else {\n      return object;\n    }\n  }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n *  - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (_typeof(object) != \"object\" || object === null) {\n    return false;\n  }\n\n  if (typeof property == \"undefined\") {\n    return false;\n  }\n\n  try {\n    var isIn = false,\n        pathExists = false;\n    traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n      isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n      pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n      return currentObject && currentObject[currentProperty];\n    });\n\n    if (options.validPath) {\n      return isIn && pathExists;\n    } else {\n      return isIn;\n    }\n  } catch (err) {\n    return false;\n  }\n}\n\nfunction traverse(object, path) {\n  var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n  var segments = path.split(PATH_DELIMITER);\n  var length = segments.length;\n\n  var _loop = function _loop(idx) {\n    var currentSegment = segments[idx];\n\n    if (!object) {\n      return {\n        v: void 0\n      };\n    }\n\n    if (currentSegment === ARRAY_WILDCARD) {\n      if (Array.isArray(object)) {\n        return {\n          v: object.map(function (value, index) {\n            var remainingSegments = segments.slice(idx + 1);\n\n            if (remainingSegments.length > 0) {\n              return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n            } else {\n              return callback(object, index, segments, idx);\n            }\n          })\n        };\n      } else {\n        var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n        throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n      }\n    } else {\n      object = callback(object, currentSegment, segments, idx);\n    }\n  };\n\n  for (var idx = 0; idx < length; idx++) {\n    var _ret = _loop(idx);\n\n    if (_typeof(_ret) === \"object\") return _ret.v;\n  }\n\n  return object;\n}\n\nfunction isLastSegment(segments, index) {\n  return segments.length === index + 1;\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\n'use strict';\nvar util = require('util');\nvar isString = function (x) {\n  return typeof x === 'string';\n};\n\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  var res = [];\n  for (var i = 0; i < parts.length; i++) {\n    var p = parts[i];\n\n    // ignore empty parts\n    if (!p || p === '.')\n      continue;\n\n    if (p === '..') {\n      if (res.length && res[res.length - 1] !== '..') {\n        res.pop();\n      } else if (allowAboveRoot) {\n        res.push('..');\n      }\n    } else {\n      res.push(p);\n    }\n  }\n\n  return res;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n  return splitPathRe.exec(filename).slice(1);\n}\n\n\n// path.resolve([from ...], to)\n// posix version\nposix.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (!isString(path)) {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\n                                !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nposix.normalize = function(path) {\n  var isAbsolute = posix.isAbsolute(path),\n      trailingSlash = path.substr(-1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nposix.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nposix.join = function() {\n  var path = '';\n  for (var i = 0; i < arguments.length; i++) {\n    var segment = arguments[i];\n    if (!isString(segment)) {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    if (segment) {\n      if (!path) {\n        path += segment;\n      } else {\n        path += '/' + segment;\n      }\n    }\n  }\n  return posix.normalize(path);\n};\n\n\n// path.relative(from, to)\n// posix version\nposix.relative = function(from, to) {\n  from = posix.resolve(from).substr(1);\n  to = posix.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\n\nposix._makeLong = function(path) {\n  return path;\n};\n\n\nposix.dirname = function(path) {\n  var result = posixSplitPath(path),\n      root = result[0],\n      dir = result[1];\n\n  if (!root && !dir) {\n    // No dirname whatsoever\n    return '.';\n  }\n\n  if (dir) {\n    // It has a dirname, strip trailing slash\n    dir = dir.substr(0, dir.length - 1);\n  }\n\n  return root + dir;\n};\n\n\nposix.basename = function(path, ext) {\n  var f = posixSplitPath(path)[2];\n  // TODO: make this comparison case-insensitive on windows?\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\n\nposix.extname = function(path) {\n  return posixSplitPath(path)[3];\n};\n\n\nposix.format = function(pathObject) {\n  if (!util.isObject(pathObject)) {\n    throw new TypeError(\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\n    );\n  }\n\n  var root = pathObject.root || '';\n\n  if (!isString(root)) {\n    throw new TypeError(\n        \"'pathObject.root' must be a string or undefined, not \" +\n        typeof pathObject.root\n    );\n  }\n\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\n  var base = pathObject.base || '';\n  return dir + base;\n};\n\n\nposix.parse = function(pathString) {\n  if (!isString(pathString)) {\n    throw new TypeError(\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\n    );\n  }\n  var allParts = posixSplitPath(pathString);\n  if (!allParts || allParts.length !== 4) {\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n  }\n  allParts[1] = allParts[1] || '';\n  allParts[2] = allParts[2] || '';\n  allParts[3] = allParts[3] || '';\n\n  return {\n    root: allParts[0],\n    dir: allParts[0] + allParts[1].slice(0, allParts[1].length - 1),\n    base: allParts[2],\n    ext: allParts[3],\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\n  };\n};\n\n\nposix.sep = '/';\nposix.delimiter = ':';\n\n  module.exports = posix;\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"1462\":\"52063571ff1e44226486\",\"4322\":\"412f17bea41d1e48d8f3\",\"5358\":\"c7fc5670e3cdb8b6d91e\",\"7255\":\"c079633d2aa76f2d57fc\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 576;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t576: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(21251)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","posixClasses","braceEscape","s","replace","rangesToString","ranges","join","parseClass","glob","position","pos","charAt","Error","negs","i","sawStart","uflag","escaping","negate","endPos","rangeStart","WHILE","length","c","cls","unip","u","neg","Object","entries","startsWith","push","test","slice","sranges","snegs","p","pattern","options","assertValidPattern","nocomment","Minimatch","match","starDotExtRE","starDotExtTest","ext","f","endsWith","starDotExtTestDot","starDotExtTestNocase","toLowerCase","starDotExtTestNocaseDot","starDotStarRE","starDotStarTest","includes","starDotStarTestDot","dotStarRE","dotStarTest","starRE","starTest","starTestDot","qmarksRE","qmarksTestNocase","$0","noext","qmarksTestNoExt","qmarksTestNocaseDot","qmarksTestNoExtDot","qmarksTestDot","qmarksTest","len","defaultPlatform","process","env","__MINIMATCH_TESTING_PLATFORM__","platform","sep","GLOBSTAR","Symbol","plTypes","open","close","qmark","star","charSet","split","reduce","set","reSpecials","addPatternStartSet","filter","a","b","assign","defaults","def","keys","orig","constructor","super","unescape","escape","makeRe","braceExpand","list","nobrace","TypeError","mm","nonull","globMagic","regExpEscape","windowsPathsNoEscape","nonegate","comment","empty","preserveMultipleSlashes","partial","globSet","globParts","nocase","isWindows","windowsNoMagicRoot","regexp","this","allowWindowsEscape","undefined","make","hasMagic","magicalBraces","part","debug","_","parseNegate","Set","args","console","error","rawGlobParts","map","slashSplit","preprocess","__","isUNC","isDrive","ss","parse","indexOf","noglobstar","j","optimizationLevel","firstPhasePreProcess","secondPhasePreProcess","levelOneOptimize","adjascentGlobstarOptimize","parts","gs","splice","prev","pop","levelTwoFileOptimize","Array","isArray","didSomething","dd","gss","next","p2","other","splin","matched","partsMatch","emptyGSMatch","ai","bi","result","which","dot","negateOffset","matchOne","file","fileUNC","patternUNC","fd","pd","fi","pi","fl","pl","fr","pr","swallowee","hit","m","fastTest","re","patternListStack","negativeLists","stateChar","dotTravAllowed","dotFileAllowed","subPatternStart","clearStateChar","plEntry","type","start","reStart","reEnd","src","needUflag","consumed","magic","tail","$1","$2","t","addPatternStart","n","nl","nlBefore","nlFirst","nlAfter","nlLast","closeParensBefore","openParensBefore","cleanAfter","nocaseMagicOnly","toUpperCase","flags","_glob","_src","RegExp","er","twoStar","pp","forEach","ex","ff","filename","matchBase","flipNegate","convertResponseHeaders","headers","output","key","get","PropertyType","getDirectoryFiles","isDetailed","arguments","multistatus","response","responseItems","item","propstat","prop","props","rawFilename","getlastmodified","lastMod","getcontentlength","rawSize","resourcetype","resourceType","getcontenttype","mimeType","getetag","etag","collection","text","txt","document","createElement","innerHTML","value","he","decode","decodeHTMLEntities","stat","basename","lastmod","size","parseInt","mime","prepareFileFromProps","id","toString","ActivityTabPluginView","ActivityTabPluginInstance","__webpack_nonce__","btoa","getRequestToken","loadState","OCA","Activity","registerSidebarAction","window","addEventListener","mount","async","el","_ref","context","fileInfo","reload","default","ActivityCommmentAction","Vue","extend","parent","propsData","reloadCallback","resourceId","$mount","logger","info","unmount","$destroy","registerSidebarEntries","limit","offset","_ref2","data","comments","resourcePath","datetime","toISOString","client","customRequest","method","responseData","parseXML","status","statusText","processResponsePayload","getComments","CommentView","CommentsViewObject","timestamp","moment","creationDateTime","toDate","getTime","element","_ref3","_CommentsViewInstance","registerSidebarFilter","activity","TabInstance","commentTab","Files","Sidebar","Tab","name","iconSvg","Comments","View","update","destroy","scrollBottomReached","onScrollBottomReached","registerTab","getLoggerBuilder","setApp","detectUser","build","createClient","getRootPath","requesttoken","generateRemoteUrl","balanced","str","maybeMatch","r","range","end","pre","body","post","reg","begs","beg","left","right","module","exports","root","freeGlobal","g","global","InvalidCharacterError","message","prototype","TABLE","REGEX_SPACE_CHARACTERS","base64","input","String","buffer","padding","charCodeAt","bitStorage","bitCounter","fromCharCode","validator","XMLParser","XMLBuilder","XMLValidator","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","stringFromCharCode","hasOwnProperty","has","object","propertyName","call","merge","codePointToSymbol","codePoint","strict","parseError","array","index","contains","hexEscape","decEscape","encode","string","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","symbol","high","low","html","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","reference","isAttributeValue","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","code","resolve","_typeof","obj","iterator","_wrapNativeSuper","Class","_cache","Map","fn","Function","Wrapper","_construct","_getPrototypeOf","create","enumerable","writable","configurable","_setPrototypeOf","Parent","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","apply","instance","bind","setPrototypeOf","__proto__","getPrototypeOf","ObjectPrototypeMutationError","_Error","params","_this","Constructor","_classCallCheck","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","subClass","superClass","_inherits","traverse","path","callback","segments","_loop","idx","currentSegment","v","remainingSegments","pathToHere","concat","_ret","isLastSegment","property","currentObject","currentProperty","nextPropIsNumber","Number","isInteger","nextPropIsArrayWildcard","err","own","hasOwn","isIn","objectInPath","pathExists","validPath","util","isString","x","normalizeArray","allowAboveRoot","res","splitPathRe","posix","posixSplitPath","exec","resolvedPath","resolvedAbsolute","cwd","normalize","isAbsolute","trailingSlash","substr","segment","relative","from","to","trim","arr","fromParts","toParts","Math","min","samePartsLength","outputParts","_makeLong","dirname","dir","extname","format","pathObject","isObject","base","pathString","allParts","delimiter","expand","escSlash","escOpen","escClose","escComma","escPeriod","escapeBraces","unescapeBraces","random","numeric","parseCommaParts","postParts","shift","embrace","isPadded","lte","y","gte","isTop","expansions","k","expansion","N","isNumericSequence","isAlphaSequence","isSequence","isOptions","width","max","incr","abs","pad","some","need","z","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","defineProperty","chunkId","Promise","all","promises","globalThis","l","url","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","target","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","baseURI","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/core-legacy-unified-search.js b/dist/core-legacy-unified-search.js
index d5740b66ae47a..68d388c15f85c 100644
--- a/dist/core-legacy-unified-search.js
+++ b/dist/core-legacy-unified-search.js
@@ -1,3 +1,3 @@
 /*! For license information please see core-legacy-unified-search.js.LICENSE.txt */
-(()=>{"use strict";var e,i,r,a={5832:(e,i,r)=>{var a=r(17499),s=r(77958),o=r(31352),l=r(20144),c=r(20296),d=r.n(c),u=r(69183),h=r(64024),A=r(72155),f=r(55212),p=r(22175),g=r(93815),C=r(49368),m=r(85989);const v={name:"LegacySearchResult",components:{NcHighlight:r(40873).N},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch{return!1}return!0}},watch:{thumbnailUrl(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent(t){this.$emit(t.type,t)},onError(){this.hasValidThumbnail=!1},onLoad(){this.loaded=!0}}};var _=r(93379),b=r.n(_),y=r(7795),x=r.n(y),w=r(90569),k=r.n(w),$=r(3565),S=r.n($),B=r(19216),D=r.n(B),E=r(44589),I=r.n(E),q=r(58247),U={};U.styleTagTransform=I(),U.setAttributes=S(),U.insert=k().bind(null,"head"),U.domAPI=x(),U.insertStyleElement=D(),b()(q.Z,U),q.Z&&q.Z.locals&&q.Z.locals;var L=r(51900);const N=(0,L.Z)(v,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":t.focused},attrs:{href:t.resourceUrl||"#"},on:{click:t.reEmitEvent,focus:t.reEmitEvent}},[e("div",{staticClass:"unified-search__result-icon",class:{"unified-search__result-icon--rounded":t.rounded,"unified-search__result-icon--no-preview":!t.hasValidThumbnail&&!t.loaded,"unified-search__result-icon--with-thumbnail":t.hasValidThumbnail&&t.loaded,[t.icon]:!t.loaded&&!t.isIconUrl},style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:""}},[t.hasValidThumbnail?e("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],attrs:{src:t.thumbnailUrl,alt:""},on:{error:t.onError,load:t.onLoad}}):t._e()]),t._v(" "),e("span",{staticClass:"unified-search__result-content"},[e("span",{staticClass:"unified-search__result-line-one",attrs:{title:t.title}},[e("NcHighlight",{attrs:{text:t.title,search:t.query}})],1),t._v(" "),t.subline?e("span",{staticClass:"unified-search__result-line-two",attrs:{title:t.subline}},[t._v(t._s(t.subline))]):t._e()])])}),[],!1,null,"2aaf542f",null).exports,R={name:"SearchResultPlaceholders",data:()=>({light:null,dark:null}),mounted(){const t=getComputedStyle(document.documentElement);this.dark=t.getPropertyValue("--color-placeholder-dark"),this.light=t.getPropertyValue("--color-placeholder-light")},methods:{randWidth:()=>Math.floor(20*Math.random())+30}};var F=r(9285),O={};O.styleTagTransform=I(),O.setAttributes=S(),O.insert=k().bind(null,"head"),O.domAPI=x(),O.insertStyleElement=D(),b()(F.Z,O),F.Z&&F.Z.locals&&F.Z.locals;const j=(0,L.Z)(R,(function(){var t=this,e=t._self._c;return e("ul",[e("svg",{staticClass:"unified-search__result-placeholder-gradient"},[e("defs",[e("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[e("stop",{attrs:{offset:"0%","stop-color":t.light}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.light}; ${t.light}; ${t.dark}; ${t.dark}; ${t.light}`,dur:"2s",repeatCount:"indefinite"}})]),t._v(" "),e("stop",{attrs:{offset:"100%","stop-color":t.dark}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.dark}; ${t.light}; ${t.light}; ${t.dark}; ${t.dark}`,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),t._v(" "),t._l([1,2,3],(function(i){return e("li",{key:i},[e("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[e("rect",{staticClass:"unified-search__result-placeholder-icon"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-one"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:`calc(${t.randWidth()}%)`}})])])}))],2)}),[],!1,null,"9ed03c40",null).exports;var T=r(79753),P=r(43554),Z=r(93664),z=r(25108);const M=(0,P.j)("unified-search","limit-default"),G=(0,P.j)("unified-search","min-search-length",1),Q=(0,P.j)("unified-search","live-search",!0),W=/(^|\s)in:([a-z_-]+)/gi,V=/(^|\s)-in:([a-z_-]+)/gi;async function H(){try{const{data:t}=await Z.Z.get((0,T.generateOcsUrl)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});if("ocs"in t&&"data"in t.ocs&&Array.isArray(t.ocs.data)&&t.ocs.data.length>0)return t.ocs.data}catch(t){z.error(t)}return[]}function K(t){let{type:e,query:i,cursor:n}=t;const r=Z.Z.CancelToken.source();return{request:async()=>Z.Z.get((0,T.generateOcsUrl)("search/providers/{type}/search",{type:e}),{cancelToken:r.token,params:{term:i,cursor:n,from:window.location.pathname.replace("/index.php","")+window.location.search}}),cancel:r.cancel}}const Y={name:"LegacyUnifiedSearch",components:{Magnify:m.default,NcActionButton:A.Z,NcActions:f.Z,NcEmptyContent:p.Z,NcHeaderMenu:g.Z,SearchResult:N,SearchResultPlaceholders:j,NcTextField:C.Z},data:()=>({types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:M,minSearchLength:G,enableLiveSearch:Q,open:!1}),computed:{typesIDs(){return this.types.map((t=>t.id))},typesNames(){return this.types.map((t=>t.name))},typesMap(){return this.types.reduce(((t,e)=>(t[e.id]=e.name,t)),{})},ariaLabel:()=>t("core","Search"),hasResults(){return 0!==Object.keys(this.results).length},orderedResults(){return this.typesIDs.filter((t=>t in this.results)).map((t=>({type:t,list:this.results[t]})))},availableFilters(){return Object.keys(this.results)},usedFiltersIn(){let t;const e=[];for(;null!==(t=W.exec(this.query));)e.push(t[2]);return e},usedFiltersNot(){let t;const e=[];for(;null!==(t=V.exec(this.query));)e.push(t[2]);return e},validQueryTitle(){return this.triggered?t("core","No results for {query}",{query:this.query}):t("core","Press Enter to start searching")},shortQueryDescription(){return this.isShortQuery?n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters  or more to search",this.minSearchLength,{minSearchLength:this.minSearchLength}):""},isShortQuery(){return this.query&&this.query.trim().length!1===t))},isLoading(){return Object.values(this.loading).some((t=>!0===t))}},async created(){this.types=await H(),this.logger.debug("Unified Search initialized with the following providers",this.types)},beforeDestroy(){(0,u.r1)("files:navigation:changed",this.onNavigationChange)},mounted(){(0,u.Ld)("files:navigation:changed",this.onNavigationChange),OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",(t=>{t.ctrlKey&&"KeyF"===t.code&&!this.open?(t.preventDefault(),this.open=!0):t.ctrlKey&&"f"===t.key&&this.open&&(this.open=!1),this.open&&("ArrowDown"===t.key&&this.focusNext(t),"ArrowUp"===t.key&&this.focusPrev(t))}))},methods:{async onOpen(){this.types=await H()},onClose(){(0,u.j8)("nextcloud:unified-search.close")},onNavigationChange(){this.$el?.querySelector?.('form[role="search"]')?.reset?.()},onReset(){(0,u.j8)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},async resetState(){this.cursors={},this.limits={},this.reached={},this.results={},this.focused=null,this.triggered=!1,await this.cancelPendingRequests()},async cancelPendingRequests(){const t=this.requests.slice(0);this.requests=[],await Promise.all(t.map((t=>t())))},focusInput(){this.$nextTick((()=>{this.$refs.input.focus(),this.$refs.input.select()}))},onInputEnter(){this.hasResults?this.getResultsList()[0].click():this.onInput()},async onInput(){if((0,u.j8)("nextcloud:unified-search.search",{query:this.query}),""===this.query.trim()||this.isShortQuery){for(const t of this.typesIDs)this.$delete(this.results,t);return}let t=this.typesIDs,e=this.query;this.usedFiltersNot.length>0&&(t=this.typesIDs.filter((t=>-1===this.usedFiltersNot.indexOf(t)))),this.usedFiltersIn.length>0&&(t=this.typesIDs.filter((t=>this.usedFiltersIn.indexOf(t)>-1))),e=e.replace(W,"").replace(V,""),await this.resetState(),this.triggered=!0,t.length?(this.$set(this.loading,"all",!0),this.logger.debug(`Searching ${e} in`,t),Promise.all(t.map((async t=>{try{const{request:i,cancel:n}=K({type:t,query:e});this.requests.push(n);const{data:r}=await i();return r.ocs.data.entries.length>0?this.$set(this.results,t,r.ocs.data.entries):this.$delete(this.results,t),r.ocs.data.cursor?this.$set(this.cursors,t,r.ocs.data.cursor):r.ocs.data.isPaginated||this.$set(this.limits,t,this.defaultLimit),r.ocs.data.entries.length{t.some((t=>2===t))||(this.loading={})}))):this.logger.error("No types to search in")},onInputDebounced:Q?d()((function(t){this.onInput(t)}),500):function(){this.triggered=!1},async loadMore(t){if(!this.loading[t]){if(this.cursors[t]){const{request:e,cancel:i}=K({type:t,query:this.query,cursor:this.cursors[t]});this.requests.push(i);const{data:n}=await e();n.ocs.data.cursor&&this.$set(this.cursors,t,n.ocs.data.cursor),n.ocs.data.entries.length>0&&this.results[t].push(...n.ocs.data.entries),n.ocs.data.entries.length=0&&(this.limits[t]+=this.defaultLimit,this.limits[t]>=this.results[t].length&&this.$set(this.reached,t,!0));null!==this.focused&&this.$nextTick((()=>{this.focusIndex(this.focused)}))}},limitIfAny(t,e){return e in this.limits?t.slice(0,this.limits[e]):t},getResultsList(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst(t){const e=this.getResultsList();e&&e.length>0&&(t&&t.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext(t){if(null===this.focused)return void this.focusFirst(t);const e=this.getResultsList();e&&e.length>0&&this.focused+10&&this.focused>0&&(t.preventDefault(),this.focused--,this.focusIndex(this.focused))},focusIndex(t){const e=this.getResultsList();e&&e[t]&&e[t].focus()},setFocusedIndex(t){const e=t.target,i=[...this.getResultsList()].findIndex((t=>t===e));i>-1&&(this.focused=i)},onClickFilter(t){this.query=`${this.query} ${t}`.replace(/ {2}/g," ").trim(),this.onInput()}}};var X=r(84228),J={};J.styleTagTransform=I(),J.setAttributes=S(),J.insert=k().bind(null,"head"),J.domAPI=x(),J.insertStyleElement=D(),b()(X.Z,J),X.Z&&X.Z.locals&&X.Z.locals;const tt=(0,L.Z)(Y,(function(){var t=this,e=t._self._c;return e("NcHeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-selectors":[".popover"],open:t.open,"aria-label":t.ariaLabel},on:{"update:open":function(e){t.open=e},open:t.onOpen,close:t.onClose},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("Magnify",{staticClass:"unified-search__trigger",attrs:{size:22}})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"unified-search__input-wrapper"},[e("div",{staticClass:"unified-search__input-row"},[e("NcTextField",{ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!t.query},attrs:{value:t.query,"trailing-button-icon":"close",label:t.ariaLabel,"trailing-button-label":t.t("core","Reset search"),"show-trailing-button":""!==t.query,"aria-describedby":"unified-search-desc",placeholder:t.t("core","Search {types} …",{types:t.typesNames.join(", ")})},on:{"update:value":function(e){t.query=e},"trailing-button-click":t.onReset,input:t.onInputDebounced}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Search starts once you start typing and results may be reached with the arrow keys"))+"\n\t\t\t")]),t._v(" "),t.availableFilters.length>1?e("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom-end",container:".unified-search__input-wrapper"}},t._l(t.availableFilters,(function(i){return e("NcActionButton",{key:i,attrs:{icon:"icon-filter"},on:{click:function(e){return e.stopPropagation(),t.onClickFilter(`in:${i}`)}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Search for {name} only",{name:t.typesMap[i]}))+"\n\t\t\t\t")])})),1):t._e()],1)]),t._v(" "),t.hasResults?t._l(t.orderedResults,(function(i,n){let{list:r,type:a}=i;return[e("h2",{key:a,staticClass:"unified-search__results-header"},[t._v("\n\t\t\t"+t._s(t.typesMap[a])+"\n\t\t")]),t._v(" "),e("ul",{key:a,staticClass:"unified-search__results",class:`unified-search__results-${a}`,attrs:{"aria-label":t.typesMap[a]}},[t._l(t.limitIfAny(r,a),(function(i,r){return e("li",{key:i.resourceUrl},[e("SearchResult",t._b({attrs:{query:t.query,focused:0===t.focused&&0===n&&0===r},on:{focus:t.setFocusedIndex}},"SearchResult",i,!1))],1)})),t._v(" "),e("li",[t.reached[a]?t._e():e("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:t.loading[a]?t.t("core","Loading more results …"):t.t("core","Load more results"),"icon-class":t.loading[a]?"icon-loading-small":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.loadMore(a)},focus:t.setFocusedIndex}})],1)],2)]})):[t.isLoading?e("SearchResultPlaceholders"):t.isValidQuery?e("NcEmptyContent",{attrs:{title:t.validQueryTitle},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):!t.isLoading||t.isShortQuery?e("NcEmptyContent",{attrs:{title:t.t("core","Start typing to search"),description:t.shortQueryDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):t._e()]],2)}),[],!1,null,"745f3570",null).exports;r.nc=btoa((0,s.IH)());const et=(0,a.IY)().setApp("unified-search").detectUser().build();l.default.mixin({data:()=>({logger:et}),methods:{t:o.Iu,n:o.uN}}),new l.default({el:"#unified-search",name:"UnifiedSearchRoot",render:t=>t(tt)})},58247:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__result[data-v-2aaf542f]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2aaf542f]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2aaf542f]:active,.unified-search__result[data-v-2aaf542f]:hover,.unified-search__result[data-v-2aaf542f]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2aaf542f]{cursor:pointer}.unified-search__result-icon[data-v-2aaf542f]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2aaf542f]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2aaf542f]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2aaf542f]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2aaf542f],.unified-search__result-actions[data-v-2aaf542f]{flex:0 0 44px}.unified-search__result-content[data-v-2aaf542f]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-2aaf542f],.unified-search__result-line-two[data-v-2aaf542f]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2aaf542f]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue"],names:[],mappings:"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder: 2px solid transparent;\n\tborder-radius: var(--border-radius-large) !important;\n\n\t&--focused {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]);const o=s},9285:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]);const o=s},84228:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__input-wrapper[data-v-745f3570]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-745f3570]{align-self:flex-start;font-weight:bold;font-size:19px;margin-left:13px}.unified-search__form-input[data-v-745f3570]{margin:0 !important}.unified-search__form-input[data-v-745f3570]:focus,.unified-search__form-input[data-v-745f3570]:focus-visible,.unified-search__form-input[data-v-745f3570]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__input-row[data-v-745f3570]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-745f3570]{margin:10px 0 10px 5px;padding-top:5px}.unified-search__filters ul[data-v-745f3570]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-745f3570]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-745f3570]::after{right:10px;left:auto}.unified-search__form-input[data-v-745f3570],.unified-search__form-reset[data-v-745f3570]{margin:5px}.unified-search__form-input[data-v-745f3570]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-745f3570],.unified-search__form-input[placeholder][data-v-745f3570],.unified-search__form-input[data-v-745f3570]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-745f3570]::-webkit-search-decoration,.unified-search__form-input[data-v-745f3570]::-webkit-search-cancel-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-745f3570],.unified-search__form-submit[data-v-745f3570]{position:absolute;top:0;right:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-745f3570]:hover,.unified-search__form-reset[data-v-745f3570]:focus,.unified-search__form-reset[data-v-745f3570]:active,.unified-search__form-submit[data-v-745f3570]:hover,.unified-search__form-submit[data-v-745f3570]:focus,.unified-search__form-submit[data-v-745f3570]:active{opacity:1}.unified-search__form-submit[data-v-745f3570]{right:28px}.unified-search__results[data-v-745f3570]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-745f3570]{display:block;margin:10px;margin-bottom:6px;margin-left:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search .unified-search__result-more[data-v-745f3570]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-745f3570]{margin:10vh 0}.unified-search .empty-content[data-v-745f3570] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}","",{version:3,sources:["webpack://./core/src/views/LegacyUnifiedSearch.vue"],names:[],mappings:"AAQC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CACA,kKAGC,wDAAA,CACA,4DAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,UAtDa,CAuDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WAlEY,CAmEZ,YAlEa,CAoEb,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAnHM,CAoHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACS,kCAAA,CACT,iBAAA",sourcesContent:['\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 10px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 19px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t\t&:focus,\n\t\t&:focus-visible,\n\t\t&:active {\n\t\t\tborder-color: 2px solid var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tpadding-top: 5px;\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: 13px;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-size: 19px;\n\t\t\tfont-weight: bold;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n            font-size: var(--default-font-size);\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const o=s}},s={};function o(t){var e=s[t];if(void 0!==e)return e.exports;var i=s[t]={id:t,loaded:!1,exports:{}};return a[t].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,e=[],o.O=(t,i,n,r)=>{if(!i){var a=1/0;for(d=0;d=r)&&Object.keys(o.O).every((t=>o.O[t](i[l])))?i.splice(l--,1):(s=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[i,n,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,i)=>(o.f[i](t,e),e)),[])),o.u=t=>t+"-"+t+".js?v="+{923:"02b37a6174a781e7a8c2",5358:"8ea58c7886c9b4f45bd3"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i={},r="nextcloud:",o.l=(t,e,n,a)=>{if(i[t])i[t].push(e);else{var s,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d{s.onerror=s.onload=null,clearTimeout(A);var r=i[t];if(delete i[t],s.parentNode&&s.parentNode.removeChild(s),r&&r.forEach((t=>t(n))),e)return e(n)},A=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=7086,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var n=i.length-1;n>-1&&!t;)t=i[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={7086:0};o.f.j=(e,i)=>{var n=o.o(t,e)?t[e]:void 0;if(0!==n)if(n)i.push(n[2]);else{var r=new Promise(((i,r)=>n=t[e]=[i,r]));i.push(n[2]=r);var a=o.p+o.u(e),s=new Error;o.l(a,(i=>{if(o.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",s.name="ChunkLoadError",s.type=r,s.request=a,n[1](s)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,a=i[0],s=i[1],l=i[2],c=0;if(a.some((e=>0!==t[e]))){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);if(l)var d=l(o)}for(e&&e(i);co(5832)));l=o.O(l)})();
-//# sourceMappingURL=core-legacy-unified-search.js.map?v=28ceb2d923613c522194
\ No newline at end of file
+(()=>{"use strict";var e,i,r,a={5832:(e,i,r)=>{var a=r(17499),s=r(77958),o=r(31352),c=r(20144),l=r(20296),d=r.n(l),u=r(69183),h=r(64024),A=r(72155),f=r(55212),p=r(22175),g=r(93815),C=r(49368),m=r(85989);const v={name:"LegacySearchResult",components:{NcHighlight:r(40873).N},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch{return!1}return!0}},watch:{thumbnailUrl(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent(t){this.$emit(t.type,t)},onError(){this.hasValidThumbnail=!1},onLoad(){this.loaded=!0}}};var _=r(93379),b=r.n(_),y=r(7795),x=r.n(y),w=r(90569),k=r.n(w),$=r(3565),S=r.n($),B=r(19216),D=r.n(B),E=r(44589),I=r.n(E),q=r(58247),U={};U.styleTagTransform=I(),U.setAttributes=S(),U.insert=k().bind(null,"head"),U.domAPI=x(),U.insertStyleElement=D(),b()(q.Z,U),q.Z&&q.Z.locals&&q.Z.locals;var L=r(51900);const N=(0,L.Z)(v,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":t.focused},attrs:{href:t.resourceUrl||"#"},on:{click:t.reEmitEvent,focus:t.reEmitEvent}},[e("div",{staticClass:"unified-search__result-icon",class:{"unified-search__result-icon--rounded":t.rounded,"unified-search__result-icon--no-preview":!t.hasValidThumbnail&&!t.loaded,"unified-search__result-icon--with-thumbnail":t.hasValidThumbnail&&t.loaded,[t.icon]:!t.loaded&&!t.isIconUrl},style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:""}},[t.hasValidThumbnail?e("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],attrs:{src:t.thumbnailUrl,alt:""},on:{error:t.onError,load:t.onLoad}}):t._e()]),t._v(" "),e("span",{staticClass:"unified-search__result-content"},[e("span",{staticClass:"unified-search__result-line-one",attrs:{title:t.title}},[e("NcHighlight",{attrs:{text:t.title,search:t.query}})],1),t._v(" "),t.subline?e("span",{staticClass:"unified-search__result-line-two",attrs:{title:t.subline}},[t._v(t._s(t.subline))]):t._e()])])}),[],!1,null,"2aaf542f",null).exports,R={name:"SearchResultPlaceholders",data:()=>({light:null,dark:null}),mounted(){const t=getComputedStyle(document.documentElement);this.dark=t.getPropertyValue("--color-placeholder-dark"),this.light=t.getPropertyValue("--color-placeholder-light")},methods:{randWidth:()=>Math.floor(20*Math.random())+30}};var F=r(9285),O={};O.styleTagTransform=I(),O.setAttributes=S(),O.insert=k().bind(null,"head"),O.domAPI=x(),O.insertStyleElement=D(),b()(F.Z,O),F.Z&&F.Z.locals&&F.Z.locals;const j=(0,L.Z)(R,(function(){var t=this,e=t._self._c;return e("ul",[e("svg",{staticClass:"unified-search__result-placeholder-gradient"},[e("defs",[e("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[e("stop",{attrs:{offset:"0%","stop-color":t.light}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.light}; ${t.light}; ${t.dark}; ${t.dark}; ${t.light}`,dur:"2s",repeatCount:"indefinite"}})]),t._v(" "),e("stop",{attrs:{offset:"100%","stop-color":t.dark}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.dark}; ${t.light}; ${t.light}; ${t.dark}; ${t.dark}`,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),t._v(" "),t._l([1,2,3],(function(i){return e("li",{key:i},[e("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[e("rect",{staticClass:"unified-search__result-placeholder-icon"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-one"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:`calc(${t.randWidth()}%)`}})])])}))],2)}),[],!1,null,"9ed03c40",null).exports;var T=r(79753),P=r(43554),Z=r(93664),z=r(25108);const M=(0,P.j)("unified-search","limit-default"),G=(0,P.j)("unified-search","min-search-length",1),Q=(0,P.j)("unified-search","live-search",!0),W=/(^|\s)in:([a-z_-]+)/gi,V=/(^|\s)-in:([a-z_-]+)/gi;async function H(){try{const{data:t}=await Z.Z.get((0,T.generateOcsUrl)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});if("ocs"in t&&"data"in t.ocs&&Array.isArray(t.ocs.data)&&t.ocs.data.length>0)return t.ocs.data}catch(t){z.error(t)}return[]}function K(t){let{type:e,query:i,cursor:n}=t;const r=Z.Z.CancelToken.source();return{request:async()=>Z.Z.get((0,T.generateOcsUrl)("search/providers/{type}/search",{type:e}),{cancelToken:r.token,params:{term:i,cursor:n,from:window.location.pathname.replace("/index.php","")+window.location.search}}),cancel:r.cancel}}const Y={name:"LegacyUnifiedSearch",components:{Magnify:m.default,NcActionButton:A.Z,NcActions:f.Z,NcEmptyContent:p.Z,NcHeaderMenu:g.Z,SearchResult:N,SearchResultPlaceholders:j,NcTextField:C.Z},data:()=>({types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:M,minSearchLength:G,enableLiveSearch:Q,open:!1}),computed:{typesIDs(){return this.types.map((t=>t.id))},typesNames(){return this.types.map((t=>t.name))},typesMap(){return this.types.reduce(((t,e)=>(t[e.id]=e.name,t)),{})},ariaLabel:()=>t("core","Search"),hasResults(){return 0!==Object.keys(this.results).length},orderedResults(){return this.typesIDs.filter((t=>t in this.results)).map((t=>({type:t,list:this.results[t]})))},availableFilters(){return Object.keys(this.results)},usedFiltersIn(){let t;const e=[];for(;null!==(t=W.exec(this.query));)e.push(t[2]);return e},usedFiltersNot(){let t;const e=[];for(;null!==(t=V.exec(this.query));)e.push(t[2]);return e},validQueryTitle(){return this.triggered?t("core","No results for {query}",{query:this.query}):t("core","Press Enter to start searching")},shortQueryDescription(){return this.isShortQuery?n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters  or more to search",this.minSearchLength,{minSearchLength:this.minSearchLength}):""},isShortQuery(){return this.query&&this.query.trim().length!1===t))},isLoading(){return Object.values(this.loading).some((t=>!0===t))}},async created(){this.types=await H(),this.logger.debug("Unified Search initialized with the following providers",this.types)},beforeDestroy(){(0,u.r1)("files:navigation:changed",this.onNavigationChange)},mounted(){(0,u.Ld)("files:navigation:changed",this.onNavigationChange),OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",(t=>{t.ctrlKey&&"KeyF"===t.code&&!this.open?(t.preventDefault(),this.open=!0):t.ctrlKey&&"f"===t.key&&this.open&&(this.open=!1),this.open&&("ArrowDown"===t.key&&this.focusNext(t),"ArrowUp"===t.key&&this.focusPrev(t))}))},methods:{async onOpen(){this.types=await H()},onClose(){(0,u.j8)("nextcloud:unified-search.close")},onNavigationChange(){this.$el?.querySelector?.('form[role="search"]')?.reset?.()},onReset(){(0,u.j8)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},async resetState(){this.cursors={},this.limits={},this.reached={},this.results={},this.focused=null,this.triggered=!1,await this.cancelPendingRequests()},async cancelPendingRequests(){const t=this.requests.slice(0);this.requests=[],await Promise.all(t.map((t=>t())))},focusInput(){this.$nextTick((()=>{this.$refs.input.focus(),this.$refs.input.select()}))},onInputEnter(){this.hasResults?this.getResultsList()[0].click():this.onInput()},async onInput(){if((0,u.j8)("nextcloud:unified-search.search",{query:this.query}),""===this.query.trim()||this.isShortQuery){for(const t of this.typesIDs)this.$delete(this.results,t);return}let t=this.typesIDs,e=this.query;this.usedFiltersNot.length>0&&(t=this.typesIDs.filter((t=>-1===this.usedFiltersNot.indexOf(t)))),this.usedFiltersIn.length>0&&(t=this.typesIDs.filter((t=>this.usedFiltersIn.indexOf(t)>-1))),e=e.replace(W,"").replace(V,""),await this.resetState(),this.triggered=!0,t.length?(this.$set(this.loading,"all",!0),this.logger.debug(`Searching ${e} in`,t),Promise.all(t.map((async t=>{try{const{request:i,cancel:n}=K({type:t,query:e});this.requests.push(n);const{data:r}=await i();return r.ocs.data.entries.length>0?this.$set(this.results,t,r.ocs.data.entries):this.$delete(this.results,t),r.ocs.data.cursor?this.$set(this.cursors,t,r.ocs.data.cursor):r.ocs.data.isPaginated||this.$set(this.limits,t,this.defaultLimit),r.ocs.data.entries.length{t.some((t=>2===t))||(this.loading={})}))):this.logger.error("No types to search in")},onInputDebounced:Q?d()((function(t){this.onInput(t)}),500):function(){this.triggered=!1},async loadMore(t){if(!this.loading[t]){if(this.cursors[t]){const{request:e,cancel:i}=K({type:t,query:this.query,cursor:this.cursors[t]});this.requests.push(i);const{data:n}=await e();n.ocs.data.cursor&&this.$set(this.cursors,t,n.ocs.data.cursor),n.ocs.data.entries.length>0&&this.results[t].push(...n.ocs.data.entries),n.ocs.data.entries.length=0&&(this.limits[t]+=this.defaultLimit,this.limits[t]>=this.results[t].length&&this.$set(this.reached,t,!0));null!==this.focused&&this.$nextTick((()=>{this.focusIndex(this.focused)}))}},limitIfAny(t,e){return e in this.limits?t.slice(0,this.limits[e]):t},getResultsList(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst(t){const e=this.getResultsList();e&&e.length>0&&(t&&t.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext(t){if(null===this.focused)return void this.focusFirst(t);const e=this.getResultsList();e&&e.length>0&&this.focused+10&&this.focused>0&&(t.preventDefault(),this.focused--,this.focusIndex(this.focused))},focusIndex(t){const e=this.getResultsList();e&&e[t]&&e[t].focus()},setFocusedIndex(t){const e=t.target,i=[...this.getResultsList()].findIndex((t=>t===e));i>-1&&(this.focused=i)},onClickFilter(t){this.query=`${this.query} ${t}`.replace(/ {2}/g," ").trim(),this.onInput()}}};var X=r(84228),J={};J.styleTagTransform=I(),J.setAttributes=S(),J.insert=k().bind(null,"head"),J.domAPI=x(),J.insertStyleElement=D(),b()(X.Z,J),X.Z&&X.Z.locals&&X.Z.locals;const tt=(0,L.Z)(Y,(function(){var t=this,e=t._self._c;return e("NcHeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-selectors":[".popover"],open:t.open,"aria-label":t.ariaLabel},on:{"update:open":function(e){t.open=e},open:t.onOpen,close:t.onClose},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("Magnify",{staticClass:"unified-search__trigger",attrs:{size:22}})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"unified-search__input-wrapper"},[e("div",{staticClass:"unified-search__input-row"},[e("NcTextField",{ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!t.query},attrs:{value:t.query,"trailing-button-icon":"close",label:t.ariaLabel,"trailing-button-label":t.t("core","Reset search"),"show-trailing-button":""!==t.query,"aria-describedby":"unified-search-desc",placeholder:t.t("core","Search {types} …",{types:t.typesNames.join(", ")})},on:{"update:value":function(e){t.query=e},"trailing-button-click":t.onReset,input:t.onInputDebounced}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Search starts once you start typing and results may be reached with the arrow keys"))+"\n\t\t\t")]),t._v(" "),t.availableFilters.length>1?e("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom-end",container:".unified-search__input-wrapper"}},t._l(t.availableFilters,(function(i){return e("NcActionButton",{key:i,attrs:{icon:"icon-filter"},on:{click:function(e){return e.stopPropagation(),t.onClickFilter(`in:${i}`)}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Search for {name} only",{name:t.typesMap[i]}))+"\n\t\t\t\t")])})),1):t._e()],1)]),t._v(" "),t.hasResults?t._l(t.orderedResults,(function(i,n){let{list:r,type:a}=i;return[e("h2",{key:a,staticClass:"unified-search__results-header"},[t._v("\n\t\t\t"+t._s(t.typesMap[a])+"\n\t\t")]),t._v(" "),e("ul",{key:a,staticClass:"unified-search__results",class:`unified-search__results-${a}`,attrs:{"aria-label":t.typesMap[a]}},[t._l(t.limitIfAny(r,a),(function(i,r){return e("li",{key:i.resourceUrl},[e("SearchResult",t._b({attrs:{query:t.query,focused:0===t.focused&&0===n&&0===r},on:{focus:t.setFocusedIndex}},"SearchResult",i,!1))],1)})),t._v(" "),e("li",[t.reached[a]?t._e():e("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:t.loading[a]?t.t("core","Loading more results …"):t.t("core","Load more results"),"icon-class":t.loading[a]?"icon-loading-small":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.loadMore(a)},focus:t.setFocusedIndex}})],1)],2)]})):[t.isLoading?e("SearchResultPlaceholders"):t.isValidQuery?e("NcEmptyContent",{attrs:{title:t.validQueryTitle},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):!t.isLoading||t.isShortQuery?e("NcEmptyContent",{attrs:{title:t.t("core","Start typing to search"),description:t.shortQueryDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):t._e()]],2)}),[],!1,null,"745f3570",null).exports;r.nc=btoa((0,s.IH)());const et=(0,a.IY)().setApp("unified-search").detectUser().build();c.default.mixin({data:()=>({logger:et}),methods:{t:o.Iu,n:o.uN}}),new c.default({el:"#unified-search",name:"UnifiedSearchRoot",render:t=>t(tt)})},58247:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__result[data-v-2aaf542f]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2aaf542f]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2aaf542f]:active,.unified-search__result[data-v-2aaf542f]:hover,.unified-search__result[data-v-2aaf542f]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2aaf542f]{cursor:pointer}.unified-search__result-icon[data-v-2aaf542f]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2aaf542f]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2aaf542f]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2aaf542f]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2aaf542f],.unified-search__result-actions[data-v-2aaf542f]{flex:0 0 44px}.unified-search__result-content[data-v-2aaf542f]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-2aaf542f],.unified-search__result-line-two[data-v-2aaf542f]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2aaf542f]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue"],names:[],mappings:"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder: 2px solid transparent;\n\tborder-radius: var(--border-radius-large) !important;\n\n\t&--focused {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]);const o=s},9285:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]);const o=s},84228:(t,e,i)=>{i.d(e,{Z:()=>o});var n=i(87537),r=i.n(n),a=i(23645),s=i.n(a)()(r());s.push([t.id,".unified-search__input-wrapper[data-v-745f3570]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-745f3570]{align-self:flex-start;font-weight:bold;font-size:19px;margin-left:13px}.unified-search__form-input[data-v-745f3570]{margin:0 !important}.unified-search__form-input[data-v-745f3570]:focus,.unified-search__form-input[data-v-745f3570]:focus-visible,.unified-search__form-input[data-v-745f3570]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__input-row[data-v-745f3570]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-745f3570]{margin:10px 0 10px 5px;padding-top:5px}.unified-search__filters ul[data-v-745f3570]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-745f3570]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-745f3570]::after{right:10px;left:auto}.unified-search__form-input[data-v-745f3570],.unified-search__form-reset[data-v-745f3570]{margin:5px}.unified-search__form-input[data-v-745f3570]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-745f3570],.unified-search__form-input[placeholder][data-v-745f3570],.unified-search__form-input[data-v-745f3570]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-745f3570]::-webkit-search-decoration,.unified-search__form-input[data-v-745f3570]::-webkit-search-cancel-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-745f3570],.unified-search__form-submit[data-v-745f3570]{position:absolute;top:0;right:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-745f3570]:hover,.unified-search__form-reset[data-v-745f3570]:focus,.unified-search__form-reset[data-v-745f3570]:active,.unified-search__form-submit[data-v-745f3570]:hover,.unified-search__form-submit[data-v-745f3570]:focus,.unified-search__form-submit[data-v-745f3570]:active{opacity:1}.unified-search__form-submit[data-v-745f3570]{right:28px}.unified-search__results[data-v-745f3570]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-745f3570]{display:block;margin:10px;margin-bottom:6px;margin-left:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search .unified-search__result-more[data-v-745f3570]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-745f3570]{margin:10vh 0}.unified-search .empty-content[data-v-745f3570] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}","",{version:3,sources:["webpack://./core/src/views/LegacyUnifiedSearch.vue"],names:[],mappings:"AAQC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CACA,kKAGC,wDAAA,CACA,4DAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,UAtDa,CAuDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WAlEY,CAmEZ,YAlEa,CAoEb,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAnHM,CAoHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACS,kCAAA,CACT,iBAAA",sourcesContent:['\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 10px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 19px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t\t&:focus,\n\t\t&:focus-visible,\n\t\t&:active {\n\t\t\tborder-color: 2px solid var(--color-main-text) !important;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tpadding-top: 5px;\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: 13px;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-size: 19px;\n\t\t\tfont-weight: bold;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n            font-size: var(--default-font-size);\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const o=s}},s={};function o(t){var e=s[t];if(void 0!==e)return e.exports;var i=s[t]={id:t,loaded:!1,exports:{}};return a[t].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,e=[],o.O=(t,i,n,r)=>{if(!i){var a=1/0;for(d=0;d=r)&&Object.keys(o.O).every((t=>o.O[t](i[c])))?i.splice(c--,1):(s=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[i,n,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,i)=>(o.f[i](t,e),e)),[])),o.u=t=>t+"-"+t+".js?v="+{923:"02b37a6174a781e7a8c2",5358:"c7fc5670e3cdb8b6d91e"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i={},r="nextcloud:",o.l=(t,e,n,a)=>{if(i[t])i[t].push(e);else{var s,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d{s.onerror=s.onload=null,clearTimeout(A);var r=i[t];if(delete i[t],s.parentNode&&s.parentNode.removeChild(s),r&&r.forEach((t=>t(n))),e)return e(n)},A=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=7086,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var n=i.length-1;n>-1&&!t;)t=i[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={7086:0};o.f.j=(e,i)=>{var n=o.o(t,e)?t[e]:void 0;if(0!==n)if(n)i.push(n[2]);else{var r=new Promise(((i,r)=>n=t[e]=[i,r]));i.push(n[2]=r);var a=o.p+o.u(e),s=new Error;o.l(a,(i=>{if(o.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",s.name="ChunkLoadError",s.type=r,s.request=a,n[1](s)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,a=i[0],s=i[1],c=i[2],l=0;if(a.some((e=>0!==t[e]))){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);if(c)var d=c(o)}for(e&&e(i);lo(5832)));c=o.O(c)})();
+//# sourceMappingURL=core-legacy-unified-search.js.map?v=8c7477ac106752edc55c
\ No newline at end of file
diff --git a/dist/core-legacy-unified-search.js.map b/dist/core-legacy-unified-search.js.map
index 4881add95736f..f65a123fc4d1f 100644
--- a/dist/core-legacy-unified-search.js.map
+++ b/dist/core-legacy-unified-search.js.map
@@ -1 +1 @@
-{"version":3,"file":"core-legacy-unified-search.js?v=28ceb2d923613c522194","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?8e38","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?1729","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?de39","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?6873","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?cc53","webpack:///nextcloud/core/src/services/LegacyUnifiedSearchService.js","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?c524","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?bfe7","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?b8e8","webpack:///nextcloud/core/src/legacy-unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};"," \n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacySearchResult.vue?vue&type=template&id=2aaf542f&scoped=true\"\nimport script from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2aaf542f\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:{\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded,\n\t\t\t[_vm.icon]: !_vm.loaded && !_vm.isIconUrl,\n\t\t},style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js\"","\n\n\n\n\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9ed03c40\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}; ${_vm.light}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.dark}; ${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({width: `calc(${_vm.randWidth()}%)`})})])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2020, John Molakvoæ \n *\n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author Joas Schilling \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 1)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n"," \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacyUnifiedSearch.vue?vue&type=template&id=745f3570&scoped=true\"\nimport script from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"745f3570\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcHeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-selectors\":['.popover'],\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22/* fit better next to other 20px icons */}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('div',{staticClass:\"unified-search__input-row\"},[_c('NcTextField',{ref:\"input\",staticClass:\"unified-search__form-input\",class:{'unified-search__form-input--with-reset': !!_vm.query},attrs:{\"value\":_vm.query,\"trailing-button-icon\":\"close\",\"label\":_vm.ariaLabel,\"trailing-button-label\":_vm.t('core','Reset search'),\"show-trailing-button\":_vm.query !== '',\"aria-describedby\":\"unified-search-desc\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') })},on:{\"update:value\":function($event){_vm.query=$event},\"trailing-button-click\":_vm.onReset,\"input\":_vm.onInputDebounced}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing and results may be reached with the arrow keys'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom-end\",\"container\":\".unified-search__input-wrapper\"}},_vm._l((_vm.availableFilters),function(filter){return _c('NcActionButton',{key:filter,attrs:{\"icon\":\"icon-filter\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onClickFilter(`in:${filter}`)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[filter] }))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.validQueryTitle},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('core', 'Start typing to search'),\"description\":_vm.shortQueryDescription},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):_vm._e()]:_vm._l((_vm.orderedResults),function({list, type},typesIndex){return [_c('h2',{key:type,staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ul',{key:type,staticClass:\"unified-search__results\",class:`unified-search__results-${type}`,attrs:{\"aria-label\":_vm.typesMap[type]}},[_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/LegacyUnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__result[data-v-2aaf542f]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2aaf542f]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2aaf542f]:active,.unified-search__result[data-v-2aaf542f]:hover,.unified-search__result[data-v-2aaf542f]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2aaf542f]{cursor:pointer}.unified-search__result-icon[data-v-2aaf542f]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2aaf542f]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2aaf542f]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2aaf542f]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2aaf542f],.unified-search__result-actions[data-v-2aaf542f]{flex:0 0 44px}.unified-search__result-content[data-v-2aaf542f]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-2aaf542f],.unified-search__result-line-two[data-v-2aaf542f]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2aaf542f]{opacity:.7;font-size:var(--default-font-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue\"],\"names\":[],\"mappings\":\"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder: 2px solid transparent;\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t&--focused {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__input-wrapper[data-v-745f3570]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-745f3570]{align-self:flex-start;font-weight:bold;font-size:19px;margin-left:13px}.unified-search__form-input[data-v-745f3570]{margin:0 !important}.unified-search__form-input[data-v-745f3570]:focus,.unified-search__form-input[data-v-745f3570]:focus-visible,.unified-search__form-input[data-v-745f3570]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__input-row[data-v-745f3570]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-745f3570]{margin:10px 0 10px 5px;padding-top:5px}.unified-search__filters ul[data-v-745f3570]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-745f3570]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-745f3570]::after{right:10px;left:auto}.unified-search__form-input[data-v-745f3570],.unified-search__form-reset[data-v-745f3570]{margin:5px}.unified-search__form-input[data-v-745f3570]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-745f3570],.unified-search__form-input[placeholder][data-v-745f3570],.unified-search__form-input[data-v-745f3570]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-745f3570]::-webkit-search-decoration,.unified-search__form-input[data-v-745f3570]::-webkit-search-cancel-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-745f3570],.unified-search__form-submit[data-v-745f3570]{position:absolute;top:0;right:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-745f3570]:hover,.unified-search__form-reset[data-v-745f3570]:focus,.unified-search__form-reset[data-v-745f3570]:active,.unified-search__form-submit[data-v-745f3570]:hover,.unified-search__form-submit[data-v-745f3570]:focus,.unified-search__form-submit[data-v-745f3570]:active{opacity:1}.unified-search__form-submit[data-v-745f3570]{right:28px}.unified-search__results[data-v-745f3570]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-745f3570]{display:block;margin:10px;margin-bottom:6px;margin-left:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search .unified-search__result-more[data-v-745f3570]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-745f3570]{margin:10vh 0}.unified-search .empty-content[data-v-745f3570] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/LegacyUnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAQC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CACA,kKAGC,wDAAA,CACA,4DAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,UAtDa,CAuDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WAlEY,CAmEZ,YAlEa,CAoEb,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAnHM,CAoHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACS,kCAAA,CACT,iBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 10px;\\n\\n.unified-search {\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form-input {\\n\\t\\tmargin: 0 !important;\\n\\t\\t&:focus,\\n\\t\\t&:focus-visible,\\n\\t\\t&:active {\\n\\t\\t\\tborder-color: 2px solid var(--color-main-text) !important;\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin: $margin 0 $margin math.div($margin, 2);\\n\\t\\tpadding-top: 5px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\t\\tright: $input-padding;\\n\\t\\t\\tleft: auto;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset, &-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tright: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-right: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tright: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t.unified-search__result-more::v-deep {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t::v-deep .empty-content__title {\\n\\t\\t\\tfont-weight: normal;\\n            font-size: var(--default-font-size);\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"5358\":\"8ea58c7886c9b4f45bd3\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 7086;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7086: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(5832)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcHighlight","props","thumbnailUrl","type","String","default","title","required","subline","resourceUrl","icon","rounded","Boolean","query","focused","data","hasValidThumbnail","trim","loaded","computed","isIconUrl","startsWith","URL","watch","methods","reEmitEvent","e","$emit","onError","onLoad","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","class","attrs","on","style","backgroundImage","directives","rawName","value","expression","_e","_v","_s","light","dark","mounted","styles","getComputedStyle","document","documentElement","getPropertyValue","randWidth","Math","floor","random","_l","placeholder","key","width","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","async","getTypes","axios","get","generateOcsUrl","params","from","window","location","pathname","replace","search","ocs","Array","isArray","length","error","console","_ref","cursor","cancelToken","CancelToken","source","request","token","term","cancel","Magnify","NcActionButton","NcActions","NcEmptyContent","NcHeaderMenu","SearchResult","SearchResultPlaceholders","NcTextField","types","cursors","limits","loading","reached","requests","results","triggered","open","typesIDs","map","id","typesNames","typesMap","reduce","prev","curr","ariaLabel","t","hasResults","Object","keys","orderedResults","filter","list","availableFilters","usedFiltersIn","match","filters","exec","push","usedFiltersNot","validQueryTitle","shortQueryDescription","isShortQuery","n","isValidQuery","isDoneSearching","values","every","state","isLoading","some","created","logger","debug","beforeDestroy","unsubscribe","onNavigationChange","subscribe","OCP","Accessibility","disableKeyboardShortcuts","addEventListener","event","ctrlKey","code","preventDefault","focusNext","focusPrev","onOpen","onClose","emit","$el","querySelector","reset","onReset","resetState","focusInput","cancelPendingRequests","slice","Promise","all","$nextTick","$refs","input","focus","select","onInputEnter","getResultsList","click","onInput","$delete","indexOf","$set","entries","isPaginated","response","status","showError","then","result","onInputDebounced","debounce","loadMore","focusIndex","limitIfAny","querySelectorAll","focusFirst","index","setFocusedIndex","entry","target","findIndex","onClickFilter","$event","scopedSlots","_u","fn","proxy","ref","join","stopPropagation","typesIndex","_b","__webpack_nonce__","btoa","getRequestToken","getLoggerBuilder","setApp","detectUser","build","Vue","mixin","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","promises","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"core-legacy-unified-search.js?v=8c7477ac106752edc55c","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?8e38","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?1729","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?de39","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?6873","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?cc53","webpack:///nextcloud/core/src/services/LegacyUnifiedSearchService.js","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?c524","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?bfe7","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?b8e8","webpack:///nextcloud/core/src/legacy-unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};"," \n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacySearchResult.vue?vue&type=template&id=2aaf542f&scoped=true\"\nimport script from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacySearchResult.vue?vue&type=style&index=0&id=2aaf542f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2aaf542f\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:{\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded,\n\t\t\t[_vm.icon]: !_vm.loaded && !_vm.isIconUrl,\n\t\t},style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js\"","\n\n\n\n\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9ed03c40\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}; ${_vm.light}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.dark}; ${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({width: `calc(${_vm.randWidth()}%)`})})])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2020, John Molakvoæ \n *\n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author Joas Schilling \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 1)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n"," \n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacyUnifiedSearch.vue?vue&type=template&id=745f3570&scoped=true\"\nimport script from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=745f3570&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"745f3570\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcHeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-selectors\":['.popover'],\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22/* fit better next to other 20px icons */}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('div',{staticClass:\"unified-search__input-row\"},[_c('NcTextField',{ref:\"input\",staticClass:\"unified-search__form-input\",class:{'unified-search__form-input--with-reset': !!_vm.query},attrs:{\"value\":_vm.query,\"trailing-button-icon\":\"close\",\"label\":_vm.ariaLabel,\"trailing-button-label\":_vm.t('core','Reset search'),\"show-trailing-button\":_vm.query !== '',\"aria-describedby\":\"unified-search-desc\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') })},on:{\"update:value\":function($event){_vm.query=$event},\"trailing-button-click\":_vm.onReset,\"input\":_vm.onInputDebounced}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing and results may be reached with the arrow keys'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom-end\",\"container\":\".unified-search__input-wrapper\"}},_vm._l((_vm.availableFilters),function(filter){return _c('NcActionButton',{key:filter,attrs:{\"icon\":\"icon-filter\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onClickFilter(`in:${filter}`)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[filter] }))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.validQueryTitle},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('core', 'Start typing to search'),\"description\":_vm.shortQueryDescription},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):_vm._e()]:_vm._l((_vm.orderedResults),function({list, type},typesIndex){return [_c('h2',{key:type,staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ul',{key:type,staticClass:\"unified-search__results\",class:`unified-search__results-${type}`,attrs:{\"aria-label\":_vm.typesMap[type]}},[_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/LegacyUnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__result[data-v-2aaf542f]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2aaf542f]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2aaf542f]:active,.unified-search__result[data-v-2aaf542f]:hover,.unified-search__result[data-v-2aaf542f]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2aaf542f]{cursor:pointer}.unified-search__result-icon[data-v-2aaf542f]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2aaf542f]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2aaf542f]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2aaf542f]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2aaf542f]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2aaf542f],.unified-search__result-actions[data-v-2aaf542f]{flex:0 0 44px}.unified-search__result-content[data-v-2aaf542f]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-2aaf542f],.unified-search__result-line-two[data-v-2aaf542f]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2aaf542f]{opacity:.7;font-size:var(--default-font-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue\"],\"names\":[],\"mappings\":\"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder: 2px solid transparent;\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t&--focused {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.unified-search__input-wrapper[data-v-745f3570]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-745f3570]{align-self:flex-start;font-weight:bold;font-size:19px;margin-left:13px}.unified-search__form-input[data-v-745f3570]{margin:0 !important}.unified-search__form-input[data-v-745f3570]:focus,.unified-search__form-input[data-v-745f3570]:focus-visible,.unified-search__form-input[data-v-745f3570]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__input-row[data-v-745f3570]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-745f3570]{margin:10px 0 10px 5px;padding-top:5px}.unified-search__filters ul[data-v-745f3570]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-745f3570]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-745f3570]::after{right:10px;left:auto}.unified-search__form-input[data-v-745f3570],.unified-search__form-reset[data-v-745f3570]{margin:5px}.unified-search__form-input[data-v-745f3570]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-745f3570],.unified-search__form-input[placeholder][data-v-745f3570],.unified-search__form-input[data-v-745f3570]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-745f3570]::-webkit-search-decoration,.unified-search__form-input[data-v-745f3570]::-webkit-search-cancel-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-button,.unified-search__form-input[data-v-745f3570]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-745f3570],.unified-search__form-submit[data-v-745f3570]{position:absolute;top:0;right:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-745f3570]:hover,.unified-search__form-reset[data-v-745f3570]:focus,.unified-search__form-reset[data-v-745f3570]:active,.unified-search__form-submit[data-v-745f3570]:hover,.unified-search__form-submit[data-v-745f3570]:focus,.unified-search__form-submit[data-v-745f3570]:active{opacity:1}.unified-search__form-submit[data-v-745f3570]{right:28px}.unified-search__results[data-v-745f3570]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-745f3570]{display:block;margin:10px;margin-bottom:6px;margin-left:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search .unified-search__result-more[data-v-745f3570]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-745f3570]{margin:10vh 0}.unified-search .empty-content[data-v-745f3570] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/LegacyUnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAQC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CACA,kKAGC,wDAAA,CACA,4DAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,UAtDa,CAuDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WAlEY,CAmEZ,YAlEa,CAoEb,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAnHM,CAoHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACS,kCAAA,CACT,iBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 10px;\\n\\n.unified-search {\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form-input {\\n\\t\\tmargin: 0 !important;\\n\\t\\t&:focus,\\n\\t\\t&:focus-visible,\\n\\t\\t&:active {\\n\\t\\t\\tborder-color: 2px solid var(--color-main-text) !important;\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin: $margin 0 $margin math.div($margin, 2);\\n\\t\\tpadding-top: 5px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\t\\tright: $input-padding;\\n\\t\\t\\tleft: auto;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset, &-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tright: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-right: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tright: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t.unified-search__result-more::v-deep {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t::v-deep .empty-content__title {\\n\\t\\t\\tfont-weight: normal;\\n            font-size: var(--default-font-size);\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"923\":\"02b37a6174a781e7a8c2\",\"5358\":\"c7fc5670e3cdb8b6d91e\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 7086;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t7086: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(5832)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcHighlight","props","thumbnailUrl","type","String","default","title","required","subline","resourceUrl","icon","rounded","Boolean","query","focused","data","hasValidThumbnail","trim","loaded","computed","isIconUrl","startsWith","URL","watch","methods","reEmitEvent","e","$emit","onError","onLoad","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","class","attrs","on","style","backgroundImage","directives","rawName","value","expression","_e","_v","_s","light","dark","mounted","styles","getComputedStyle","document","documentElement","getPropertyValue","randWidth","Math","floor","random","_l","placeholder","key","width","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","async","getTypes","axios","get","generateOcsUrl","params","from","window","location","pathname","replace","search","ocs","Array","isArray","length","error","console","_ref","cursor","cancelToken","CancelToken","source","request","token","term","cancel","Magnify","NcActionButton","NcActions","NcEmptyContent","NcHeaderMenu","SearchResult","SearchResultPlaceholders","NcTextField","types","cursors","limits","loading","reached","requests","results","triggered","open","typesIDs","map","id","typesNames","typesMap","reduce","prev","curr","ariaLabel","t","hasResults","Object","keys","orderedResults","filter","list","availableFilters","usedFiltersIn","match","filters","exec","push","usedFiltersNot","validQueryTitle","shortQueryDescription","isShortQuery","n","isValidQuery","isDoneSearching","values","every","state","isLoading","some","created","logger","debug","beforeDestroy","unsubscribe","onNavigationChange","subscribe","OCP","Accessibility","disableKeyboardShortcuts","addEventListener","event","ctrlKey","code","preventDefault","focusNext","focusPrev","onOpen","onClose","emit","$el","querySelector","reset","onReset","resetState","focusInput","cancelPendingRequests","slice","Promise","all","$nextTick","$refs","input","focus","select","onInputEnter","getResultsList","click","onInput","$delete","indexOf","$set","entries","isPaginated","response","status","showError","then","result","onInputDebounced","debounce","loadMore","focusIndex","limitIfAny","querySelectorAll","focusFirst","index","setFocusedIndex","entry","target","findIndex","onClickFilter","$event","scopedSlots","_u","fn","proxy","ref","join","stopPropagation","typesIndex","_b","__webpack_nonce__","btoa","getRequestToken","getLoggerBuilder","setApp","detectUser","build","Vue","mixin","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","promises","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/core-login.js b/dist/core-login.js
index 29aef9693c0e9..840a81410f84c 100644
--- a/dist/core-login.js
+++ b/dist/core-login.js
@@ -1,3 +1,3 @@
 /*! For license information please see core-login.js.LICENSE.txt */
-(()=>{var e,r,i,s={81441:(e,r,i)=>{"use strict";var s={};i.r(s),i.d(s,{exclude:()=>Vt,extract:()=>Mt,parse:()=>Dt,parseUrl:()=>zt,pick:()=>Ht,stringify:()=>$t,stringifyUrl:()=>qt});var o=i(20144),a=i(69183),l=i(59050),c=i(19755),u=i.n(c),d=i(64024),h=i(25108);const f={updatableNotification:null,getDefaultNotificationFunction:null,setDefault(t){this.getDefaultNotificationFunction=t},hide(t,e){l.default.isFunction(t)&&(e=t,t=void 0),t?(t.each((function(){u()(this)[0].toastify?u()(this)[0].toastify.hideToast():h.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)})),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):h.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:d.Rl;const n=(0,d.PV)(t,e);return n.toastElement.toastify=n,u()(n.toastElement)},show(t,e){(e=e||{}).timeout=e.timeout?e.timeout:d.Rl;const n=(0,d.PV)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,u()(n.toastElement)},showUpdate(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,d.PV)(t,{timeout:d.Rl}),this.updatableNotification.toastElement.toastify=this.updatableNotification,u()(this.updatableNotification.toastElement)},showTemporary(t,e){(e=e||{}).timeout=e.timeout||d.TN;const n=(0,d.PV)(t,e);return n.toastElement.toastify=n,u()(n.toastElement)},isHidden:()=>!u()("#content").find(".toastify").length},p=l.default.throttle((()=>{f.showTemporary(t("core","Connection to server lost"))}),7e3,{trailing:!1});let m=!1;const g={enableDynamicSlideToggle(){m=!0},showAppSidebar:function(t){(t||u()("#app-sidebar")).removeClass("disappear").show(),u()("#app-content").trigger(new(u().Event)("appresized"))},hideAppSidebar:function(t){(t||u()("#app-sidebar")).hide().addClass("disappear"),u()("#app-content").trigger(new(u().Event)("appresized"))}};var v=i(79753);function y(t,e,n){"post"!==t&&"delete"!==t||!wt.PasswordConfirmation.requiresPasswordConfirmation()?(n=n||{},u().ajax({type:t.toUpperCase(),url:(0,v.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps")+e,data:n.data||{},success:n.success,error:n.error})):wt.PasswordConfirmation.requirePasswordConfirmation(_.bind(y,this,t,e,n))}const b=window.oc_appconfig||{},w={getValue:function(t,e,n,r){!function(t,e,n,r){(r=r||{}).data={defaultValue:n},y("get","/"+t+"/"+e,r)}(t,e,n,{success:r})},setValue:function(t,e,n){!function(t,e,n,r){(r=r||{}).data={value:n},y("post","/"+t+"/"+e,r)}(t,e,n)},getApps:function(t){!function(t){y("get","",t)}({success:t})},getKeys:function(t,e){!function(t,e){y("get","/"+t,e)}(t,{success:e})},deleteKey:function(t,e){!function(t,e,n){y("delete","/"+t+"/"+e,void 0)}(t,e)}},A=void 0!==window._oc_appswebroots&&window._oc_appswebroots;var x=i(72316),C=i.n(x),N=i(76591),k=i(25108);const E={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function P(t,e){if(l.default.isArray(t))return l.default.map(t,(function(t){return P(t,e)}));var n={href:t.href};return l.default.each(t.propStat,(function(t){if("HTTP/1.1 200 OK"===t.status)for(var r in t.properties){var i=r;r in e&&(i=e[r]),n[i]=t.properties[r]}})),n.id||(n.id=j(n.href)),n}function j(t){var e=t.indexOf("?");e>0&&(t=t.substr(0,e));var n,r=t.split("/");do{n=r[r.length-1],r.pop()}while(!n&&r.length>0);return n}function S(t){return t>=200&&t<=299}function O(t,e,n,r){return t.propPatch(e.url,function(t,e){var n,r={};for(n in t){var i=e[n],s=t[n];i||(k.warn('No matching DAV property for property "'+n),i=n),(l.default.isBoolean(s)||l.default.isNumber(s))&&(s=""+s),r[i]=s}return r}(n.changed,e.davProperties),r).then((function(t){S(t.status)?l.default.isFunction(e.success)&&e.success(n.toJSON()):l.default.isFunction(e.error)&&e.error(t)}))}const T=C().noConflict();Object.assign(T,{davCall:(t,e)=>{var n=new N.dav.Client({baseUrl:t.url,xmlNamespaces:l.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};var r=l.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,r){return t.propFind(e.url,l.default.values(e.davProperties)||[],e.depth,r).then((function(t){if(S(t.status)){if(l.default.isFunction(e.success)){var n=l.default.invert(e.davProperties),r=P(t.body,n);e.depth>0&&r.shift(),e.success(r)}}else l.default.isFunction(e.error)&&e.error(t)}))}(n,t,0,r):"PROPPATCH"===t.type?O(n,t,e,r):"MKCOL"===t.type?function(t,e,n,r){return t.request(e.type,e.url,r,null).then((function(i){S(i.status)?O(t,e,n,r):l.default.isFunction(e.error)&&e.error(i)}))}(n,t,e,r):function(t,e,n,r){return r["Content-Type"]="application/json",t.request(e.type,e.url,r,e.data).then((function(t){if(S(t.status)){if(l.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){var r=t.body||n.toJSON(),i=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&i&&(r.id=j(i)),void e.success(r)}if(207===t.status){var s=l.default.invert(e.davProperties);e.success(P(t.body,s))}else e.success(t.body)}}else l.default.isFunction(e.error)&&e.error(t)}))}(n,t,e,r)},davSync:(t=>(e,n,r)=>{var i={type:E[e]||e},s=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?i.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(i.type="PUT")),r.url||(i.url=l.default.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=r.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(i.data=JSON.stringify(r.attrs||n.toJSON(r))),"PROPFIND"!==i.type&&(i.processData=!1),"PROPFIND"===i.type||"PROPPATCH"===i.type){var o=n.davProperties;!o&&n.model&&(o=n.model.prototype.davProperties),o&&(l.default.isFunction(o)?i.davProperties=o.call(n):i.davProperties=o),i.davProperties=l.default.extend(i.davProperties||{},r.davProperties),l.default.isUndefined(r.depth)&&(r.depth=s?1:0)}var a=r.error;r.error=function(t,e,n){r.textStatus=e,r.errorThrown=n,a&&a.call(r.context,t,e,n)};var c=r.xhr=t.davCall(l.default.extend(i,r),n);return n.trigger("request",n,c,r),c})(T)});const I=T;var R=i(65358);const L=window._oc_config||{},F=document.getElementsByTagName("head")[0].getAttribute("data-user"),B=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),U=void 0!==F&&F;var M=i(96384),D=i(59546),$=i(62520);const z={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,FILEPICKER_TYPE_CUSTOM:5,dialogsCounter:0,alert:function(t,e,n,r){this.message(t,e,"alert",z.OK_BUTTON,n,r)},info:function(t,e,n,r){this.message(t,e,"info",z.OK_BUTTON,n,r)},confirm:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r)},confirmDestructive:function(t,e,n,r,i){return this.message(t,e,"none",n,r,void 0===i||i)},confirmHtml:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r,!0)},prompt:function(e,n,r,i,s,o){return u().when(this._getMessageTemplate()).then((function(a){var c="oc-dialog-"+z.dialogsCounter+"-content",d="#"+c,h=a.octemplate({dialog_name:c,title:n,message:e,type:"notice"}),f=u()("");f.attr("type",o?"password":"text").attr("id",c+"-input").attr("placeholder",s);var p=u()("