this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(n,t,r){const i=t||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&qt(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),qt(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),qt(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(a):e.interrupt(r.parser.constructs.flow,t,n)(a)}}function aa(e,n,t,r,i,s,a,u,f){const p=f||Number.POSITIVE_INFINITY;let m=0;return o;function o(_){return _===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(_),e.exit(s),l):_===null||_===32||_===41||Zr(_)?t(_):(e.enter(r),e.enter(a),e.enter(u),e.enter("chunkString",{contentType:"string"}),y(_))}function l(_){return _===62?(e.enter(s),e.consume(_),e.exit(s),e.exit(i),e.exit(r),n):(e.enter(u),e.enter("chunkString",{contentType:"string"}),c(_))}function c(_){return _===62?(e.exit("chunkString"),e.exit(u),l(_)):_===null||_===60||Q(_)?t(_):(e.consume(_),_===92?h:c)}function h(_){return _===60||_===62||_===92?(e.consume(_),c):c(_)}function y(_){return!m&&(_===null||_===41||ke(_))?(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(r),n(_)):m999||c===null||c===91||c===93&&!f||c===94&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?t(c):c===93?(e.exit(s),e.enter(i),e.consume(c),e.exit(i),e.exit(r),n):Q(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),o(c))}function o(c){return c===null||c===91||c===93||Q(c)||u++>999?(e.exit("chunkString"),m(c)):(e.consume(c),f||(f=!re(c)),c===92?l:o)}function l(c){return c===91||c===92||c===93?(e.consume(c),u++,o):o(c)}}function ua(e,n,t,r,i,s){let a;return u;function u(l){return l===34||l===39||l===40?(e.enter(r),e.enter(i),e.consume(l),e.exit(i),a=l===40?41:l,f):t(l)}function f(l){return l===a?(e.enter(i),e.consume(l),e.exit(i),e.exit(r),n):(e.enter(s),p(l))}function p(l){return l===a?(e.exit(s),f(a)):l===null?t(l):Q(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),le(e,p,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(l))}function m(l){return l===a||l===null||Q(l)?(e.exit("chunkString"),p(l)):(e.consume(l),l===92?o:m)}function o(l){return l===a||l===92?(e.consume(l),m):m(l)}}function Jt(e,n){let t;return r;function r(i){return Q(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):re(i)?le(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}const Cp={name:"definition",tokenize:Ep},Sp={partial:!0,tokenize:Op};function Ep(e,n,t){const r=this;let i;return s;function s(c){return e.enter("definition"),a(c)}function a(c){return la.call(r,e,u,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(c)}function u(c){return i=Nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),c===58?(e.enter("definitionMarker"),e.consume(c),e.exit("definitionMarker"),f):t(c)}function f(c){return ke(c)?Jt(e,p)(c):p(c)}function p(c){return aa(e,m,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(c)}function m(c){return e.attempt(Sp,o,o)(c)}function o(c){return re(c)?le(e,l,"whitespace")(c):l(c)}function l(c){return c===null||Q(c)?(e.exit("definition"),r.parser.defined.push(i),n(c)):t(c)}}function Op(e,n,t){return r;function r(u){return ke(u)?Jt(e,i)(u):t(u)}function i(u){return ua(e,s,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function s(u){return re(u)?le(e,a,"whitespace")(u):a(u)}function a(u){return u===null||Q(u)?n(u):t(u)}}const Ip={name:"hardBreakEscape",tokenize:Pp};function Pp(e,n,t){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return Q(s)?(e.exit("hardBreakEscape"),n(s)):t(s)}}const Lp={name:"headingAtx",resolve:Np,tokenize:Rp};function Np(e,n){let t=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},s={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"},Ge(e,r,t-r+1,[["enter",i,n],["enter",s,n],["exit",s,n],["exit",i,n]])),e}function Rp(e,n,t){let r=0;return i;function i(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),a(m)}function a(m){return m===35&&r++<6?(e.consume(m),a):m===null||ke(m)?(e.exit("atxHeadingSequence"),u(m)):t(m)}function u(m){return m===35?(e.enter("atxHeadingSequence"),f(m)):m===null||Q(m)?(e.exit("atxHeading"),n(m)):re(m)?le(e,u,"whitespace")(m):(e.enter("atxHeadingText"),p(m))}function f(m){return m===35?(e.consume(m),f):(e.exit("atxHeadingSequence"),u(m))}function p(m){return m===null||m===35||ke(m)?(e.exit("atxHeadingText"),u(m)):(e.consume(m),p)}}const Dp=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ro=["pre","script","style","textarea"],Fp={concrete:!0,name:"htmlFlow",resolveTo:Bp,tokenize:zp},Mp={partial:!0,tokenize:Hp},jp={partial:!0,tokenize:Up};function Bp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function zp(e,n,t){const r=this;let i,s,a,u,f;return p;function p(k){return m(k)}function m(k){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(k),o}function o(k){return k===33?(e.consume(k),l):k===47?(e.consume(k),s=!0,y):k===63?(e.consume(k),i=3,r.interrupt?n:x):We(k)?(e.consume(k),a=String.fromCharCode(k),v):t(k)}function l(k){return k===45?(e.consume(k),i=2,c):k===91?(e.consume(k),i=5,u=0,h):We(k)?(e.consume(k),i=4,r.interrupt?n:x):t(k)}function c(k){return k===45?(e.consume(k),r.interrupt?n:x):t(k)}function h(k){const Se="CDATA[";return k===Se.charCodeAt(u++)?(e.consume(k),u===Se.length?r.interrupt?n:V:h):t(k)}function y(k){return We(k)?(e.consume(k),a=String.fromCharCode(k),v):t(k)}function v(k){if(k===null||k===47||k===62||ke(k)){const Se=k===47,Je=a.toLowerCase();return!Se&&!s&&Ro.includes(Je)?(i=1,r.interrupt?n(k):V(k)):Dp.includes(a.toLowerCase())?(i=6,Se?(e.consume(k),_):r.interrupt?n(k):V(k)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(k):s?A(k):E(k))}return k===45||Oe(k)?(e.consume(k),a+=String.fromCharCode(k),v):t(k)}function _(k){return k===62?(e.consume(k),r.interrupt?n:V):t(k)}function A(k){return re(k)?(e.consume(k),A):O(k)}function E(k){return k===47?(e.consume(k),O):k===58||k===95||We(k)?(e.consume(k),L):re(k)?(e.consume(k),E):O(k)}function L(k){return k===45||k===46||k===58||k===95||Oe(k)?(e.consume(k),L):j(k)}function j(k){return k===61?(e.consume(k),P):re(k)?(e.consume(k),j):E(k)}function P(k){return k===null||k===60||k===61||k===62||k===96?t(k):k===34||k===39?(e.consume(k),f=k,G):re(k)?(e.consume(k),P):K(k)}function G(k){return k===f?(e.consume(k),f=null,H):k===null||Q(k)?t(k):(e.consume(k),G)}function K(k){return k===null||k===34||k===39||k===47||k===60||k===61||k===62||k===96||ke(k)?j(k):(e.consume(k),K)}function H(k){return k===47||k===62||re(k)?E(k):t(k)}function O(k){return k===62?(e.consume(k),z):t(k)}function z(k){return k===null||Q(k)?V(k):re(k)?(e.consume(k),z):t(k)}function V(k){return k===45&&i===2?(e.consume(k),ce):k===60&&i===1?(e.consume(k),fe):k===62&&i===4?(e.consume(k),Ce):k===63&&i===3?(e.consume(k),x):k===93&&i===5?(e.consume(k),De):Q(k)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Mp,Fe,q)(k)):k===null||Q(k)?(e.exit("htmlFlowData"),q(k)):(e.consume(k),V)}function q(k){return e.check(jp,B,Fe)(k)}function B(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),X}function X(k){return k===null||Q(k)?q(k):(e.enter("htmlFlowData"),V(k))}function ce(k){return k===45?(e.consume(k),x):V(k)}function fe(k){return k===47?(e.consume(k),a="",Te):V(k)}function Te(k){if(k===62){const Se=a.toLowerCase();return Ro.includes(Se)?(e.consume(k),Ce):V(k)}return We(k)&&a.length<8?(e.consume(k),a+=String.fromCharCode(k),Te):V(k)}function De(k){return k===93?(e.consume(k),x):V(k)}function x(k){return k===62?(e.consume(k),Ce):k===45&&i===2?(e.consume(k),x):V(k)}function Ce(k){return k===null||Q(k)?(e.exit("htmlFlowData"),Fe(k)):(e.consume(k),Ce)}function Fe(k){return e.exit("htmlFlow"),n(k)}}function Up(e,n,t){const r=this;return i;function i(a){return Q(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):t(a)}function s(a){return r.parser.lazy[r.now().line]?t(a):n(a)}}function Hp(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Wn,n,t)}}const qp={name:"htmlText",tokenize:Vp};function Vp(e,n,t){const r=this;let i,s,a;return u;function u(x){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(x),f}function f(x){return x===33?(e.consume(x),p):x===47?(e.consume(x),j):x===63?(e.consume(x),E):We(x)?(e.consume(x),K):t(x)}function p(x){return x===45?(e.consume(x),m):x===91?(e.consume(x),s=0,h):We(x)?(e.consume(x),A):t(x)}function m(x){return x===45?(e.consume(x),c):t(x)}function o(x){return x===null?t(x):x===45?(e.consume(x),l):Q(x)?(a=o,fe(x)):(e.consume(x),o)}function l(x){return x===45?(e.consume(x),c):o(x)}function c(x){return x===62?ce(x):x===45?l(x):o(x)}function h(x){const Ce="CDATA[";return x===Ce.charCodeAt(s++)?(e.consume(x),s===Ce.length?y:h):t(x)}function y(x){return x===null?t(x):x===93?(e.consume(x),v):Q(x)?(a=y,fe(x)):(e.consume(x),y)}function v(x){return x===93?(e.consume(x),_):y(x)}function _(x){return x===62?ce(x):x===93?(e.consume(x),_):y(x)}function A(x){return x===null||x===62?ce(x):Q(x)?(a=A,fe(x)):(e.consume(x),A)}function E(x){return x===null?t(x):x===63?(e.consume(x),L):Q(x)?(a=E,fe(x)):(e.consume(x),E)}function L(x){return x===62?ce(x):E(x)}function j(x){return We(x)?(e.consume(x),P):t(x)}function P(x){return x===45||Oe(x)?(e.consume(x),P):G(x)}function G(x){return Q(x)?(a=G,fe(x)):re(x)?(e.consume(x),G):ce(x)}function K(x){return x===45||Oe(x)?(e.consume(x),K):x===47||x===62||ke(x)?H(x):t(x)}function H(x){return x===47?(e.consume(x),ce):x===58||x===95||We(x)?(e.consume(x),O):Q(x)?(a=H,fe(x)):re(x)?(e.consume(x),H):ce(x)}function O(x){return x===45||x===46||x===58||x===95||Oe(x)?(e.consume(x),O):z(x)}function z(x){return x===61?(e.consume(x),V):Q(x)?(a=z,fe(x)):re(x)?(e.consume(x),z):H(x)}function V(x){return x===null||x===60||x===61||x===62||x===96?t(x):x===34||x===39?(e.consume(x),i=x,q):Q(x)?(a=V,fe(x)):re(x)?(e.consume(x),V):(e.consume(x),B)}function q(x){return x===i?(e.consume(x),i=void 0,X):x===null?t(x):Q(x)?(a=q,fe(x)):(e.consume(x),q)}function B(x){return x===null||x===34||x===39||x===60||x===61||x===96?t(x):x===47||x===62||ke(x)?H(x):(e.consume(x),B)}function X(x){return x===47||x===62||ke(x)?H(x):t(x)}function ce(x){return x===62?(e.consume(x),e.exit("htmlTextData"),e.exit("htmlText"),n):t(x)}function fe(x){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),Te}function Te(x){return re(x)?le(e,De,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(x):De(x)}function De(x){return e.enter("htmlTextData"),a(x)}}const hi={name:"labelEnd",resolveAll:Xp,resolveTo:Jp,tokenize:Yp},$p={tokenize:Zp},Wp={tokenize:Qp},Gp={tokenize:Kp};function Xp(e){let n=-1;const t=[];for(;++n=3&&(p===null||Q(p))?(e.exit("thematicBreak"),n(p)):t(p)}function f(p){return p===i?(e.consume(p),r++,f):(e.exit("thematicBreakSequence"),re(p)?le(e,u,"whitespace")(p):u(p))}}const xe={continuation:{tokenize:ud},exit:fd,name:"list",tokenize:ld},sd={partial:!0,tokenize:pd},ad={partial:!0,tokenize:cd};function ld(e,n,t){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return u;function u(c){const h=r.containerState.type||(c===42||c===43||c===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||c===r.containerState.marker:Qr(c)){if(r.containerState.type||(r.containerState.type=h,e.enter(h,{_container:!0})),h==="listUnordered")return e.enter("listItemPrefix"),c===42||c===45?e.check(Pn,t,p)(c):p(c);if(!r.interrupt||c===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(c)}return t(c)}function f(c){return Qr(c)&&++a<10?(e.consume(c),f):(!r.interrupt||a<2)&&(r.containerState.marker?c===r.containerState.marker:c===41||c===46)?(e.exit("listItemValue"),p(c)):t(c)}function p(c){return e.enter("listItemMarker"),e.consume(c),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||c,e.check(Wn,r.interrupt?t:m,e.attempt(sd,l,o))}function m(c){return r.containerState.initialBlankLine=!0,s++,l(c)}function o(c){return re(c)?(e.enter("listItemPrefixWhitespace"),e.consume(c),e.exit("listItemPrefixWhitespace"),l):t(c)}function l(c){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(c)}}function ud(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(Wn,i,s);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,le(e,n,"listItemIndent",r.containerState.size+1)(u)}function s(u){return r.containerState.furtherBlankLines||!re(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ad,n,a)(u))}function a(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,le(e,e.attempt(xe,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function cd(e,n,t){const r=this;return le(e,i,"listItemIndent",r.containerState.size+1);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?n(s):t(s)}}function fd(e){e.exit(this.containerState.type)}function pd(e,n,t){const r=this;return le(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const a=r.events[r.events.length-1];return!re(s)&&a&&a[1].type==="listItemPrefixWhitespace"?n(s):t(s)}}const Do={name:"setextUnderline",resolveTo:dd,tokenize:hd};function dd(e,n){let t=e.length,r,i,s;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){r=t;break}e[t][1].type==="paragraph"&&(i=t)}else e[t][1].type==="content"&&e.splice(t,1),!s&&e[t][1].type==="definition"&&(s=t);const a={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",a,n]),e.splice(s+1,0,["exit",e[r][1],n]),e[r][1].end={...e[s][1].end}):e[r][1]=a,e.push(["exit",a,n]),e}function hd(e,n,t){const r=this;let i;return s;function s(p){let m=r.events.length,o;for(;m--;)if(r.events[m][1].type!=="lineEnding"&&r.events[m][1].type!=="linePrefix"&&r.events[m][1].type!=="content"){o=r.events[m][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||o)?(e.enter("setextHeadingLine"),i=p,a(p)):t(p)}function a(p){return e.enter("setextHeadingLineSequence"),u(p)}function u(p){return p===i?(e.consume(p),u):(e.exit("setextHeadingLineSequence"),re(p)?le(e,f,"lineSuffix")(p):f(p))}function f(p){return p===null||Q(p)?(e.exit("setextHeadingLine"),n(p)):t(p)}}const md={tokenize:gd};function gd(e){const n=this,t=e.attempt(Wn,r,e.attempt(this.parser.constructs.flowInitial,i,le(e,e.attempt(this.parser.constructs.flow,i,e.attempt(wp,i)),"linePrefix")));return t;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const yd={resolveAll:fa()},_d=ca("string"),vd=ca("text");function ca(e){return{resolveAll:fa(e==="text"?bd:void 0),tokenize:n};function n(t){const r=this,i=this.parser.constructs[e],s=t.attempt(i,a,u);return a;function a(m){return p(m)?s(m):u(m)}function u(m){if(m===null){t.consume(m);return}return t.enter("data"),t.consume(m),f}function f(m){return p(m)?(t.exit("data"),s(m)):(t.consume(m),f)}function p(m){if(m===null)return!0;const o=i[m];let l=-1;if(o)for(;++l-1){const u=a[0];typeof u=="string"?a[0]=u.slice(r):a.shift()}s>0&&a.push(e[i].slice(0,s))}return a}function Nd(e,n){let t=-1;const r=[];let i;for(;++t{const u=parseInt(a.substring(1,3),16)/255,f=parseInt(a.substring(3,5),16)/255,p=parseInt(a.substring(5,7),16)/255,m=Math.max(u,f,p),o=Math.min(u,f,p);let l=0,c=0;const h=(m+o)/2;if(m!==o){const y=m-o;switch(c=h>.5?y/(2-m-o):y/(m+o),m){case u:l=(f-p)/y+(f{if(!n?.color||!t.test(n?.color))return!1;const[a,u,f]=r(n.color);return(a>=330||a<=15)&&u>.4&&(f>.1||f<.6)}),s=Yi(()=>{if(!n?.color||!t.test(n?.color))return!1;const[a,u,f]=r(n.color);return(a>=305||a<=64)&&u>.7&&(f>.1||f<.6)});return{__sfc:!0,theming:n,hexRegex:t,hexToHSL:r,isRedThemed:i,isOrangeThemed:s,IconBell:Ns}}};var Bu=function(){var e=this,n=e._self._c,t=e._self._setupProxy;return e.showDot||e.showWarning?n("span",{staticClass:"notifications-button__icon"},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",width:e.size,height:e.size,viewBox:"0 0 24 24",fill:"currentColor"}},[n("path",{attrs:{d:"M 19,11.79 C 18.5,11.92 18,12 17.5,12 14.47,12 12,9.53 12,6.5 12,5.03 12.58,3.7 13.5,2.71 13.15,2.28 12.61,2 12,2 10.9,2 10,2.9 10,4 V 4.29 C 7.03,5.17 5,7.9 5,11 v 6 l -2,2 v 1 H 21 V 19 L 19,17 V 11.79 M 12,23 c 1.11,0 2,-0.89 2,-2 h -4 c 0,1.11 0.9,2 2,2 z"}}),n("path",{staticClass:"notification__dot",class:{"notification__dot--warning":e.showWarning&&!t.isOrangeThemed,"notification__dot--white":t.isRedThemed||e.showWarning&&t.isOrangeThemed},attrs:{d:"M 21,6.5 C 21,8.43 19.43,10 17.5,10 15.57,10 14,8.43 14,6.5 14,4.57 15.57,3 17.5,3 19.43,3 21,4.57 21,6.5"}})])]):n(t.IconBell,{staticClass:"notifications-button__icon",attrs:{size:e.size}})},zu=[],Uu=Xe(ju,Bu,zu,!1,null,null);const Hu=Uu.exports;window._vue_richtext_widgets||(window._vue_richtext_widgets={});const Ki=e=>!!window._vue_richtext_widgets[e],qu=e=>!!window._vue_richtext_widgets[e]?.hasInteractiveView,Vu=e=>!!window._vue_richtext_widgets[e]?.fullWidth,$u=(e,n,t=i=>{},r)=>{const i={hasInteractiveView:!0,fullWidth:!1,...r};if(window._vue_richtext_widgets[e]){console.error("Widget for id "+e+" already registered");return}window._vue_richtext_widgets[e]={id:e,callback:n,onDestroy:t,...i}},Wu=(e,{richObjectType:n,richObject:t,accessible:r,interactive:i})=>{if(n!=="open-graph"){if(!window._vue_richtext_widgets[n]){console.error("Widget for rich object type "+n+" not registered");return}window._vue_richtext_widgets[n].callback(e,{richObjectType:n,richObject:t,accessible:r,interactive:i})}},Gu=(e,n)=>{e!=="open-graph"&&window._vue_richtext_widgets[e]&&window._vue_richtext_widgets[e].onDestroy(n)};window._registerWidget=(e,n,t,r)=>{$u(e,n,t,r)},window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});const Xu=(e,n,t=i=>{},r="large")=>{if(window._vue_richtext_custom_picker_elements[e]){console.error("Custom reference picker element for id "+e+" already registered");return}window._vue_richtext_custom_picker_elements[e]={id:e,callback:n,onDestroy:t,size:r}};window._registerCustomPickerElement=Xu;const Ju={name:"NcEmptyContent",props:{name:{type:String,default:""},description:{type:String,default:""}},computed:{hasName(){return this.name!==""},hasDescription(){return this.description!==""||this.$slots.description?.[0]}}};var Yu=function(){var e=this,n=e._self._c;return n("div",{staticClass:"empty-content",attrs:{role:"note"}},[e.$slots.icon?n("div",{staticClass:"empty-content__icon",attrs:{"aria-hidden":"true"}},[e._t("icon")],2):e._e(),e._t("name",function(){return[e.hasName?n("span",{staticClass:"empty-content__name"},[e._v(" "+e._s(e.name)+" ")]):e._e()]}),e.hasDescription?n("p",{staticClass:"empty-content__description"},[e._t("description",function(){return[e._v(" "+e._s(e.description)+" ")]})],2):e._e(),e.$slots.action?n("div",{staticClass:"empty-content__action"},[e._t("action")],2):e._e()],2)},Zu=[],Qu=rt(Ju,Yu,Zu,!1,null,"12126d08");const Ku=Qu.exports;function Ue(e,n){for(var t in n)e[t]=n[t];return e}var ec=/[!'()*]/g,tc=function(e){return"%"+e.charCodeAt(0).toString(16)},nc=/%2C/g,St=function(e){return encodeURIComponent(e).replace(ec,tc).replace(nc,",")};function Hr(e){try{return decodeURIComponent(e)}catch{}return e}function rc(e,n,t){n===void 0&&(n={});var r=t||ic,i;try{i=r(e||"")}catch{i={}}for(var s in n){var a=n[s];i[s]=Array.isArray(a)?a.map(eo):eo(a)}return i}var eo=function(e){return e==null||typeof e=="object"?e:String(e)};function ic(e){var n={};return e=e.trim().replace(/^(\?|#|&)/,""),e&&e.split("&").forEach(function(t){var r=t.replace(/\+/g," ").split("="),i=Hr(r.shift()),s=r.length>0?Hr(r.join("=")):null;n[i]===void 0?n[i]=s:Array.isArray(n[i])?n[i].push(s):n[i]=[n[i],s]}),n}function oc(e){var n=e?Object.keys(e).map(function(t){var r=e[t];if(r===void 0)return"";if(r===null)return St(t);if(Array.isArray(r)){var i=[];return r.forEach(function(s){s!==void 0&&(s===null?i.push(St(t)):i.push(St(t)+"="+St(s)))}),i.join("&")}return St(t)+"="+St(r)}).filter(function(t){return t.length>0}).join("&"):null;return n?"?"+n:""}var Rn=/\/?$/;function Dn(e,n,t,r){var i=r&&r.options.stringifyQuery,s=n.query||{};try{s=qr(s)}catch{}var a={name:n.name||e&&e.name,meta:e&&e.meta||{},path:n.path||"/",hash:n.hash||"",query:s,params:n.params||{},fullPath:to(n,i),matched:e?sc(e):[]};return t&&(a.redirectedFrom=to(t,i)),Object.freeze(a)}function qr(e){if(Array.isArray(e))return e.map(qr);if(e&&typeof e=="object"){var n={};for(var t in e)n[t]=qr(e[t]);return n}else return e}var dt=Dn(null,{path:"/"});function sc(e){for(var n=[];e;)n.unshift(e),e=e.parent;return n}function to(e,n){var t=e.path,r=e.query;r===void 0&&(r={});var i=e.hash;i===void 0&&(i="");var s=n||oc;return(t||"/")+s(r)+i}function Fs(e,n,t){return n===dt?e===n:n?e.path&&n.path?e.path.replace(Rn,"")===n.path.replace(Rn,"")&&(t||e.hash===n.hash&&Cn(e.query,n.query)):e.name&&n.name?e.name===n.name&&(t||e.hash===n.hash&&Cn(e.query,n.query)&&Cn(e.params,n.params)):!1:!1}function Cn(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),!e||!n)return e===n;var t=Object.keys(e).sort(),r=Object.keys(n).sort();return t.length!==r.length?!1:t.every(function(i,s){var a=e[i],u=r[s];if(u!==i)return!1;var f=n[i];return a==null||f==null?a===f:typeof a=="object"&&typeof f=="object"?Cn(a,f):String(a)===String(f)})}function ac(e,n){return e.path.replace(Rn,"/").indexOf(n.path.replace(Rn,"/"))===0&&(!n.hash||e.hash===n.hash)&&lc(e.query,n.query)}function lc(e,n){for(var t in n)if(!(t in e))return!1;return!0}function Ms(e){for(var n=0;n=0&&(n=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(t=e.slice(i+1),e=e.slice(0,i)),{path:e,query:t,hash:n}}function ct(e){return e.replace(/\/(?:\s*\/)+/g,"/")}var Fn=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"},Pt=Us,pc=si,dc=yc,hc=Bs,mc=zs,gc=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function si(e,n){for(var t=[],r=0,i=0,s="",a=n&&n.delimiter||"/",u;(u=gc.exec(e))!=null;){var f=u[0],p=u[1],m=u.index;if(s+=e.slice(i,m),i=m+f.length,p){s+=p[1];continue}var o=e[i],l=u[2],c=u[3],h=u[4],y=u[5],v=u[6],_=u[7];s&&(t.push(s),s="");var A=l!=null&&o!=null&&o!==l,E=v==="+"||v==="*",L=v==="?"||v==="*",j=u[2]||a,P=h||y;t.push({name:c||r++,prefix:l||"",delimiter:j,optional:L,repeat:E,partial:A,asterisk:!!_,pattern:P?bc(P):_?".*":"[^"+Sn(j)+"]+?"})}return i1||!L.length)return L.length===0?e():e("span",{},L)}if(this.tag==="a")E.on=A,E.attrs={href:u,"aria-current":v};else{var j=Hs(this.$slots.default);if(j){j.isStatic=!1;var P=j.data=Ue({},j.data);P.on=P.on||{};for(var G in P.on){var K=P.on[G];G in A&&(P.on[G]=Array.isArray(K)?K:[K])}for(var H in A)H in P.on?P.on[H].push(A[H]):P.on[H]=_;var O=j.data.attrs=Ue({},j.data.attrs);O.href=u,O["aria-current"]=v}else E.on=A}return e(this.tag,E,this.$slots.default)}};function oo(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){var n=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(n))return}return e.preventDefault&&e.preventDefault(),!0}}function Hs(e){if(e){for(var n,t=0;t-1&&(v.params[L]=h.params[L]);return v.path=En(A.path,v.params),l(A,v,y)}else if(v.path){v.params={};for(var j=0;j-1}function zn(e,n){return Bn(e)&&e._isRouter&&(n==null||e.type===n)}function fo(e,n,t){var r=function(i){i>=e.length?t():e[i]?n(e[i],function(){r(i+1)}):r(i+1)};r(0)}function Uc(e){return function(n,t,r){var i=!1,s=0,a=null;Js(e,function(u,f,p,m){if(typeof u=="function"&&u.cid===void 0){i=!0,s++;var o=po(function(y){qc(y)&&(y=y.default),u.resolved=typeof y=="function"?y:Mn.extend(y),p.components[m]=y,s--,s<=0&&r()}),l=po(function(y){var v="Failed to resolve async component "+m+": "+y;a||(a=Bn(y)?y:new Error(v),r(a))}),c;try{c=u(o,l)}catch(y){l(y)}if(c)if(typeof c.then=="function")c.then(o,l);else{var h=c.component;h&&typeof h.then=="function"&&h.then(o,l)}}}),i||r()}}function Js(e,n){return Ys(e.map(function(t){return Object.keys(t.components).map(function(r){return n(t.components[r],t.instances[r],t,r)})}))}function Ys(e){return Array.prototype.concat.apply([],e)}var Hc=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function qc(e){return e.__esModule||Hc&&e[Symbol.toStringTag]==="Module"}function po(e){var n=!1;return function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(!n)return n=!0,e.apply(this,t)}}var ze=function(e,n){this.router=e,this.base=Vc(n),this.current=dt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};ze.prototype.listen=function(e){this.cb=e},ze.prototype.onReady=function(e,n){this.ready?e():(this.readyCbs.push(e),n&&this.readyErrorCbs.push(n))},ze.prototype.onError=function(e){this.errorCbs.push(e)},ze.prototype.transitionTo=function(e,n,t){var r=this,i;try{i=this.router.match(e,this.current)}catch(a){throw this.errorCbs.forEach(function(u){u(a)}),a}var s=this.current;this.confirmTransition(i,function(){r.updateRoute(i),n&&n(i),r.ensureURL(),r.router.afterHooks.forEach(function(a){a&&a(i,s)}),r.ready||(r.ready=!0,r.readyCbs.forEach(function(a){a(i)}))},function(a){t&&t(a),a&&!r.ready&&(!zn(a,kt.redirected)||s!==dt)&&(r.ready=!0,r.readyErrorCbs.forEach(function(u){u(a)}))})},ze.prototype.confirmTransition=function(e,n,t){var r=this,i=this.current;this.pending=e;var s=function(h){!zn(h)&&Bn(h)&&(r.errorCbs.length?r.errorCbs.forEach(function(y){y(h)}):console.error(h)),t&&t(h)},a=e.matched.length-1,u=i.matched.length-1;if(Fs(e,i)&&a===u&&e.matched[a]===i.matched[u])return this.ensureURL(),e.hash&&ft(this.router,i,e,!1),s(Mc(i,e));var f=$c(this.current.matched,e.matched),p=f.updated,m=f.deactivated,o=f.activated,l=[].concat(Gc(m),this.router.beforeHooks,Xc(p),o.map(function(h){return h.beforeEnter}),Uc(o)),c=function(h,y){if(r.pending!==e)return s(co(i,e));try{h(e,i,function(v){v===!1?(r.ensureURL(!0),s(jc(i,e))):Bn(v)?(r.ensureURL(!0),s(v)):typeof v=="string"||typeof v=="object"&&(typeof v.path=="string"||typeof v.name=="string")?(s(Fc(i,e)),typeof v=="object"&&v.replace?r.replace(v):r.push(v)):y(v)})}catch(v){s(v)}};fo(l,c,function(){var h=Jc(o),y=h.concat(r.router.resolveHooks);fo(y,c,function(){if(r.pending!==e)return s(co(i,e));r.pending=null,n(e),r.router.app&&r.router.app.$nextTick(function(){Ms(e)})})})},ze.prototype.updateRoute=function(e){this.current=e,this.cb&&this.cb(e)},ze.prototype.setupListeners=function(){},ze.prototype.teardown=function(){this.listeners.forEach(function(e){e()}),this.listeners=[],this.current=dt,this.pending=null};function Vc(e){if(!e)if(en){var n=document.querySelector("base");e=n&&n.getAttribute("href")||"/",e=e.replace(/^https?:\/\/[^\/]+/,"")}else e="/";return e.charAt(0)!=="/"&&(e="/"+e),e.replace(/\/$/,"")}function $c(e,n){var t,r=Math.max(e.length,n.length);for(t=0;t0)){var r=this.router,i=r.options.scrollBehavior,s=pt&&i;s&&this.listeners.push(Gs());var a=function(){var u=t.current,f=Wt(t.base);t.current===dt&&f===t._startLocation||t.transitionTo(f,function(p){s&&ft(r,p,u,!0)})};window.addEventListener("popstate",a),this.listeners.push(function(){window.removeEventListener("popstate",a)})}},n.prototype.go=function(t){window.history.go(t)},n.prototype.push=function(t,r,i){var s=this,a=this,u=a.current;this.transitionTo(t,function(f){jn(ct(s.base+f.fullPath)),ft(s.router,f,u,!1),r&&r(f)},i)},n.prototype.replace=function(t,r,i){var s=this,a=this,u=a.current;this.transitionTo(t,function(f){Wr(ct(s.base+f.fullPath)),ft(s.router,f,u,!1),r&&r(f)},i)},n.prototype.ensureURL=function(t){if(Wt(this.base)!==this.current.fullPath){var r=ct(this.base+this.current.fullPath);t?jn(r):Wr(r)}},n.prototype.getCurrentLocation=function(){return Wt(this.base)},n}(ze);function Wt(e){var n=window.location.pathname,t=n.toLowerCase(),r=e.toLowerCase();return e&&(t===r||t.indexOf(ct(r+"/"))===0)&&(n=n.slice(e.length)),(n||"/")+window.location.search+window.location.hash}var Ks=function(e){function n(t,r,i){e.call(this,t,r),!(i&&Zc(this.base))&&ho()}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var r=this.router,i=r.options.scrollBehavior,s=pt&&i;s&&this.listeners.push(Gs());var a=function(){var f=t.current;ho()&&t.transitionTo(On(),function(p){s&&ft(t.router,p,f,!0),pt||In(p.fullPath)})},u=pt?"popstate":"hashchange";window.addEventListener(u,a),this.listeners.push(function(){window.removeEventListener(u,a)})}},n.prototype.push=function(t,r,i){var s=this,a=this,u=a.current;this.transitionTo(t,function(f){mo(f.fullPath),ft(s.router,f,u,!1),r&&r(f)},i)},n.prototype.replace=function(t,r,i){var s=this,a=this,u=a.current;this.transitionTo(t,function(f){In(f.fullPath),ft(s.router,f,u,!1),r&&r(f)},i)},n.prototype.go=function(t){window.history.go(t)},n.prototype.ensureURL=function(t){var r=this.current.fullPath;On()!==r&&(t?mo(r):In(r))},n.prototype.getCurrentLocation=function(){return On()},n}(ze);function Zc(e){var n=Wt(e);if(!/^\/#/.test(n))return window.location.replace(ct(e+"/#"+n)),!0}function ho(){var e=On();return e.charAt(0)==="/"?!0:(In("/"+e),!1)}function On(){var e=window.location.href,n=e.indexOf("#");return n<0?"":(e=e.slice(n+1),e)}function Gr(e){var n=window.location.href,t=n.indexOf("#"),r=t>=0?n.slice(0,t):n;return r+"#"+e}function mo(e){pt?jn(Gr(e)):window.location.hash=e}function In(e){pt?Wr(Gr(e)):window.location.replace(Gr(e))}var Qc=function(e){function n(t,r){e.call(this,t,r),this.stack=[],this.index=-1}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.push=function(t,r,i){var s=this;this.transitionTo(t,function(a){s.stack=s.stack.slice(0,s.index+1).concat(a),s.index++,r&&r(a)},i)},n.prototype.replace=function(t,r,i){var s=this;this.transitionTo(t,function(a){s.stack=s.stack.slice(0,s.index).concat(a),r&&r(a)},i)},n.prototype.go=function(t){var r=this,i=this.index+t;if(!(i<0||i>=this.stack.length)){var s=this.stack[i];this.confirmTransition(s,function(){var a=r.current;r.index=i,r.updateRoute(s),r.router.afterHooks.forEach(function(u){u&&u(s,a)})},function(a){zn(a,kt.duplicated)&&(r.index=i)})}},n.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},n.prototype.ensureURL=function(){},n}(ze),ue=function(e){e===void 0&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ec(e.routes||[],this);var n=e.mode||"hash";switch(this.fallback=n==="history"&&!pt&&e.fallback!==!1,this.fallback&&(n="hash"),en||(n="abstract"),this.mode=n,n){case"history":this.history=new Qs(this,e.base);break;case"hash":this.history=new Ks(this,e.base,this.fallback);break;case"abstract":this.history=new Qc(this,e.base);break}},go={currentRoute:{configurable:!0}};ue.prototype.match=function(e,n,t){return this.matcher.match(e,n,t)},go.currentRoute.get=function(){return this.history&&this.history.current},ue.prototype.init=function(e){var n=this;if(this.apps.push(e),e.$once("hook:destroyed",function(){var s=n.apps.indexOf(e);s>-1&&n.apps.splice(s,1),n.app===e&&(n.app=n.apps[0]||null),n.app||n.history.teardown()}),!this.app){this.app=e;var t=this.history;if(t instanceof Qs||t instanceof Ks){var r=function(s){var a=t.current,u=n.options.scrollBehavior,f=pt&&u;f&&"fullPath"in s&&ft(n,s,a,!1)},i=function(s){t.setupListeners(),r(s)};t.transitionTo(t.getCurrentLocation(),i,i)}t.listen(function(s){n.apps.forEach(function(a){a._route=s})})}},ue.prototype.beforeEach=function(e){return yr(this.beforeHooks,e)},ue.prototype.beforeResolve=function(e){return yr(this.resolveHooks,e)},ue.prototype.afterEach=function(e){return yr(this.afterHooks,e)},ue.prototype.onReady=function(e,n){this.history.onReady(e,n)},ue.prototype.onError=function(e){this.history.onError(e)},ue.prototype.push=function(e,n,t){var r=this;if(!n&&!t&&typeof Promise<"u")return new Promise(function(i,s){r.history.push(e,i,s)});this.history.push(e,n,t)},ue.prototype.replace=function(e,n,t){var r=this;if(!n&&!t&&typeof Promise<"u")return new Promise(function(i,s){r.history.replace(e,i,s)});this.history.replace(e,n,t)},ue.prototype.go=function(e){this.history.go(e)},ue.prototype.back=function(){this.go(-1)},ue.prototype.forward=function(){this.go(1)},ue.prototype.getMatchedComponents=function(e){var n=e?e.matched?e:this.resolve(e).route:this.currentRoute;return n?[].concat.apply([],n.matched.map(function(t){return Object.keys(t.components).map(function(r){return t.components[r]})})):[]},ue.prototype.resolve=function(e,n,t){n=n||this.history.current;var r=ui(e,n,t,this),i=this.match(r,n),s=i.redirectedFrom||i.fullPath,a=this.history.base,u=Kc(a,s,this.mode);return{location:r,route:i,href:u,normalizedTo:r,resolved:i}},ue.prototype.getRoutes=function(){return this.matcher.getRoutes()},ue.prototype.addRoute=function(e,n){this.matcher.addRoute(e,n),this.history.current!==dt&&this.history.transitionTo(this.history.getCurrentLocation())},ue.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==dt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(ue.prototype,go);function yr(e,n){return e.push(n),function(){var t=e.indexOf(n);t>-1&&e.splice(t,1)}}function Kc(e,n,t){var r=t==="hash"?"#"+n:n;return e?ct(e+"/"+r):r}ue.install=Vr,ue.version="3.6.5",ue.isNavigationFailure=zn,ue.NavigationFailureType=kt,ue.START_LOCATION=dt,en&&window.Vue&&window.Vue.use(ue);const ef={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var tf=function(){var e=this,n=e._self._c;return n("span",e._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[e.title?n("title",[e._v(e._s(e.title))]):e._e()])])])},nf=[],rf=rt(ef,tf,nf,!1,null,null);const of=rf.exports,sf={name:"NcInputField",components:{NcButton:Mt,AlertCircle:of,Check:gu},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:e=>["text","password","email","tel","url","search","number"].includes(e)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:$l("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+Zt()},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const e=this.label||this.labelOutside;return e||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),e},ariaDescribedby(){const e=[];return this.helperText.length>0&&e.push(`${this.inputName}-helper-text`),this.$attrs["aria-describedby"]&&e.push(this.$attrs["aria-describedby"]),e.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(e){const n=this.type==="number"&&typeof this.model=="number"?parseFloat(e.target.value,10):e.target.value;this.model=n},handleTrailingButtonClick(e){this.$emit("trailing-button-click",e)}}};var af=function(){var e=this,n=e._self._c;return n("div",{staticClass:"input-field",class:{"input-field--disabled":e.disabled,"input-field--label-outside":e.labelOutside||!e.isValidLabel,"input-field--leading-icon":!!e.$scopedSlots.icon||!!e.$scopedSlots.default||!!e.$slots.default,"input-field--trailing-icon":e.showTrailingButton||e.hasTrailingIcon,"input-field--pill":e.pill}},[n("div",{staticClass:"input-field__main-wrapper"},[n("input",e._g(e._b({ref:"input",staticClass:"input-field__input",class:[e.inputClass,{"input-field__input--success":e.success,"input-field__input--error":e.error}],attrs:{id:e.computedId,type:e.type,disabled:e.disabled,placeholder:e.computedPlaceholder,"aria-describedby":e.ariaDescribedby,"aria-live":"polite"},domProps:{value:e.model?.toString()},on:{input:e.handleInput}},"input",e.$attrs,!1),e.$listeners)),!e.labelOutside&&e.isValidLabel?n("label",{staticClass:"input-field__label",attrs:{for:e.computedId}},[e._v(" "+e._s(e.label)+" ")]):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:!!e.$scopedSlots.icon||!!e.$scopedSlots.default||!!e.$slots.default,expression:"!!$scopedSlots.icon || !!$scopedSlots.default || !!$slots.default"}],staticClass:"input-field__icon input-field__icon--leading"},[e._t("icon",function(){return[e._t("default")]})],2),e.showTrailingButton?n("NcButton",{staticClass:"input-field__trailing-button",attrs:{"aria-label":e.trailingButtonLabel,disabled:e.disabled,variant:"tertiary-no-background"},on:{click:e.handleTrailingButtonClick},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("trailing-button-icon")]},proxy:!0}],null,!0)}):e.success||e.error?n("div",{staticClass:"input-field__icon input-field__icon--trailing"},[e.success?n("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):e.error?n("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):e._e()],1):e._e()],1),e.helperText.length>0?n("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":e.error,"input-field__helper-text-message--success":e.success},attrs:{id:`${e.inputName}-helper-text`}},[e.success?n("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e.error?n("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e._e(),e._v(" "+e._s(e.helperText)+" ")],1):e._e()])},lf=[],uf=rt(sf,af,lf,!1,null,"8f3abf17");const yo=uf.exports;vt(Gl,Wl),new Set(Object.keys(yo.props)),{...yo.props},vt(Yl);const cf=3*60*1e3,ff={name:"NcReferenceWidget",components:{NcButton:Mt},props:{reference:{type:Object,required:!0},interactive:{type:Boolean,default:!0},interactiveOptIn:{type:Boolean,default:!1}},setup(){const e=Ur(!1),n=Ur(),{width:t}=Xl(n);return Jl(n,([r])=>{du(()=>{e.value=r.isIntersecting})}),{width:t,isVisible:e,widgetRoot:n}},data(){return{showInteractive:!1,rendered:!1,idleTimeout:null}},computed:{isInteractive(){return!this.interactiveOptIn&&this.interactive||this.showInteractive},hasFullWidth(){return Vu(this.reference.richObjectType)},hasCustomWidget(){return Ki(this.reference.richObjectType)},hasInteractiveView(){return Ki(this.reference.richObjectType)&&qu(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(this.numberOfLines===0)return{display:"none"};const e=this.numberOfLines;return{lineClamp:e,webkitLineClamp:e}},numberOfLines(){return[450,550,650,1/0].findIndex(e=>this.width{this.isVisible||this.destroyWidget()},cf);return}this.idleTimeout&&(clearTimeout(this.idleTimeout),this.idleTimeout=null),this.rendered||this.renderWidget()},immediate:!0}},beforeDestroy(){this.destroyWidget()},methods:{t:Os,enableInteractive(){this.showInteractive=!0,this.renderWidget()},renderWidget(){if(!this.$refs.customWidget||this?.reference?.richObjectType==="open-graph")return;this.$refs.customWidget.innerHTML="";const e=document.createElement("div");e.style="width: 100%;",this.$refs.customWidget.appendChild(e),this.$nextTick(()=>{Wu(e,{...this.reference,interactive:this.isInteractive}),this.rendered=!0})},destroyWidget(){this.rendered&&(Gu(this.reference.richObjectType,this.$el),this.rendered=!1)}}};var pf=function(){var e=this,n=e._self._c;return n("div",{ref:"widgetRoot",class:{"toggle-interactive":e.hasInteractiveView&&!e.isInteractive}},[e.reference&&e.hasCustomWidget?n("div",{ref:"customWidget",staticClass:"widget-custom",class:{"full-width":e.hasFullWidth}}):!e.noAccess&&e.reference&&e.reference.openGraphObject&&!e.hasCustomWidget?n(e.referenceWidgetLinkComponent,e._b({tag:"component",staticClass:"widget-default",attrs:{rel:"noopener noreferrer"}},"component",e.referenceWidgetLinkProps,!1),[e.reference.openGraphObject.thumb?n("img",{staticClass:"widget-default--image",attrs:{src:e.reference.openGraphObject.thumb}}):e._e(),n("div",{staticClass:"widget-default--details"},[n("p",{staticClass:"widget-default--name"},[e._v(" "+e._s(e.reference.openGraphObject.name)+" ")]),n("p",{staticClass:"widget-default--description",style:e.descriptionStyle},[e._v(" "+e._s(e.reference.openGraphObject.description)+" ")]),n("p",{staticClass:"widget-default--link"},[e._v(" "+e._s(e.compactLink)+" ")])])]):e._e(),e.interactiveOptIn&&e.hasInteractiveView&&!e.isInteractive?n("NcButton",{staticClass:"toggle-interactive--button",on:{click:e.enableInteractive}},[e._v(" "+e._s(e.t("Enable interactive view"))+" ")]):e._e()],1)},df=[],hf=rt(ff,pf,df,!1,null,"734d6ae9");const mf=hf.exports;vt(Zl),Os("Any link"),Is("core","filetypes/link.svg"),window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=Dt("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=Dt("core","reference-provider-timestamps",{})),vt(Gi,Ql),vt(Kl),vt(tu,Gi,eu),vt(ru,nu);function _o(){return Dt("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function vo(e){if(e)throw e}var _r,bo;function gf(){if(bo)return _r;bo=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(f){return typeof Array.isArray=="function"?Array.isArray(f):n.call(f)==="[object Array]"},s=function(f){if(!f||n.call(f)!=="[object Object]")return!1;var p=e.call(f,"constructor"),m=f.constructor&&f.constructor.prototype&&e.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!p&&!m)return!1;var o;for(o in f);return typeof o>"u"||e.call(f,o)},a=function(f,p){t&&p.name==="__proto__"?t(f,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):f[p.name]=p.newValue},u=function(f,p){if(p==="__proto__")if(e.call(f,p)){if(r)return r(f,p).value}else return;return f[p]};return _r=function f(){var p,m,o,l,c,h,y=arguments[0],v=1,_=arguments.length,A=!1;for(typeof y=="boolean"&&(A=y,y=arguments[1]||{},v=2),(y==null||typeof y!="object"&&typeof y!="function")&&(y={});v<_;++v)if(p=arguments[v],p!=null)for(m in p)o=u(y,m),l=u(p,m),y!==l&&(A&&l&&(s(l)||(c=i(l)))?(c?(c=!1,h=o&&i(o)?o:[]):h=o&&s(o)?o:{},a(y,{name:m,newValue:f(A,h,l)})):typeof l<"u"&&a(y,{name:m,newValue:l}));return y},_r}var yf=gf();const vr=oi(yf);function Xr(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function _f(){const e=[],n={run:t,use:r};return n;function t(...i){let s=-1;const a=i.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);u(null,...i);function u(f,...p){const m=e[++s];let o=-1;if(f){a(f);return}for(;++oa.length;let f;u&&a.push(i);try{f=e.apply(this,a)}catch(p){const m=p;if(u&&t)throw m;return i(m)}u||(f instanceof Promise?f.then(s,i):f instanceof Error?i(f):s(f))}function i(a,...u){t||(t=!0,n(a,...u))}function s(a){i(null,a)}}function Xt(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?wo(e.position):"start"in e||"end"in e?wo(e):"line"in e||"column"in e?Jr(e):""}function Jr(e){return xo(e&&e.line)+":"+xo(e&&e.column)}function wo(e){return Jr(e&&e.start)+"-"+Jr(e&&e.end)}function xo(e){return e&&typeof e=="number"?e:1}class we extends Error{constructor(n,t,r){super(),typeof t=="string"&&(r=t,t=void 0);let i="",s={},a=!1;if(t&&("line"in t&&"column"in t?s={place:t}:"start"in t&&"end"in t?s={place:t}:"type"in t?s={ancestors:[t],place:t.position}:s={...t}),typeof n=="string"?i=n:!s.cause&&n&&(a=!0,i=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof r=="string"){const f=r.indexOf(":");f===-1?s.ruleId=r:(s.source=r.slice(0,f),s.ruleId=r.slice(f+1))}if(!s.place&&s.ancestors&&s.ancestors){const f=s.ancestors[s.ancestors.length-1];f&&(s.place=f.position)}const u=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=u?u.line:void 0,this.name=Xt(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual,this.expected,this.note,this.url}}we.prototype.file="",we.prototype.name="",we.prototype.reason="",we.prototype.message="",we.prototype.stack="",we.prototype.column=void 0,we.prototype.line=void 0,we.prototype.ancestors=void 0,we.prototype.cause=void 0,we.prototype.fatal=void 0,we.prototype.place=void 0,we.prototype.ruleId=void 0,we.prototype.source=void 0;const Ve={basename:bf,dirname:wf,extname:xf,join:kf,sep:"/"};function bf(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');tn(e);let t=0,r=-1,i=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(s){t=i+1;break}}else r<0&&(s=!0,r=i+1);return r<0?"":e.slice(t,r)}if(n===e)return"";let a=-1,u=n.length-1;for(;i--;)if(e.codePointAt(i)===47){if(s){t=i+1;break}}else a<0&&(s=!0,a=i+1),u>-1&&(e.codePointAt(i)===n.codePointAt(u--)?u<0&&(r=i):(u=-1,r=a));return t===r?r=a:r<0&&(r=e.length),e.slice(t,r)}function wf(e){if(tn(e),e.length===0)return".";let n=-1,t=e.length,r;for(;--t;)if(e.codePointAt(t)===47){if(r){n=t;break}}else r||(r=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function xf(e){tn(e);let n=e.length,t=-1,r=0,i=-1,s=0,a;for(;n--;){const u=e.codePointAt(n);if(u===47){if(a){r=n+1;break}continue}t<0&&(a=!0,t=n+1),u===46?i<0?i=n:s!==1&&(s=1):i>-1&&(s=-1)}return i<0||t<0||s===0||s===1&&i===t-1&&i===r+1?"":e.slice(i,t)}function kf(...e){let n=-1,t;for(;++n0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function Tf(e,n){let t="",r=0,i=-1,s=0,a=-1,u,f;for(;++a<=e.length;){if(a2){if(f=t.lastIndexOf("/"),f!==t.length-1){f<0?(t="",r=0):(t=t.slice(0,f),r=t.length-1-t.lastIndexOf("/")),i=a,s=0;continue}}else if(t.length>0){t="",r=0,i=a,s=0;continue}}n&&(t=t.length>0?t+"/..":"..",r=2)}else t.length>0?t+="/"+e.slice(i+1,a):t=e.slice(i+1,a),r=a-i-1;i=a,s=0}else u===46&&s>-1?s++:s=-1}return t}function tn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Cf={cwd:Sf};function Sf(){return"/"}function Yr(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Ef(e){if(typeof e=="string")e=new URL(e);else if(!Yr(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Of(e)}function Of(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const n=e.pathname;let t=-1;for(;++t0){let[c,...h]=m;const y=r[l][1];Xr(y)&&Xr(c)&&(c=vr(!0,y,c)),r[l]=[p,c,...h]}}}}const Rf=new fi().freeze();function kr(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Ar(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Tr(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ao(e){if(!Xr(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function To(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function wn(e){return Df(e)?e:new If(e)}function Df(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Ff(e){return typeof e=="string"||Mf(e)}function Mf(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const jf={};function Bf(e,n){const t=jf,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ea(e,r,i)}function ea(e,n,t){if(zf(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Co(e.children,n,t)}return Array.isArray(e)?Co(e,n,t):""}function Co(e,n,t){const r=[];let i=-1;for(;++ii?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)a=Array.from(r),a.unshift(n,t),e.splice(...a);else for(t&&e.splice(n,t);s0?(Ge(e,e.length,0,n),e):n}const Eo={}.hasOwnProperty;function Uf(e){const n={};let t=-1;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function Nt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Vf=ht(new RegExp("\\p{P}","u")),We=ht(/[A-Za-z]/),Oe=ht(/[\dA-Za-z]/),$f=ht(/[#-'*+\--9=?A-Z^-~]/);function Zr(e){return e!==null&&(e<32||e===127)}const Qr=ht(/\d/),Wf=ht(/[\dA-Fa-f]/),na=ht(/[!-/:-@[-`{-~]/);function Q(e){return e!==null&&e<-2}function ke(e){return e!==null&&(e<0||e===32)}function re(e){return e===-2||e===-1||e===32}function Gf(e){return na(e)||Vf(e)}const Xf=ht(/\s/);function ht(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function jt(e){const n=[];let t=-1,r=0,i=0;for(;++t55295&&s<57344){const u=e.charCodeAt(t+1);s<56320&&u>56319&&u<57344?(a=String.fromCharCode(s,u),i=1):a="�"}else a=String.fromCharCode(s);a&&(n.push(e.slice(r,t),encodeURIComponent(a)),r=t+i+1,a=""),i&&(t+=i,i=0)}return n.join("")+e.slice(r)}function le(e,n,t,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(f){return re(f)?(e.enter(t),u(f)):n(f)}function u(f){return re(f)&&s++a))return;const G=n.events.length;let K=G,H,O;for(;K--;)if(n.events[K][0]==="exit"&&n.events[K][1].type==="chunkFlow"){if(H){O=n.events[K][1].end;break}H=!0}for(_(r),P=G;PE;){const j=t[L];n.containerState=j[1],j[0].exit.call(n,e)}t.length=E}function A(){i.write([null]),s=void 0,i=void 0,n.containerState._closeFlow=void 0}}function Kf(e,n,t){return le(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Io(e){if(e===null||ke(e)||Xf(e))return 1;if(Gf(e))return 2}function di(e,n,t){const r=[];let i=-1;for(;++i1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;const o={...e[r][1].end},l={...e[t][1].start};Po(o,-f),Po(l,f),a={type:f>1?"strongSequence":"emphasisSequence",start:o,end:{...e[r][1].end}},u={type:f>1?"strongSequence":"emphasisSequence",start:{...e[t][1].start},end:l},s={type:f>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[t][1].start}},i={type:f>1?"strong":"emphasis",start:{...a.start},end:{...u.end}},e[r][1].end={...a.start},e[t][1].start={...u.end},p=[],e[r][1].end.offset-e[r][1].start.offset&&(p=Re(p,[["enter",e[r][1],n],["exit",e[r][1],n]])),p=Re(p,[["enter",i,n],["enter",a,n],["exit",a,n],["enter",s,n]]),p=Re(p,di(n.parser.constructs.insideSpan.null,e.slice(r+1,t),n)),p=Re(p,[["exit",s,n],["enter",u,n],["exit",u,n],["exit",i,n]]),e[t][1].end.offset-e[t][1].start.offset?(m=2,p=Re(p,[["enter",e[t][1],n],["exit",e[t][1],n]])):m=0,Ge(e,r-1,t-r+3,p),t=r+p.length-m-2;break}}for(t=-1;++t0&&re(P)?le(e,A,"linePrefix",s+1)(P):A(P)}function A(P){return P===null||Q(P)?e.check(Lo,y,L)(P):(e.enter("codeFlowValue"),E(P))}function E(P){return P===null||Q(P)?(e.exit("codeFlowValue"),A(P)):(e.consume(P),E)}function L(P){return e.exit("codeFenced"),n(P)}function j(P,G,K){let H=0;return O;function O(X){return P.enter("lineEnding"),P.consume(X),P.exit("lineEnding"),z}function z(X){return P.enter("codeFencedFence"),re(X)?le(P,V,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(X):V(X)}function V(X){return X===u?(P.enter("codeFencedFenceSequence"),q(X)):K(X)}function q(X){return X===u?(H++,P.consume(X),q):H>=a?(P.exit("codeFencedFenceSequence"),re(X)?le(P,B,"whitespace")(X):B(X)):K(X)}function B(X){return X===null||Q(X)?(P.exit("codeFencedFence"),G(X)):K(X)}}}function fp(e,n,t){const r=this;return i;function i(a){return a===null?t(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return r.parser.lazy[r.now().line]?t(a):n(a)}}const Cr={name:"codeIndented",tokenize:dp},pp={partial:!0,tokenize:hp};function dp(e,n,t){const r=this;return i;function i(p){return e.enter("codeIndented"),le(e,s,"linePrefix",5)(p)}function s(p){const m=r.events[r.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?a(p):t(p)}function a(p){return p===null?f(p):Q(p)?e.attempt(pp,a,f)(p):(e.enter("codeFlowValue"),u(p))}function u(p){return p===null||Q(p)?(e.exit("codeFlowValue"),a(p)):(e.consume(p),u)}function f(p){return e.exit("codeIndented"),n(p)}}function hp(e,n,t){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?t(a):Q(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):le(e,s,"linePrefix",5)(a)}function s(a){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?n(a):Q(a)?i(a):t(a)}}const mp={name:"codeText",previous:yp,resolve:gp,tokenize:_p};function gp(e){let n=e.length-4,t=3,r,i;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(r=t;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(n,t,r){const i=t||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&qt(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),qt(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),qt(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(a):e.interrupt(r.parser.constructs.flow,t,n)(a)}}function aa(e,n,t,r,i,s,a,u,f){const p=f||Number.POSITIVE_INFINITY;let m=0;return o;function o(_){return _===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(_),e.exit(s),l):_===null||_===32||_===41||Zr(_)?t(_):(e.enter(r),e.enter(a),e.enter(u),e.enter("chunkString",{contentType:"string"}),y(_))}function l(_){return _===62?(e.enter(s),e.consume(_),e.exit(s),e.exit(i),e.exit(r),n):(e.enter(u),e.enter("chunkString",{contentType:"string"}),c(_))}function c(_){return _===62?(e.exit("chunkString"),e.exit(u),l(_)):_===null||_===60||Q(_)?t(_):(e.consume(_),_===92?h:c)}function h(_){return _===60||_===62||_===92?(e.consume(_),c):c(_)}function y(_){return!m&&(_===null||_===41||ke(_))?(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(r),n(_)):m999||c===null||c===91||c===93&&!f||c===94&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?t(c):c===93?(e.exit(s),e.enter(i),e.consume(c),e.exit(i),e.exit(r),n):Q(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),o(c))}function o(c){return c===null||c===91||c===93||Q(c)||u++>999?(e.exit("chunkString"),m(c)):(e.consume(c),f||(f=!re(c)),c===92?l:o)}function l(c){return c===91||c===92||c===93?(e.consume(c),u++,o):o(c)}}function ua(e,n,t,r,i,s){let a;return u;function u(l){return l===34||l===39||l===40?(e.enter(r),e.enter(i),e.consume(l),e.exit(i),a=l===40?41:l,f):t(l)}function f(l){return l===a?(e.enter(i),e.consume(l),e.exit(i),e.exit(r),n):(e.enter(s),p(l))}function p(l){return l===a?(e.exit(s),f(a)):l===null?t(l):Q(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),le(e,p,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(l))}function m(l){return l===a||l===null||Q(l)?(e.exit("chunkString"),p(l)):(e.consume(l),l===92?o:m)}function o(l){return l===a||l===92?(e.consume(l),m):m(l)}}function Jt(e,n){let t;return r;function r(i){return Q(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):re(i)?le(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}const Cp={name:"definition",tokenize:Ep},Sp={partial:!0,tokenize:Op};function Ep(e,n,t){const r=this;let i;return s;function s(c){return e.enter("definition"),a(c)}function a(c){return la.call(r,e,u,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(c)}function u(c){return i=Nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),c===58?(e.enter("definitionMarker"),e.consume(c),e.exit("definitionMarker"),f):t(c)}function f(c){return ke(c)?Jt(e,p)(c):p(c)}function p(c){return aa(e,m,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(c)}function m(c){return e.attempt(Sp,o,o)(c)}function o(c){return re(c)?le(e,l,"whitespace")(c):l(c)}function l(c){return c===null||Q(c)?(e.exit("definition"),r.parser.defined.push(i),n(c)):t(c)}}function Op(e,n,t){return r;function r(u){return ke(u)?Jt(e,i)(u):t(u)}function i(u){return ua(e,s,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function s(u){return re(u)?le(e,a,"whitespace")(u):a(u)}function a(u){return u===null||Q(u)?n(u):t(u)}}const Ip={name:"hardBreakEscape",tokenize:Pp};function Pp(e,n,t){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return Q(s)?(e.exit("hardBreakEscape"),n(s)):t(s)}}const Lp={name:"headingAtx",resolve:Np,tokenize:Rp};function Np(e,n){let t=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},s={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"},Ge(e,r,t-r+1,[["enter",i,n],["enter",s,n],["exit",s,n],["exit",i,n]])),e}function Rp(e,n,t){let r=0;return i;function i(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),a(m)}function a(m){return m===35&&r++<6?(e.consume(m),a):m===null||ke(m)?(e.exit("atxHeadingSequence"),u(m)):t(m)}function u(m){return m===35?(e.enter("atxHeadingSequence"),f(m)):m===null||Q(m)?(e.exit("atxHeading"),n(m)):re(m)?le(e,u,"whitespace")(m):(e.enter("atxHeadingText"),p(m))}function f(m){return m===35?(e.consume(m),f):(e.exit("atxHeadingSequence"),u(m))}function p(m){return m===null||m===35||ke(m)?(e.exit("atxHeadingText"),u(m)):(e.consume(m),p)}}const Dp=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ro=["pre","script","style","textarea"],Fp={concrete:!0,name:"htmlFlow",resolveTo:Bp,tokenize:zp},Mp={partial:!0,tokenize:Hp},jp={partial:!0,tokenize:Up};function Bp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function zp(e,n,t){const r=this;let i,s,a,u,f;return p;function p(k){return m(k)}function m(k){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(k),o}function o(k){return k===33?(e.consume(k),l):k===47?(e.consume(k),s=!0,y):k===63?(e.consume(k),i=3,r.interrupt?n:x):We(k)?(e.consume(k),a=String.fromCharCode(k),v):t(k)}function l(k){return k===45?(e.consume(k),i=2,c):k===91?(e.consume(k),i=5,u=0,h):We(k)?(e.consume(k),i=4,r.interrupt?n:x):t(k)}function c(k){return k===45?(e.consume(k),r.interrupt?n:x):t(k)}function h(k){const Se="CDATA[";return k===Se.charCodeAt(u++)?(e.consume(k),u===Se.length?r.interrupt?n:V:h):t(k)}function y(k){return We(k)?(e.consume(k),a=String.fromCharCode(k),v):t(k)}function v(k){if(k===null||k===47||k===62||ke(k)){const Se=k===47,Je=a.toLowerCase();return!Se&&!s&&Ro.includes(Je)?(i=1,r.interrupt?n(k):V(k)):Dp.includes(a.toLowerCase())?(i=6,Se?(e.consume(k),_):r.interrupt?n(k):V(k)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(k):s?A(k):E(k))}return k===45||Oe(k)?(e.consume(k),a+=String.fromCharCode(k),v):t(k)}function _(k){return k===62?(e.consume(k),r.interrupt?n:V):t(k)}function A(k){return re(k)?(e.consume(k),A):O(k)}function E(k){return k===47?(e.consume(k),O):k===58||k===95||We(k)?(e.consume(k),L):re(k)?(e.consume(k),E):O(k)}function L(k){return k===45||k===46||k===58||k===95||Oe(k)?(e.consume(k),L):j(k)}function j(k){return k===61?(e.consume(k),P):re(k)?(e.consume(k),j):E(k)}function P(k){return k===null||k===60||k===61||k===62||k===96?t(k):k===34||k===39?(e.consume(k),f=k,G):re(k)?(e.consume(k),P):K(k)}function G(k){return k===f?(e.consume(k),f=null,H):k===null||Q(k)?t(k):(e.consume(k),G)}function K(k){return k===null||k===34||k===39||k===47||k===60||k===61||k===62||k===96||ke(k)?j(k):(e.consume(k),K)}function H(k){return k===47||k===62||re(k)?E(k):t(k)}function O(k){return k===62?(e.consume(k),z):t(k)}function z(k){return k===null||Q(k)?V(k):re(k)?(e.consume(k),z):t(k)}function V(k){return k===45&&i===2?(e.consume(k),ce):k===60&&i===1?(e.consume(k),fe):k===62&&i===4?(e.consume(k),Ce):k===63&&i===3?(e.consume(k),x):k===93&&i===5?(e.consume(k),De):Q(k)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Mp,Fe,q)(k)):k===null||Q(k)?(e.exit("htmlFlowData"),q(k)):(e.consume(k),V)}function q(k){return e.check(jp,B,Fe)(k)}function B(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),X}function X(k){return k===null||Q(k)?q(k):(e.enter("htmlFlowData"),V(k))}function ce(k){return k===45?(e.consume(k),x):V(k)}function fe(k){return k===47?(e.consume(k),a="",Te):V(k)}function Te(k){if(k===62){const Se=a.toLowerCase();return Ro.includes(Se)?(e.consume(k),Ce):V(k)}return We(k)&&a.length<8?(e.consume(k),a+=String.fromCharCode(k),Te):V(k)}function De(k){return k===93?(e.consume(k),x):V(k)}function x(k){return k===62?(e.consume(k),Ce):k===45&&i===2?(e.consume(k),x):V(k)}function Ce(k){return k===null||Q(k)?(e.exit("htmlFlowData"),Fe(k)):(e.consume(k),Ce)}function Fe(k){return e.exit("htmlFlow"),n(k)}}function Up(e,n,t){const r=this;return i;function i(a){return Q(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):t(a)}function s(a){return r.parser.lazy[r.now().line]?t(a):n(a)}}function Hp(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Wn,n,t)}}const qp={name:"htmlText",tokenize:Vp};function Vp(e,n,t){const r=this;let i,s,a;return u;function u(x){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(x),f}function f(x){return x===33?(e.consume(x),p):x===47?(e.consume(x),j):x===63?(e.consume(x),E):We(x)?(e.consume(x),K):t(x)}function p(x){return x===45?(e.consume(x),m):x===91?(e.consume(x),s=0,h):We(x)?(e.consume(x),A):t(x)}function m(x){return x===45?(e.consume(x),c):t(x)}function o(x){return x===null?t(x):x===45?(e.consume(x),l):Q(x)?(a=o,fe(x)):(e.consume(x),o)}function l(x){return x===45?(e.consume(x),c):o(x)}function c(x){return x===62?ce(x):x===45?l(x):o(x)}function h(x){const Ce="CDATA[";return x===Ce.charCodeAt(s++)?(e.consume(x),s===Ce.length?y:h):t(x)}function y(x){return x===null?t(x):x===93?(e.consume(x),v):Q(x)?(a=y,fe(x)):(e.consume(x),y)}function v(x){return x===93?(e.consume(x),_):y(x)}function _(x){return x===62?ce(x):x===93?(e.consume(x),_):y(x)}function A(x){return x===null||x===62?ce(x):Q(x)?(a=A,fe(x)):(e.consume(x),A)}function E(x){return x===null?t(x):x===63?(e.consume(x),L):Q(x)?(a=E,fe(x)):(e.consume(x),E)}function L(x){return x===62?ce(x):E(x)}function j(x){return We(x)?(e.consume(x),P):t(x)}function P(x){return x===45||Oe(x)?(e.consume(x),P):G(x)}function G(x){return Q(x)?(a=G,fe(x)):re(x)?(e.consume(x),G):ce(x)}function K(x){return x===45||Oe(x)?(e.consume(x),K):x===47||x===62||ke(x)?H(x):t(x)}function H(x){return x===47?(e.consume(x),ce):x===58||x===95||We(x)?(e.consume(x),O):Q(x)?(a=H,fe(x)):re(x)?(e.consume(x),H):ce(x)}function O(x){return x===45||x===46||x===58||x===95||Oe(x)?(e.consume(x),O):z(x)}function z(x){return x===61?(e.consume(x),V):Q(x)?(a=z,fe(x)):re(x)?(e.consume(x),z):H(x)}function V(x){return x===null||x===60||x===61||x===62||x===96?t(x):x===34||x===39?(e.consume(x),i=x,q):Q(x)?(a=V,fe(x)):re(x)?(e.consume(x),V):(e.consume(x),B)}function q(x){return x===i?(e.consume(x),i=void 0,X):x===null?t(x):Q(x)?(a=q,fe(x)):(e.consume(x),q)}function B(x){return x===null||x===34||x===39||x===60||x===61||x===96?t(x):x===47||x===62||ke(x)?H(x):(e.consume(x),B)}function X(x){return x===47||x===62||ke(x)?H(x):t(x)}function ce(x){return x===62?(e.consume(x),e.exit("htmlTextData"),e.exit("htmlText"),n):t(x)}function fe(x){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),Te}function Te(x){return re(x)?le(e,De,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(x):De(x)}function De(x){return e.enter("htmlTextData"),a(x)}}const hi={name:"labelEnd",resolveAll:Xp,resolveTo:Jp,tokenize:Yp},$p={tokenize:Zp},Wp={tokenize:Qp},Gp={tokenize:Kp};function Xp(e){let n=-1;const t=[];for(;++n=3&&(p===null||Q(p))?(e.exit("thematicBreak"),n(p)):t(p)}function f(p){return p===i?(e.consume(p),r++,f):(e.exit("thematicBreakSequence"),re(p)?le(e,u,"whitespace")(p):u(p))}}const xe={continuation:{tokenize:ud},exit:fd,name:"list",tokenize:ld},sd={partial:!0,tokenize:pd},ad={partial:!0,tokenize:cd};function ld(e,n,t){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return u;function u(c){const h=r.containerState.type||(c===42||c===43||c===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||c===r.containerState.marker:Qr(c)){if(r.containerState.type||(r.containerState.type=h,e.enter(h,{_container:!0})),h==="listUnordered")return e.enter("listItemPrefix"),c===42||c===45?e.check(Pn,t,p)(c):p(c);if(!r.interrupt||c===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(c)}return t(c)}function f(c){return Qr(c)&&++a<10?(e.consume(c),f):(!r.interrupt||a<2)&&(r.containerState.marker?c===r.containerState.marker:c===41||c===46)?(e.exit("listItemValue"),p(c)):t(c)}function p(c){return e.enter("listItemMarker"),e.consume(c),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||c,e.check(Wn,r.interrupt?t:m,e.attempt(sd,l,o))}function m(c){return r.containerState.initialBlankLine=!0,s++,l(c)}function o(c){return re(c)?(e.enter("listItemPrefixWhitespace"),e.consume(c),e.exit("listItemPrefixWhitespace"),l):t(c)}function l(c){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(c)}}function ud(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(Wn,i,s);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,le(e,n,"listItemIndent",r.containerState.size+1)(u)}function s(u){return r.containerState.furtherBlankLines||!re(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ad,n,a)(u))}function a(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,le(e,e.attempt(xe,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function cd(e,n,t){const r=this;return le(e,i,"listItemIndent",r.containerState.size+1);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?n(s):t(s)}}function fd(e){e.exit(this.containerState.type)}function pd(e,n,t){const r=this;return le(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const a=r.events[r.events.length-1];return!re(s)&&a&&a[1].type==="listItemPrefixWhitespace"?n(s):t(s)}}const Do={name:"setextUnderline",resolveTo:dd,tokenize:hd};function dd(e,n){let t=e.length,r,i,s;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){r=t;break}e[t][1].type==="paragraph"&&(i=t)}else e[t][1].type==="content"&&e.splice(t,1),!s&&e[t][1].type==="definition"&&(s=t);const a={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",a,n]),e.splice(s+1,0,["exit",e[r][1],n]),e[r][1].end={...e[s][1].end}):e[r][1]=a,e.push(["exit",a,n]),e}function hd(e,n,t){const r=this;let i;return s;function s(p){let m=r.events.length,o;for(;m--;)if(r.events[m][1].type!=="lineEnding"&&r.events[m][1].type!=="linePrefix"&&r.events[m][1].type!=="content"){o=r.events[m][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||o)?(e.enter("setextHeadingLine"),i=p,a(p)):t(p)}function a(p){return e.enter("setextHeadingLineSequence"),u(p)}function u(p){return p===i?(e.consume(p),u):(e.exit("setextHeadingLineSequence"),re(p)?le(e,f,"lineSuffix")(p):f(p))}function f(p){return p===null||Q(p)?(e.exit("setextHeadingLine"),n(p)):t(p)}}const md={tokenize:gd};function gd(e){const n=this,t=e.attempt(Wn,r,e.attempt(this.parser.constructs.flowInitial,i,le(e,e.attempt(this.parser.constructs.flow,i,e.attempt(wp,i)),"linePrefix")));return t;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const yd={resolveAll:fa()},_d=ca("string"),vd=ca("text");function ca(e){return{resolveAll:fa(e==="text"?bd:void 0),tokenize:n};function n(t){const r=this,i=this.parser.constructs[e],s=t.attempt(i,a,u);return a;function a(m){return p(m)?s(m):u(m)}function u(m){if(m===null){t.consume(m);return}return t.enter("data"),t.consume(m),f}function f(m){return p(m)?(t.exit("data"),s(m)):(t.consume(m),f)}function p(m){if(m===null)return!0;const o=i[m];let l=-1;if(o)for(;++l-1){const u=a[0];typeof u=="string"?a[0]=u.slice(r):a.shift()}s>0&&a.push(e[i].slice(0,s))}return a}function Nd(e,n){let t=-1;const r=[];let i;for(;++t0){const Ie=Y.tokenStack[Y.tokenStack.length-1];(Ie[1]||Mo).call(Y,void 0,Ie[0])}for(D.position={start:lt(N.length>0?N[0][1].start:{line:1,column:1,offset:0}),end:lt(N.length>0?N[N.length-2][1].end:{line:1,column:1,offset:0})},oe=-1;++oe0?{type:"text",value:L}:void 0),L===!1?o.lastIndex=A+1:(c!==A&&v.push({type:"text",value:f.value.slice(c,A)}),Array.isArray(L)?v.push(...L):L&&v.push(L),c=A+_[0].length,y=!0),!o.global)break;_=o.exec(f.value)}return y?(c",...f.current()})),p+=f.move(">")):(u=t.enter("destinationRaw"),p+=f.move(t.safe(e.url,{before:p,after:e.title?" ":")",...f.current()}))),u(),e.title&&(u=t.enter(`title${s}`),p+=f.move(" "+i),p+=f.move(t.safe(e.title,{before:p,after:i,...f.current()})),p+=f.move(i),u()),p+=f.move(")"),a(),p}function Zg(){return"!"}Ha.peek=Qg;function Ha(e,n,t,r){const i=e.referenceType,s=t.enter("imageReference");let a=t.enter("label");const u=t.createTracker(r);let f=u.move("![");const p=t.safe(e.alt,{before:f,after:"]",...u.current()});f+=u.move(p+"]["),a();const m=t.stack;t.stack=[],a=t.enter("reference");const o=t.safe(t.associationId(e),{before:f,after:"]",...u.current()});return a(),t.stack=m,s(),i==="full"||!p||p!==o?f+=u.move(o+"]"):i==="shortcut"?f=f.slice(0,-1):f+=u.move("]"),f}function Qg(){return"!"}qa.peek=Kg;function qa(e,n,t){let r=e.value||"",i="`",s=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s\u007F]/.test(e.url))}$a.peek=ey;function $a(e,n,t,r){const i=xi(t),s=i==='"'?"Quote":"Apostrophe",a=t.createTracker(r);let u,f;if(Va(e,t)){const m=t.stack;t.stack=[],u=t.enter("autolink");let o=a.move("<");return o+=a.move(t.containerPhrasing(e,{before:o,after:">",...a.current()})),o+=a.move(">"),u(),t.stack=m,o}u=t.enter("link"),f=t.enter("label");let p=a.move("[");return p+=a.move(t.containerPhrasing(e,{before:p,after:"](",...a.current()})),p+=a.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=t.enter("destinationLiteral"),p+=a.move("<"),p+=a.move(t.safe(e.url,{before:p,after:">",...a.current()})),p+=a.move(">")):(f=t.enter("destinationRaw"),p+=a.move(t.safe(e.url,{before:p,after:e.title?" ":")",...a.current()}))),f(),e.title&&(f=t.enter(`title${s}`),p+=a.move(" "+i),p+=a.move(t.safe(e.title,{before:p,after:i,...a.current()})),p+=a.move(i),f()),p+=a.move(")"),u(),p}function ey(e,n,t){return Va(e,t)?"<":"["}Wa.peek=ty;function Wa(e,n,t,r){const i=e.referenceType,s=t.enter("linkReference");let a=t.enter("label");const u=t.createTracker(r);let f=u.move("[");const p=t.containerPhrasing(e,{before:f,after:"]",...u.current()});f+=u.move(p+"]["),a();const m=t.stack;t.stack=[],a=t.enter("reference");const o=t.safe(t.associationId(e),{before:f,after:"]",...u.current()});return a(),t.stack=m,s(),i==="full"||!p||p!==o?f+=u.move(o+"]"):i==="shortcut"?f=f.slice(0,-1):f+=u.move("]"),f}function ty(){return"["}function ki(e){const n=e.options.bullet||"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bullet`, expected `*`, `+`, or `-`");return n}function ny(e){const n=ki(e),t=e.options.bulletOther;if(!t)return n==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===n)throw new Error("Expected `bullet` (`"+n+"`) and `bulletOther` (`"+t+"`) to be different");return t}function ry(e){const n=e.options.bulletOrdered||".";if(n!=="."&&n!==")")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOrdered`, expected `.` or `)`");return n}function Ga(e){const n=e.options.rule||"*";if(n!=="*"&&n!=="-"&&n!=="_")throw new Error("Cannot serialize rules with `"+n+"` for `options.rule`, expected `*`, `-`, or `_`");return n}function iy(e,n,t,r){const i=t.enter("list"),s=t.bulletCurrent;let a=e.ordered?ry(t):ki(t);const u=e.ordered?a==="."?")":".":ny(t);let f=n&&t.bulletLastUsed?a===t.bulletLastUsed:!1;if(!e.ordered){const m=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&m&&(!m.children||!m.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(f=!0),Ga(t)===a&&m){let o=-1;for(;++o-1?n.start:1)+(t.options.incrementListMarker===!1?0:n.children.indexOf(e))+s);let a=s.length+1;(i==="tab"||i==="mixed"&&(n&&n.type==="list"&&n.spread||e.spread))&&(a=Math.ceil(a/4)*4);const u=t.createTracker(r);u.move(s+" ".repeat(a-s.length)),u.shift(a);const f=t.enter("listItem"),p=t.indentLines(t.containerFlow(e,u.current()),m);return f(),p;function m(o,l,c){return l?(c?"":" ".repeat(a))+o:(c?s:s+" ".repeat(a-s.length))+o}}function ay(e,n,t,r){const i=t.enter("paragraph"),s=t.enter("phrasing"),a=t.containerPhrasing(e,r);return s(),i(),a}const ly=Yn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function uy(e,n,t,r){return(e.children.some(function(i){return ly(i)})?t.containerPhrasing:t.containerFlow).call(t,e,r)}function cy(e){const n=e.options.strong||"*";if(n!=="*"&&n!=="_")throw new Error("Cannot serialize strong with `"+n+"` for `options.strong`, expected `*`, or `_`");return n}Xa.peek=fy;function Xa(e,n,t,r){const i=cy(t),s=t.enter("strong"),a=t.createTracker(r);let u=a.move(i+i);return u+=a.move(t.containerPhrasing(e,{before:u,after:i,...a.current()})),u+=a.move(i+i),s(),u}function fy(e,n,t){return t.options.strong||"*"}function py(e,n,t,r){return t.safe(e.value,r)}function dy(e){const n=e.options.ruleRepetition||3;if(n<3)throw new Error("Cannot serialize rules with repetition `"+n+"` for `options.ruleRepetition`, expected `3` or more");return n}function hy(e,n,t){const r=(Ga(t)+(t.options.ruleSpaces?" ":"")).repeat(dy(t));return t.options.ruleSpaces?r.slice(0,-1):r}const Ja={blockquote:Dg,break:is,code:Ug,definition:qg,emphasis:Ma,hardBreak:is,heading:Jg,html:za,image:Ua,imageReference:Ha,inlineCode:qa,link:$a,linkReference:Wa,list:iy,listItem:sy,paragraph:ay,root:uy,strong:Xa,text:py,thematicBreak:hy};function my(){return{enter:{table:gy,tableData:ss,tableHeader:ss,tableRow:_y},exit:{codeText:vy,table:yy,tableData:jr,tableHeader:jr,tableRow:jr}}}function gy(e){const n=e._align;this.enter({type:"table",align:n.map(function(t){return t==="none"?null:t}),children:[]},e),this.data.inTable=!0}function yy(e){this.exit(e),this.data.inTable=void 0}function _y(e){this.enter({type:"tableRow",children:[]},e)}function jr(e){this.exit(e)}function ss(e){this.enter({type:"tableCell",children:[]},e)}function vy(e){let n=this.resume();this.data.inTable&&(n=n.replace(/\\([\\|])/g,by));const t=this.stack[this.stack.length-1];t.type,t.value=n,this.exit(e)}function by(e,n){return n==="|"?n:e}function wy(e){const n=e||{},t=n.tableCellPadding,r=n.tablePipeAlign,i=n.stringLength,s=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:l,table:a,tableCell:f,tableRow:u}};function a(c,h,y,v){return p(m(c,y,v),c.align)}function u(c,h,y,v){const _=o(c,y,v),A=p([_]);return A.slice(0,A.indexOf(`
-`))}function f(c,h,y,v){const _=y.enter("tableCell"),A=y.enter("phrasing"),E=y.containerPhrasing(c,{...v,before:s,after:s});return A(),_(),E}function p(c,h){return Lg(c,{align:h,alignDelimiters:r,padding:t,stringLength:i})}function m(c,h,y){const v=c.children;let _=-1;const A=[],E=h.enter("table");for(;++_i?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)a=Array.from(r),a.unshift(n,t),e.splice(...a);else for(t&&e.splice(n,t);s0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function fs(e){if(e===null||Ae(e)||xt(e))return 1;if(Xn(e))return 2}function Hy(e,n,t){const r=[];let i=-1;for(;++i999||o===93&&!a||o===null||o===91||Ae(o))return t(o);if(o===93){e.exit("chunkString");const l=e.exit("gfmFootnoteCallString");return i.includes(nn(r.sliceSerialize(l)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):t(o)}return Ae(o)||(a=!0),s++,e.consume(o),o===92?m:p}function m(o){return o===91||o===92||o===93?(e.consume(o),s++,p):p(o)}}function Yy(e,n,t){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,a=0,u;return f;function f(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",m):t(h)}function m(h){if(a>999||h===93&&!u||h===null||h===91||Ae(h))return t(h);if(h===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return s=nn(r.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),l}return Ae(h)||(u=!0),a++,e.consume(h),h===92?o:m}function o(h){return h===91||h===92||h===93?(e.consume(h),a++,m):m(h)}function l(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(s)||i.push(s),nt(e,c,"gfmFootnoteDefinitionWhitespace")):t(h)}function c(h){return n(h)}}function Zy(e,n,t){return e.check(qy,n,e.attempt($y,n,t))}function Qy(e){e.exit("gfmFootnoteDefinition")}function Ky(e,n,t){const r=this;return nt(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?n(s):t(s)}}function e_(e){let n=(e||{}).singleTilde;const t={tokenize:i,resolveAll:r};return n==null&&(n=!0),{text:{126:t},insideSpan:{null:[t]},attentionMarkers:{null:[126]}};function r(s,a){let u=-1;for(;++u1?u(c):(s.consume(c),m++,l);if(m<2&&!n)return u(c);const y=s.exit("strikethroughSequenceTemporary"),v=fs(c);return y._open=!v||v===2&&!!h,y._close=!h||h===2&&!!v,a(c)}}}class t_{constructor(){this.map=[]}add(n,t,r){n_(this,n,t,r)}consume(n){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let t=this.map.length;const r=[];for(;t>0;)t-=1,r.push(n.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),n.length=this.map[t][0];r.push([...n]),n.length=0;let i=r.pop();for(;i;)n.push(...i),i=r.pop();this.map.length=0}}function n_(e,n,t,r){let i=0;if(!(t===0&&r.length===0)){for(;i-1;){const B=r.events[z][1].type;if(B==="lineEnding"||B==="linePrefix")z--;else break}const V=z>-1?r.events[z][1].type:null,q=V==="tableHead"||V==="tableRow"?P:f;return q===P&&r.parser.lazy[r.now().line]?t(O):q(O)}function f(O){return e.enter("tableHead"),e.enter("tableRow"),p(O)}function p(O){return O===124||(a=!0,s+=1),m(O)}function m(O){return O===null?t(O):Lt(O)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),c):t(O):tt(O)?nt(e,m,"whitespace")(O):(s+=1,a&&(a=!1,i+=1),O===124?(e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),a=!0,m):(e.enter("data"),o(O)))}function o(O){return O===null||O===124||Ae(O)?(e.exit("data"),m(O)):(e.consume(O),O===92?l:o)}function l(O){return O===92||O===124?(e.consume(O),o):o(O)}function c(O){return r.interrupt=!1,r.parser.lazy[r.now().line]?t(O):(e.enter("tableDelimiterRow"),a=!1,tt(O)?nt(e,h,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):h(O))}function h(O){return O===45||O===58?v(O):O===124?(a=!0,e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),y):j(O)}function y(O){return tt(O)?nt(e,v,"whitespace")(O):v(O)}function v(O){return O===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(O),e.exit("tableDelimiterMarker"),_):O===45?(s+=1,_(O)):O===null||Lt(O)?L(O):j(O)}function _(O){return O===45?(e.enter("tableDelimiterFiller"),A(O)):j(O)}function A(O){return O===45?(e.consume(O),A):O===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(O),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(O))}function E(O){return tt(O)?nt(e,L,"whitespace")(O):L(O)}function L(O){return O===124?h(O):O===null||Lt(O)?!a||i!==s?j(O):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(O)):j(O)}function j(O){return t(O)}function P(O){return e.enter("tableRow"),G(O)}function G(O){return O===124?(e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),G):O===null||Lt(O)?(e.exit("tableRow"),n(O)):tt(O)?nt(e,G,"whitespace")(O):(e.enter("data"),K(O))}function K(O){return O===null||O===124||Ae(O)?(e.exit("data"),G(O)):(e.consume(O),O===92?H:K)}function H(O){return O===92||O===124?(e.consume(O),K):K(O)}}function s_(e,n){let t=-1,r=!0,i=0,s=[0,0,0,0],a=[0,0,0,0],u=!1,f=0,p,m,o;const l=new t_;for(;++tt[2]+1){const h=t[2]+1,y=t[3]-t[2]-1;e.add(h,y,[])}}e.add(t[3]+1,0,[["exit",o,n]])}return i!==void 0&&(s.end=Object.assign({},It(n.events,i)),e.add(i,0,[["exit",s,n]]),s=void 0),s}function ps(e,n,t,r,i){const s=[],a=It(n.events,t);i&&(i.end=Object.assign({},a),s.push(["exit",i,n])),r.end=Object.assign({},a),s.push(["exit",r,n]),e.add(t+1,0,s)}function It(e,n){const t=e[n],r=t[0]==="enter"?"start":"end";return t[1][r]}const a_={tokenize:u_};function l_(){return{text:{91:a_}}}function u_(e,n,t){const r=this;return i;function i(f){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?t(f):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),s)}function s(f){return Ae(f)?(e.enter("taskListCheckValueUnchecked"),e.consume(f),e.exit("taskListCheckValueUnchecked"),a):f===88||f===120?(e.enter("taskListCheckValueChecked"),e.consume(f),e.exit("taskListCheckValueChecked"),a):t(f)}function a(f){return f===93?(e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):t(f)}function u(f){return Lt(f)?n(f):tt(f)?e.check({tokenize:c_},n,t)(f):t(f)}}function c_(e,n,t){return nt(e,r,"whitespace");function r(i){return i===null?t(i):n(i)}}function f_(e){return Ey([Ny(),Wy(),e_(e),i_(),l_()])}const p_={};function d_(e){const n=this,t=e||p_,r=n.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(f_(t)),s.push(Cy()),a.push(Sy(t))}const ii=Ur(null);async function h_(){const e=await Tu(()=>import("./index-CirhVy2r.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url);ii.value=e.default}const m_={name:"NcRichText",components:{NcReferenceList:Rr},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Object,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data(){return{parentId:Zt(5)}},methods:{renderPlaintext(e){const n=this,t=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(r,i,s){const a=r.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return jm({h:e,context:n},r);const u=a[1],f=n.arguments[u];if(typeof f=="object"){const{component:p,props:m}=f;return e(p,{props:m,class:"rich-text--component"})}return f?e("span",{class:"rich-text--fallback"},f):r});return e("div",{class:"rich-text--wrapper"},[e("div",{},t.flat()),this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Rr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(e){const n=Rf().use(qd).use(vu,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Bm).use(this.useExtendedMarkdown?d_:void 0).use(Zd).use(jh,{handlers:{component(t,r){return t(r,r.component,{value:r.value})}}}).use(this.useExtendedMarkdown?ii.value:void 0).use(Mm).use(Lm,{target:"_blank",rel:["noopener noreferrer"]}).use(wm,{createElement:(t,r,i)=>{if(!t.startsWith("#")){if(this.useExtendedMarkdown){t==="code"&&!ii.value&&r?.attrs?.class?.includes("language")&&h_();let a=null;if(t==="li"&&Array.isArray(i)&&i[0].tag==="input"&&i[0].data.attrs.type==="checkbox"){const[u,...f]=i,p=f.findIndex(l=>["ul","ol","li","blockquote","pre"].includes(l.tag));p!==-1&&(a=f[p],f.splice(p));const m=this.parentId+"-markdown-input-"+Zt(5),o=e(iu,{attrs:{...u.data.attrs,id:m,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",m)}}},f);return e(t,r,[o,a])}}if(t==="a"){const a=Ls(this.$router,r.attrs.href);if(a)return delete r.attrs.href,delete r.attrs.target,e(qn,{...r,props:{to:a}},i)}return e(t,r,i)}const s=this.arguments[t.slice(1)];return s?s.component?e(s.component,{attrs:r,props:s.props,class:"rich-text--component"},i):e("span",r,[s]):e("span",{attrs:r,class:"rich-text--fallback"},[`{${t.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,t=>t.replace(/")).result;return e("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[n,this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Rr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(e){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(e):this.renderPlaintext(e)}},g_=null,y_=null;var __=rt(m_,g_,y_,!1,null,"1de82f09");const v_=__.exports,b_={name:"Action",components:{NcButton:Mt},props:{label:{type:String,default:"",required:!0},link:{type:String,default:"",required:!0},type:{type:String,default:"",required:!0},primary:{type:Boolean,default:!1,required:!0},notificationIndex:{type:Number,required:!0}},data(){return{tabbed:!1}},computed:{isWebLink(){return this.typeWithDefault==="WEB"},typeWithDefault(){return this.type||"GET"},buttonType(){return this.primary?"primary":"secondary"}},methods:{async onClickActionButtonWeb(e){try{const n={cancelAction:!1,notification:this.$parent.$props,action:{url:this.link,type:this.typeWithDefault}};await Gt("notifications:action:execute",n),n.cancelAction&&e.preventDefault()}catch(n){console.error("Failed to perform action",n),Nn(Ne("notifications","Failed to perform action"))}},async onClickActionButton(){try{const e={cancelAction:!1,notification:this.$parent.$props,action:{url:this.link,type:this.typeWithDefault}};if(await Gt("notifications:action:execute",e),e.cancelAction)return;await ut({method:this.typeWithDefault,url:this.link}),this.$parent.$emit("remove",this.notificationIndex),Gt("notifications:action:executed",e)}catch(e){console.error("Failed to perform action",e),Nn(Ne("notifications","Failed to perform action"))}}}};var w_=function(){var e=this,n=e._self._c;return e.isWebLink?n("NcButton",{staticClass:"action-button pull-right",attrs:{type:"primary",href:e.link},on:{click:e.onClickActionButtonWeb}},[e._v(" "+e._s(e.label)+" ")]):e.isWebLink?e._e():n("NcButton",{staticClass:"action-button pull-right",attrs:{type:e.buttonType},on:{click:e.onClickActionButton}},[e._v(" "+e._s(e.label)+" ")])},x_=[],k_=Xe(b_,w_,x_,!1,null,null);const A_=k_.exports,T_={name:"DefaultParameter",props:{type:{type:String,required:!0},id:{type:[Number,String],required:!0},name:{type:String,required:!0},link:{type:String,default:""}},computed:{hasInternalLink(){return this.link&&(this.type==="deck-board"||this.type==="deck-card")}}};var C_=function(){var e=this,n=e._self._c;return e.hasInternalLink?n("a",{attrs:{href:e.link}},[n("strong",[e._v(e._s(e.name))])]):e.link?n("a",{staticClass:"external",attrs:{href:e.link,target:"_blank",rel:"noopener noreferrer"}},[n("strong",[e._v(e._s(e.name))])]):n("strong",[e._v(e._s(e.name))])},S_=[],E_=Xe(T_,C_,S_,!1,null,"3e11fc03");const O_=E_.exports,I_={name:"File",props:{type:{type:String,required:!0},id:{type:[Number,String],required:!0},name:{type:String,required:!0},path:{type:String,default:""},link:{type:String,default:""}},computed:{title(){const e=this.path.lastIndexOf("/"),n=this.path.indexOf("/"),t=this.path.substring(n===0?1:0,e);return t.length===0?"":Ne("notifications","in {path}",{path:t})}}};var P_=function(){var e=this,n=e._self._c;return n("a",{staticClass:"filename",attrs:{title:e.title,href:e.link}},[e._v(e._s(e.name))])},L_=[],N_=Xe(I_,P_,L_,!1,null,null);const R_=N_.exports,D_={name:"NcUserBubbleDiv"};var F_=function(){var e=this,n=e._self._c;return n("div",[e._t("trigger")],2)},M_=[],j_=rt(D_,F_,M_,!1,null,null);const B_=j_.exports,z_={name:"NcUserBubble",components:{NcAvatar:ku,NcPopover:ou,NcUserBubbleDiv:B_},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:e=>{try{return e=new URL(e,e?.startsWith?.("/")?window.location.href:void 0),!0}catch{return!1}}},to:{type:[String,Object],default:void 0},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},emits:["click","update:open"],computed:{isPopoverComponent(){return this.popoverEmpty?"NcUserBubbleDiv":"NcPopover"},isAvatarUrl(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch{return!1}},isCustomAvatar(){return!!this.avatarImage},hasUrl(){return this.url&&this.url.trim()!==""},isLinkComponent(){return this.hasUrl?"a":this.to?qn:"div"},popoverEmpty(){return!("default"in this.$slots)},styles(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginInlineStart:this.margin+"px"}}}},mounted(){!this.displayName&&!this.user&&hu.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.")},methods:{onOpenChange(e){this.$emit("update:open",e)},onClick(e){this.$emit("click",e)}}};var U_=function(){var e=this,n=e._self._c;return n(e.isPopoverComponent,{tag:"component",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",shown:e.open},on:{"update:open":e.onOpenChange},scopedSlots:e._u([{key:"trigger",fn:function({attrs:t}){return[n(e.isLinkComponent,e._b({tag:"component",staticClass:"user-bubble__content",class:{"user-bubble__content--primary":e.primary},style:e.styles.content,attrs:{to:e.to,href:e.hasUrl?e.url:null},on:{click:e.onClick}},"component",t,!1),[n("NcAvatar",{staticClass:"user-bubble__avatar",style:e.styles.avatar,attrs:{url:e.isCustomAvatar&&e.isAvatarUrl?e.avatarImage:void 0,"icon-class":e.isCustomAvatar&&!e.isAvatarUrl?e.avatarImage:void 0,user:e.user,"display-name":e.displayName,size:e.size-e.margin*2,"disable-tooltip":!0,"disable-menu":!0,"show-user-status":e.showUserStatus}}),n("span",{staticClass:"user-bubble__name"},[e._v(" "+e._s(e.displayName||e.user)+" ")]),e.$slots.name?n("span",{staticClass:"user-bubble__secondary"},[e._t("name")],2):e._e()],1)]}}],null,!0)},[e._t("default")],2)},H_=[],q_=rt(z_,U_,H_,!1,null,"a62a9496");const V_=q_.exports,$_={name:"User",components:{NcUserBubble:V_},props:{type:{type:String,required:!0},id:{type:String,required:!0},name:{type:String,required:!0},server:{type:String,default:""}},computed:{cloudId(){return this.server?this.id+"@"+this.server:""}}};var W_=function(){var e=this,n=e._self._c;return n("div",{staticClass:"mention"},[e.cloudId?n("strong",{attrs:{title:e.cloudId}},[e._v(" "+e._s(e.name)+" ")]):n("NcUserBubble",{attrs:{"display-name":e.name,user:e.id}})],1)},G_=[],X_=Xe($_,W_,G_,!1,null,"eb1879e2");const J_=X_.exports,nl=su(),Y_=new Intl.DateTimeFormat(nl,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"}),Z_=new Intl.RelativeTimeFormat(nl,{numeric:"auto"});function Q_(e){return Y_.format(new Date(e))}function K_(e){return ev(e-Date.now())}function ev(e){const{value:n,unit:t}=tv(e);return Z_.format(n,t)}function tv(e){const n={year:0,month:0,day:0,hour:0,minute:0,second:0};n.second=e/1e3,n.minute=n.second/60,n.hour=n.minute/60,n.day=n.hour/24,n.month=n.day/30,n.year=n.day/365;const t=r=>Math.abs(r%1)<.75?Math.trunc(r):Math.round(r);for(const r in n){const i=r,s=t(n[i]);if(s!==0)return{value:s,unit:i}}return{value:0,unit:"second"}}const nv={name:"Notification",components:{Action:A_,NcButton:Mt,Close:Rs,Message:Ds,NcRichText:v_},props:{notificationId:{type:Number,default:-1},datetime:{type:String,default:""},app:{type:String,default:""},icon:{type:String,default:""},link:{type:String,default:""},externalLink:{type:String,default:""},user:{type:String,default:""},message:{type:String,default:""},messageRich:{type:String,default:""},messageRichParameters:{type:[Object,Array],default(){return{}}},subject:{type:String,default:""},subjectRich:{type:String,default:""},subjectRichParameters:{type:[Object,Array],default(){return{}}},objectType:{type:String,default:""},objectId:{type:String,default:""},shouldNotify:{type:Boolean,default:!0},actions:{type:Array,default(){return[]}},index:{type:Number,default:-1}},data(){return{showFullMessage:!1}},computed:{timestamp(){return this.datetime==="warning"?0:new Date(this.datetime).valueOf()},absoluteDate(){return this.datetime==="warning"?"":Q_(this.timestamp)},relativeDate(){if(this.datetime==="warning")return"";const e=Date.now()-this.timestamp;return e>=0&&e<45e3?Ne("core","seconds ago"):K_(this.timestamp)},useLink(){if(!this.link)return!1;let e=!1;return Object.keys(this.subjectRichParameters).forEach(n=>{this.subjectRichParameters[n].link&&(e=!0)}),!e},preparedSubjectParameters(){return this.prepareParameters(this.subjectRichParameters)},preparedMessageParameters(){return this.prepareParameters(this.messageRichParameters)},isCollapsedMessage(){return this.message.length>200&&!this.showFullMessage}},methods:{t:Ne,prepareParameters(e){const n={};return Object.keys(e).forEach(t=>{const r=e[t].type;r==="user"?n[t]={component:J_,props:e[t]}:r==="file"?n[t]={component:R_,props:e[t]}:n[t]={component:O_,props:e[t]}}),n},onClickMessage(e){e.target.closest(".rich-text--wrapper")?this.showFullMessage=!this.showFullMessage:!this.messageRich&&this.message&&(this.showFullMessage=!this.showFullMessage)},onDismissNotification(){ut.delete(bt("apps/notifications/api/v2/notifications/{id}",{id:this.notificationId})).then(()=>{this.$emit("remove",this.index)}).catch(()=>{Nn(Ne("notifications","Failed to dismiss notification"))})}}};var rv=function(){var e=this,n=e._self._c;return n("li",{staticClass:"notification",attrs:{"data-id":e.notificationId,"data-timestamp":e.timestamp,"data-object-type":e.objectType,"data-app":e.app}},[n("div",{staticClass:"notification-heading"},[n("span",{staticClass:"hidden-visually"},[e._v(e._s(e.absoluteDate))]),e.timestamp?n("span",{staticClass:"notification-time live-relative-timestamp",attrs:{title:e.absoluteDate,"data-timestamp":e.timestamp}},[e._v(e._s(e.relativeDate))]):e._e(),e.timestamp?n("NcButton",{staticClass:"notification-dismiss-button",attrs:{type:"tertiary","aria-label":e.t("notifications","Dismiss")},on:{click:e.onDismissNotification},scopedSlots:e._u([{key:"icon",fn:function(){return[n("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):e._e()],1),e.externalLink?n("a",{staticClass:"notification-subject full-subject-link external",attrs:{href:e.externalLink,target:"_blank",rel:"noreferrer noopener"}},[n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]),n("span",{staticClass:"subject"},[e._v(e._s(e.subject)+" ↗")])]):e.useLink?n("a",{staticClass:"notification-subject full-subject-link",attrs:{href:e.link}},[e.icon?n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]):e._e(),e.subjectRich?n("NcRichText",{attrs:{text:e.subjectRich,arguments:e.preparedSubjectParameters}}):n("span",{staticClass:"subject"},[e._v(e._s(e.subject))])],1):n("div",{staticClass:"notification-subject"},[e.icon?n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]):e._e(),e.subjectRich?n("NcRichText",{attrs:{text:e.subjectRich,arguments:e.preparedSubjectParameters}}):n("span",{staticClass:"subject"},[e._v(e._s(e.subject))])],1),e.message?n("div",{staticClass:"notification-message",on:{click:e.onClickMessage}},[n("div",{staticClass:"message-container",class:{collapsed:e.isCollapsedMessage}},[e.messageRich?n("NcRichText",{attrs:{text:e.messageRich,arguments:e.preparedMessageParameters,autolink:!0}}):n("span",[e._v(e._s(e.message))])],1),e.isCollapsedMessage?n("div",{staticClass:"notification-overflow"}):e._e()]):e._e(),e.actions.length?n("div",{staticClass:"notification-actions"},e._l(e.actions,function(t,r){return n("Action",e._b({key:r,attrs:{"notification-index":e.index}},"Action",t,!1))}),1):e.externalLink?n("div",{staticClass:"notification-actions"},[n("NcButton",{staticClass:"action-button pull-right",attrs:{type:"primary",href:"https://nextcloud.com/fairusepolicy",target:"_blank",rel:"noreferrer noopener"},scopedSlots:e._u([{key:"icon",fn:function(){return[n("Message",{attrs:{size:20}})]},proxy:!0}])},[e._v(" "+e._s(e.t("notifications","Contact Nextcloud GmbH"))+" ↗ ")])],1):e._e()])},iv=[],ov=Xe(nv,rv,iv,!1,null,"52482529");const sv=ov.exports,av=async(e,n,t,r)=>{const i=parseInt(ve.getItem("lastUpdated"),10),s=ve.getItem("tabId"),a=Math.floor(Date.now()/1e3);return(t||s===e&&i+25(e.notificationId=e.notification_id,e.objectId=e.object_id,e.objectType=e.object_type,delete e.notification_id,delete e.object_id,delete e.object_type,e),uv=async e=>{let n={};e&&(n={headers:{"If-None-Match":e}});try{const t=await ut.get(bt("apps/notifications/api/v2/notifications"),n);ve.setItem("status",""+t.status),t.status!==204&&(ve.setItem("headers",JSON.stringify(t.headers)),ve.setItem("data",JSON.stringify(t.data.ocs.data.map(lv))))}catch(t){t?.response?.status?ve.setItem("status",""+t.response.status):ve.setItem("status","500")}};var Ke={},ds={},hs={},ms;function cv(){return ms||(ms=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function n(t,r,i){const s=document.querySelector(`#initial-state-${t}-${r}`);if(s===null){if(i!==void 0)return i;throw new Error(`Could not find initial state ${r} of ${t}`)}try{return JSON.parse(atob(s.value))}catch{throw new Error(`Could not parse initial state ${r} of ${t}`)}}e.loadState=n}(hs)),hs}var gs;function fv(){return gs||(gs=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const n=cv();function t(){try{return n.loadState("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}e.getCapabilities=t}(ds)),ds}var ys={},Br,_s;function pv(){if(_s)return Br;_s=1;function e(d,g){return function(){return d.apply(g,arguments)}}const{toString:n}=Object.prototype,{getPrototypeOf:t}=Object,r=(d=>g=>{const b=n.call(g);return d[b]||(d[b]=b.slice(8,-1).toLowerCase())})(Object.create(null)),i=d=>(d=d.toLowerCase(),g=>r(g)===d),s=d=>g=>typeof g===d,{isArray:a}=Array,u=s("undefined");function f(d){return d!==null&&!u(d)&&d.constructor!==null&&!u(d.constructor)&&l(d.constructor.isBuffer)&&d.constructor.isBuffer(d)}const p=i("ArrayBuffer");function m(d){let g;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?g=ArrayBuffer.isView(d):g=d&&d.buffer&&p(d.buffer),g}const o=s("string"),l=s("function"),c=s("number"),h=d=>d!==null&&typeof d=="object",y=d=>d===!0||d===!1,v=d=>{if(r(d)!=="object")return!1;const g=t(d);return(g===null||g===Object.prototype||Object.getPrototypeOf(g)===null)&&!(Symbol.toStringTag in d)&&!(Symbol.iterator in d)},_=i("Date"),A=i("File"),E=i("Blob"),L=i("FileList"),j=d=>h(d)&&l(d.pipe),P=d=>{let g;return d&&(typeof FormData=="function"&&d instanceof FormData||l(d.append)&&((g=r(d))==="formdata"||g==="object"&&l(d.toString)&&d.toString()==="[object FormData]"))},G=i("URLSearchParams"),[K,H,O,z]=["ReadableStream","Request","Response","Headers"].map(i),V=d=>d.trim?d.trim():d.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function q(d,g,{allOwnKeys:b=!1}={}){if(d===null||typeof d>"u")return;let w,T;if(typeof d!="object"&&(d=[d]),a(d))for(w=0,T=d.length;w0;)if(T=b[w],g===T.toLowerCase())return T;return null}const X=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Ot,ce=d=>!u(d)&&d!==X;function fe(){const{caseless:d}=ce(this)&&this||{},g={},b=(w,T)=>{const C=d&&B(g,T)||T;v(g[C])&&v(w)?g[C]=fe(g[C],w):v(w)?g[C]=fe({},w):a(w)?g[C]=w.slice():g[C]=w};for(let w=0,T=arguments.length;w(q(g,(T,C)=>{b&&l(T)?d[C]=e(T,b):d[C]=T},{allOwnKeys:w}),d),De=d=>(d.charCodeAt(0)===65279&&(d=d.slice(1)),d),x=(d,g,b,w)=>{d.prototype=Object.create(g.prototype,w),d.prototype.constructor=d,Object.defineProperty(d,"super",{value:g.prototype}),b&&Object.assign(d.prototype,b)},Ce=(d,g,b,w)=>{let T,C,S;const F={};if(g=g||{},d==null)return g;do{for(T=Object.getOwnPropertyNames(d),C=T.length;C-- >0;)S=T[C],(!w||w(S,d,g))&&!F[S]&&(g[S]=d[S],F[S]=!0);d=b!==!1&&t(d)}while(d&&(!b||b(d,g))&&d!==Object.prototype);return g},Fe=(d,g,b)=>{d=String(d),(b===void 0||b>d.length)&&(b=d.length),b-=g.length;const w=d.indexOf(g,b);return w!==-1&&w===b},k=d=>{if(!d)return null;if(a(d))return d;let g=d.length;if(!c(g))return null;const b=new Array(g);for(;g-- >0;)b[g]=d[g];return b},Se=(d=>g=>d&&g instanceof d)(typeof Uint8Array<"u"&&t(Uint8Array)),Je=(d,g)=>{const b=(d&&d[Symbol.iterator]).call(d);let w;for(;(w=b.next())&&!w.done;){const T=w.value;g.call(d,T[0],T[1])}},me=(d,g)=>{let b;const w=[];for(;(b=d.exec(g))!==null;)w.push(b);return w},mt=i("HTMLFormElement"),He=d=>d.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(g,b,w){return b.toUpperCase()+w}),Ye=(({hasOwnProperty:d})=>(g,b)=>d.call(g,b))(Object.prototype),it=i("RegExp"),gt=(d,g)=>{const b=Object.getOwnPropertyDescriptors(d),w={};q(b,(T,C)=>{let S;(S=g(T,C,d))!==!1&&(w[C]=S||T)}),Object.defineProperties(d,w)},Qn=d=>{gt(d,(g,b)=>{if(l(d)&&["arguments","caller","callee"].indexOf(b)!==-1)return!1;const w=d[b];if(l(w)){if(g.enumerable=!1,"writable"in g){g.writable=!1;return}g.set||(g.set=()=>{throw Error("Can not rewrite read-only method '"+b+"'")})}})},Kn=(d,g)=>{const b={},w=T=>{T.forEach(C=>{b[C]=!0})};return a(d)?w(d):w(String(d).split(g)),b},er=()=>{},rn=(d,g)=>d!=null&&Number.isFinite(d=+d)?d:g;function on(d){return!!(d&&l(d.append)&&d[Symbol.toStringTag]==="FormData"&&d[Symbol.iterator])}const sn=d=>{const g=new Array(10),b=(w,T)=>{if(h(w)){if(g.indexOf(w)>=0)return;if(!("toJSON"in w)){g[T]=w;const C=a(w)?[]:{};return q(w,(S,F)=>{const W=b(S,T+1);!u(W)&&(C[F]=W)}),g[T]=void 0,C}}return w};return b(d,0)},tr=i("AsyncFunction"),an=d=>d&&(h(d)||l(d))&&l(d.then)&&l(d.catch),zt=((d,g)=>d?setImmediate:g?((b,w)=>(X.addEventListener("message",({source:T,data:C})=>{T===X&&C===b&&w.length&&w.shift()()},!1),T=>{w.push(T),X.postMessage(b,"*")}))(`axios@${Math.random()}`,[]):b=>setTimeout(b))(typeof setImmediate=="function",l(X.postMessage)),nr=typeof queueMicrotask<"u"?queueMicrotask.bind(X):typeof Xi<"u"&&Xi.nextTick||zt;var I={isArray:a,isArrayBuffer:p,isBuffer:f,isFormData:P,isArrayBufferView:m,isString:o,isNumber:c,isBoolean:y,isObject:h,isPlainObject:v,isReadableStream:K,isRequest:H,isResponse:O,isHeaders:z,isUndefined:u,isDate:_,isFile:A,isBlob:E,isRegExp:it,isFunction:l,isStream:j,isURLSearchParams:G,isTypedArray:Se,isFileList:L,forEach:q,merge:fe,extend:Te,trim:V,stripBOM:De,inherits:x,toFlatObject:Ce,kindOf:r,kindOfTest:i,endsWith:Fe,toArray:k,forEachEntry:Je,matchAll:me,isHTMLForm:mt,hasOwnProperty:Ye,hasOwnProp:Ye,reduceDescriptors:gt,freezeMethods:Qn,toObjectSet:Kn,toCamelCase:He,noop:er,toFiniteNumber:rn,findKey:B,global:X,isContextDefined:ce,isSpecCompliantForm:on,toJSONObject:sn,isAsyncFn:tr,isThenable:an,setImmediate:zt,asap:nr};function ee(d,g,b,w,T){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=d,this.name="AxiosError",g&&(this.code=g),b&&(this.config=b),w&&(this.request=w),T&&(this.response=T,this.status=T.status?T.status:null)}I.inherits(ee,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:I.toJSONObject(this.config),code:this.code,status:this.status}}});const ln=ee.prototype,un={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(d=>{un[d]={value:d}}),Object.defineProperties(ee,un),Object.defineProperty(ln,"isAxiosError",{value:!0}),ee.from=(d,g,b,w,T,C)=>{const S=Object.create(ln);return I.toFlatObject(d,S,function(F){return F!==Error.prototype},F=>F!=="isAxiosError"),ee.call(S,d.message,g,b,w,T),S.cause=d,S.name=d.name,C&&Object.assign(S,C),S};var N=null;function D(d){return I.isPlainObject(d)||I.isArray(d)}function Y(d){return I.endsWith(d,"[]")?d.slice(0,-2):d}function ie(d,g,b){return d?d.concat(g).map(function(w,T){return w=Y(w),!b&&T?"["+w+"]":w}).join(b?".":""):g}function oe(d){return I.isArray(d)&&!d.some(D)}const Ie=I.toFlatObject(I,{},null,function(d){return/^is[A-Z]/.test(d)});function Me(d,g,b){if(!I.isObject(d))throw new TypeError("target must be an object");g=g||new FormData,b=I.toFlatObject(b,{metaTokens:!0,dots:!1,indexes:!1},!1,function(te,J){return!I.isUndefined(J[te])});const w=b.metaTokens,T=b.visitor||M,C=b.dots,S=b.indexes,F=(b.Blob||typeof Blob<"u"&&Blob)&&I.isSpecCompliantForm(g);if(!I.isFunction(T))throw new TypeError("visitor must be a function");function W(te){if(te===null)return"";if(I.isDate(te))return te.toISOString();if(!F&&I.isBlob(te))throw new ee("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(te)||I.isTypedArray(te)?F&&typeof Blob=="function"?new Blob([te]):au.from(te):te}function M(te,J,$){let _e=te;if(te&&!$&&typeof te=="object"){if(I.endsWith(J,"{}"))J=w?J:J.slice(0,-2),te=JSON.stringify(te);else if(I.isArray(te)&&oe(te)||(I.isFileList(te)||I.endsWith(J,"[]"))&&(_e=I.toArray(te)))return J=Y(J),_e.forEach(function(ge,pe){!(I.isUndefined(ge)||ge===null)&&g.append(S===!0?ie([J],pe,C):S===null?J:J+"[]",W(ge))}),!1}return D(te)?!0:(g.append(ie($,J,C),W(te)),!1)}const U=[],Z=Object.assign(Ie,{defaultVisitor:M,convertValue:W,isVisitable:D});function se(te,J){if(!I.isUndefined(te)){if(U.indexOf(te)!==-1)throw Error("Circular reference detected in "+J.join("."));U.push(te),I.forEach(te,function($,_e){(!(I.isUndefined($)||$===null)&&T.call(g,$,I.isString(_e)?_e.trim():_e,J,Z))===!0&&se($,J?J.concat(_e):[_e])}),U.pop()}}if(!I.isObject(d))throw new TypeError("data must be an object");return se(d),g}function Pe(d){const g={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(d).replace(/[!'()~]|%20|%00/g,function(b){return g[b]})}function Ze(d,g){this._pairs=[],d&&Me(d,this,g)}const ot=Ze.prototype;ot.append=function(d,g){this._pairs.push([d,g])},ot.toString=function(d){const g=d?function(b){return d.call(this,b,Pe)}:Pe;return this._pairs.map(function(b){return g(b[0])+"="+g(b[1])},"").join("&")};function be(d){return encodeURIComponent(d).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Qe(d,g,b){if(!g)return d;const w=b&&b.encode||be;I.isFunction(b)&&(b={serialize:b});const T=b&&b.serialize;let C;if(T?C=T(g,b):C=I.isURLSearchParams(g)?g.toString():new Ze(g,b).toString(w),C){const S=d.indexOf("#");S!==-1&&(d=d.slice(0,S)),d+=(d.indexOf("?")===-1?"?":"&")+C}return d}class je{constructor(){this.handlers=[]}use(g,b,w){return this.handlers.push({fulfilled:g,rejected:b,synchronous:w?w.synchronous:!1,runWhen:w?w.runWhen:null}),this.handlers.length-1}eject(g){this.handlers[g]&&(this.handlers[g]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(g){I.forEach(this.handlers,function(b){b!==null&&g(b)})}}var Ti=je,Ci={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},il=typeof URLSearchParams<"u"?URLSearchParams:Ze,ol=typeof FormData<"u"?FormData:null,sl=typeof Blob<"u"?Blob:null,al={isBrowser:!0,classes:{URLSearchParams:il,FormData:ol,Blob:sl},protocols:["http","https","file","blob","url","data"]};const rr=typeof window<"u"&&typeof document<"u",ir=typeof navigator=="object"&&navigator||void 0,ll=rr&&(!ir||["ReactNative","NativeScript","NS"].indexOf(ir.product)<0),ul=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",cl=rr&&window.location.href||"http://localhost";var fl=Object.freeze({__proto__:null,hasBrowserEnv:rr,hasStandardBrowserWebWorkerEnv:ul,hasStandardBrowserEnv:ll,navigator:ir,origin:cl}),ye={...fl,...al};function pl(d,g){return Me(d,new ye.classes.URLSearchParams,Object.assign({visitor:function(b,w,T,C){return ye.isNode&&I.isBuffer(b)?(this.append(w,b.toString("base64")),!1):C.defaultVisitor.apply(this,arguments)}},g))}function dl(d){return I.matchAll(/\w+|\[(\w*)]/g,d).map(g=>g[0]==="[]"?"":g[1]||g[0])}function hl(d){const g={},b=Object.keys(d);let w;const T=b.length;let C;for(w=0;w=b.length;return S=!S&&I.isArray(T)?T.length:S,W?(I.hasOwnProp(T,S)?T[S]=[T[S],w]:T[S]=w,!F):((!T[S]||!I.isObject(T[S]))&&(T[S]=[]),g(b,w,T[S],C)&&I.isArray(T[S])&&(T[S]=hl(T[S])),!F)}if(I.isFormData(d)&&I.isFunction(d.entries)){const b={};return I.forEachEntry(d,(w,T)=>{g(dl(w),T,b,0)}),b}return null}function ml(d,g,b){if(I.isString(d))try{return(g||JSON.parse)(d),I.trim(d)}catch(w){if(w.name!=="SyntaxError")throw w}return(b||JSON.stringify)(d)}const or={transitional:Ci,adapter:["xhr","http","fetch"],transformRequest:[function(d,g){const b=g.getContentType()||"",w=b.indexOf("application/json")>-1,T=I.isObject(d);if(T&&I.isHTMLForm(d)&&(d=new FormData(d)),I.isFormData(d))return w?JSON.stringify(Si(d)):d;if(I.isArrayBuffer(d)||I.isBuffer(d)||I.isStream(d)||I.isFile(d)||I.isBlob(d)||I.isReadableStream(d))return d;if(I.isArrayBufferView(d))return d.buffer;if(I.isURLSearchParams(d))return g.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),d.toString();let C;if(T){if(b.indexOf("application/x-www-form-urlencoded")>-1)return pl(d,this.formSerializer).toString();if((C=I.isFileList(d))||b.indexOf("multipart/form-data")>-1){const S=this.env&&this.env.FormData;return Me(C?{"files[]":d}:d,S&&new S,this.formSerializer)}}return T||w?(g.setContentType("application/json",!1),ml(d)):d}],transformResponse:[function(d){const g=this.transitional||or.transitional,b=g&&g.forcedJSONParsing,w=this.responseType==="json";if(I.isResponse(d)||I.isReadableStream(d))return d;if(d&&I.isString(d)&&(b&&!this.responseType||w)){const T=!(g&&g.silentJSONParsing)&&w;try{return JSON.parse(d)}catch(C){if(T)throw C.name==="SyntaxError"?ee.from(C,ee.ERR_BAD_RESPONSE,this,null,this.response):C}}return d}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ye.classes.FormData,Blob:ye.classes.Blob},validateStatus:function(d){return d>=200&&d<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],d=>{or.headers[d]={}});var sr=or;const gl=I.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var yl=d=>{const g={};let b,w,T;return d&&d.split(`
+`))}function f(c,h,y,v){const _=y.enter("tableCell"),A=y.enter("phrasing"),E=y.containerPhrasing(c,{...v,before:s,after:s});return A(),_(),E}function p(c,h){return Lg(c,{align:h,alignDelimiters:r,padding:t,stringLength:i})}function m(c,h,y){const v=c.children;let _=-1;const A=[],E=h.enter("table");for(;++_i?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)a=Array.from(r),a.unshift(n,t),e.splice(...a);else for(t&&e.splice(n,t);s0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function fs(e){if(e===null||Ae(e)||xt(e))return 1;if(Xn(e))return 2}function Hy(e,n,t){const r=[];let i=-1;for(;++i999||o===93&&!a||o===null||o===91||Ae(o))return t(o);if(o===93){e.exit("chunkString");const l=e.exit("gfmFootnoteCallString");return i.includes(nn(r.sliceSerialize(l)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):t(o)}return Ae(o)||(a=!0),s++,e.consume(o),o===92?m:p}function m(o){return o===91||o===92||o===93?(e.consume(o),s++,p):p(o)}}function Yy(e,n,t){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,a=0,u;return f;function f(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",m):t(h)}function m(h){if(a>999||h===93&&!u||h===null||h===91||Ae(h))return t(h);if(h===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return s=nn(r.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),l}return Ae(h)||(u=!0),a++,e.consume(h),h===92?o:m}function o(h){return h===91||h===92||h===93?(e.consume(h),a++,m):m(h)}function l(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(s)||i.push(s),nt(e,c,"gfmFootnoteDefinitionWhitespace")):t(h)}function c(h){return n(h)}}function Zy(e,n,t){return e.check(qy,n,e.attempt($y,n,t))}function Qy(e){e.exit("gfmFootnoteDefinition")}function Ky(e,n,t){const r=this;return nt(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?n(s):t(s)}}function e_(e){let n=(e||{}).singleTilde;const t={tokenize:i,resolveAll:r};return n==null&&(n=!0),{text:{126:t},insideSpan:{null:[t]},attentionMarkers:{null:[126]}};function r(s,a){let u=-1;for(;++u1?u(c):(s.consume(c),m++,l);if(m<2&&!n)return u(c);const y=s.exit("strikethroughSequenceTemporary"),v=fs(c);return y._open=!v||v===2&&!!h,y._close=!h||h===2&&!!v,a(c)}}}class t_{constructor(){this.map=[]}add(n,t,r){n_(this,n,t,r)}consume(n){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let t=this.map.length;const r=[];for(;t>0;)t-=1,r.push(n.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),n.length=this.map[t][0];r.push([...n]),n.length=0;let i=r.pop();for(;i;)n.push(...i),i=r.pop();this.map.length=0}}function n_(e,n,t,r){let i=0;if(!(t===0&&r.length===0)){for(;i-1;){const B=r.events[z][1].type;if(B==="lineEnding"||B==="linePrefix")z--;else break}const V=z>-1?r.events[z][1].type:null,q=V==="tableHead"||V==="tableRow"?P:f;return q===P&&r.parser.lazy[r.now().line]?t(O):q(O)}function f(O){return e.enter("tableHead"),e.enter("tableRow"),p(O)}function p(O){return O===124||(a=!0,s+=1),m(O)}function m(O){return O===null?t(O):Lt(O)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),c):t(O):tt(O)?nt(e,m,"whitespace")(O):(s+=1,a&&(a=!1,i+=1),O===124?(e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),a=!0,m):(e.enter("data"),o(O)))}function o(O){return O===null||O===124||Ae(O)?(e.exit("data"),m(O)):(e.consume(O),O===92?l:o)}function l(O){return O===92||O===124?(e.consume(O),o):o(O)}function c(O){return r.interrupt=!1,r.parser.lazy[r.now().line]?t(O):(e.enter("tableDelimiterRow"),a=!1,tt(O)?nt(e,h,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):h(O))}function h(O){return O===45||O===58?v(O):O===124?(a=!0,e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),y):j(O)}function y(O){return tt(O)?nt(e,v,"whitespace")(O):v(O)}function v(O){return O===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(O),e.exit("tableDelimiterMarker"),_):O===45?(s+=1,_(O)):O===null||Lt(O)?L(O):j(O)}function _(O){return O===45?(e.enter("tableDelimiterFiller"),A(O)):j(O)}function A(O){return O===45?(e.consume(O),A):O===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(O),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(O))}function E(O){return tt(O)?nt(e,L,"whitespace")(O):L(O)}function L(O){return O===124?h(O):O===null||Lt(O)?!a||i!==s?j(O):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(O)):j(O)}function j(O){return t(O)}function P(O){return e.enter("tableRow"),G(O)}function G(O){return O===124?(e.enter("tableCellDivider"),e.consume(O),e.exit("tableCellDivider"),G):O===null||Lt(O)?(e.exit("tableRow"),n(O)):tt(O)?nt(e,G,"whitespace")(O):(e.enter("data"),K(O))}function K(O){return O===null||O===124||Ae(O)?(e.exit("data"),G(O)):(e.consume(O),O===92?H:K)}function H(O){return O===92||O===124?(e.consume(O),K):K(O)}}function s_(e,n){let t=-1,r=!0,i=0,s=[0,0,0,0],a=[0,0,0,0],u=!1,f=0,p,m,o;const l=new t_;for(;++tt[2]+1){const h=t[2]+1,y=t[3]-t[2]-1;e.add(h,y,[])}}e.add(t[3]+1,0,[["exit",o,n]])}return i!==void 0&&(s.end=Object.assign({},It(n.events,i)),e.add(i,0,[["exit",s,n]]),s=void 0),s}function ps(e,n,t,r,i){const s=[],a=It(n.events,t);i&&(i.end=Object.assign({},a),s.push(["exit",i,n])),r.end=Object.assign({},a),s.push(["exit",r,n]),e.add(t+1,0,s)}function It(e,n){const t=e[n],r=t[0]==="enter"?"start":"end";return t[1][r]}const a_={tokenize:u_};function l_(){return{text:{91:a_}}}function u_(e,n,t){const r=this;return i;function i(f){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?t(f):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),s)}function s(f){return Ae(f)?(e.enter("taskListCheckValueUnchecked"),e.consume(f),e.exit("taskListCheckValueUnchecked"),a):f===88||f===120?(e.enter("taskListCheckValueChecked"),e.consume(f),e.exit("taskListCheckValueChecked"),a):t(f)}function a(f){return f===93?(e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):t(f)}function u(f){return Lt(f)?n(f):tt(f)?e.check({tokenize:c_},n,t)(f):t(f)}}function c_(e,n,t){return nt(e,r,"whitespace");function r(i){return i===null?t(i):n(i)}}function f_(e){return Ey([Ny(),Wy(),e_(e),i_(),l_()])}const p_={};function d_(e){const n=this,t=e||p_,r=n.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(f_(t)),s.push(Cy()),a.push(Sy(t))}const ii=Ur(null);async function h_(){const e=await Tu(()=>import("./index-DWNgFtZn.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);ii.value=e.default}const m_={name:"NcRichText",components:{NcReferenceList:Rr},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Object,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact:todo"],data(){return{parentId:Zt(5)}},methods:{renderPlaintext(e){const n=this,t=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(r,i,s){const a=r.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return jm({h:e,context:n},r);const u=a[1],f=n.arguments[u];if(typeof f=="object"){const{component:p,props:m}=f;return e(p,{props:m,class:"rich-text--component"})}return f?e("span",{class:"rich-text--fallback"},f):r});return e("div",{class:"rich-text--wrapper"},[e("div",{},t.flat()),this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Rr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(e){const n=Rf().use(qd).use(vu,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Bm).use(this.useExtendedMarkdown?d_:void 0).use(Zd).use(jh,{handlers:{component(t,r){return t(r,r.component,{value:r.value})}}}).use(this.useExtendedMarkdown?ii.value:void 0).use(Mm).use(Lm,{target:"_blank",rel:["noopener noreferrer"]}).use(wm,{createElement:(t,r,i)=>{if(!t.startsWith("#")){if(this.useExtendedMarkdown){t==="code"&&!ii.value&&r?.attrs?.class?.includes("language")&&h_();let a=null;if(t==="li"&&Array.isArray(i)&&i[0].tag==="input"&&i[0].data.attrs.type==="checkbox"){const[u,...f]=i,p=f.findIndex(l=>["ul","ol","li","blockquote","pre"].includes(l.tag));p!==-1&&(a=f[p],f.splice(p));const m=this.parentId+"-markdown-input-"+Zt(5),o=e(iu,{attrs:{...u.data.attrs,id:m,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact:todo",m)}}},f);return e(t,r,[o,a])}}if(t==="a"){const a=Ls(this.$router,r.attrs.href);if(a)return delete r.attrs.href,delete r.attrs.target,e(qn,{...r,props:{to:a}},i)}return e(t,r,i)}const s=this.arguments[t.slice(1)];return s?s.component?e(s.component,{attrs:r,props:s.props,class:"rich-text--component"},i):e("span",r,[s]):e("span",{attrs:r,class:"rich-text--fallback"},[`{${t.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,t=>t.replace(/")).result;return e("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[n,this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Rr,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])}},render(e){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(e):this.renderPlaintext(e)}},g_=null,y_=null;var __=rt(m_,g_,y_,!1,null,"1de82f09");const v_=__.exports,b_={name:"Action",components:{NcButton:Mt},props:{label:{type:String,default:"",required:!0},link:{type:String,default:"",required:!0},type:{type:String,default:"",required:!0},primary:{type:Boolean,default:!1,required:!0},notificationIndex:{type:Number,required:!0}},data(){return{tabbed:!1}},computed:{isWebLink(){return this.typeWithDefault==="WEB"},typeWithDefault(){return this.type||"GET"},buttonType(){return this.primary?"primary":"secondary"}},methods:{async onClickActionButtonWeb(e){try{const n={cancelAction:!1,notification:this.$parent.$props,action:{url:this.link,type:this.typeWithDefault}};await Gt("notifications:action:execute",n),n.cancelAction&&e.preventDefault()}catch(n){console.error("Failed to perform action",n),Nn(Ne("notifications","Failed to perform action"))}},async onClickActionButton(){try{const e={cancelAction:!1,notification:this.$parent.$props,action:{url:this.link,type:this.typeWithDefault}};if(await Gt("notifications:action:execute",e),e.cancelAction)return;await ut({method:this.typeWithDefault,url:this.link}),this.$parent.$emit("remove",this.notificationIndex),Gt("notifications:action:executed",e)}catch(e){console.error("Failed to perform action",e),Nn(Ne("notifications","Failed to perform action"))}}}};var w_=function(){var e=this,n=e._self._c;return e.isWebLink?n("NcButton",{staticClass:"action-button pull-right",attrs:{type:"primary",href:e.link},on:{click:e.onClickActionButtonWeb}},[e._v(" "+e._s(e.label)+" ")]):e.isWebLink?e._e():n("NcButton",{staticClass:"action-button pull-right",attrs:{type:e.buttonType},on:{click:e.onClickActionButton}},[e._v(" "+e._s(e.label)+" ")])},x_=[],k_=Xe(b_,w_,x_,!1,null,null);const A_=k_.exports,T_={name:"DefaultParameter",props:{type:{type:String,required:!0},id:{type:[Number,String],required:!0},name:{type:String,required:!0},link:{type:String,default:""}},computed:{hasInternalLink(){return this.link&&(this.type==="deck-board"||this.type==="deck-card")}}};var C_=function(){var e=this,n=e._self._c;return e.hasInternalLink?n("a",{attrs:{href:e.link}},[n("strong",[e._v(e._s(e.name))])]):e.link?n("a",{staticClass:"external",attrs:{href:e.link,target:"_blank",rel:"noopener noreferrer"}},[n("strong",[e._v(e._s(e.name))])]):n("strong",[e._v(e._s(e.name))])},S_=[],E_=Xe(T_,C_,S_,!1,null,"3e11fc03");const O_=E_.exports,I_={name:"File",props:{type:{type:String,required:!0},id:{type:[Number,String],required:!0},name:{type:String,required:!0},path:{type:String,default:""},link:{type:String,default:""}},computed:{title(){const e=this.path.lastIndexOf("/"),n=this.path.indexOf("/"),t=this.path.substring(n===0?1:0,e);return t.length===0?"":Ne("notifications","in {path}",{path:t})}}};var P_=function(){var e=this,n=e._self._c;return n("a",{staticClass:"filename",attrs:{title:e.title,href:e.link}},[e._v(e._s(e.name))])},L_=[],N_=Xe(I_,P_,L_,!1,null,null);const R_=N_.exports,D_={name:"NcUserBubbleDiv"};var F_=function(){var e=this,n=e._self._c;return n("div",[e._t("trigger")],2)},M_=[],j_=rt(D_,F_,M_,!1,null,null);const B_=j_.exports,z_={name:"NcUserBubble",components:{NcAvatar:ku,NcPopover:ou,NcUserBubbleDiv:B_},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:e=>{try{return e=new URL(e,e?.startsWith?.("/")?window.location.href:void 0),!0}catch{return!1}}},to:{type:[String,Object],default:void 0},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},emits:["click","update:open"],computed:{isPopoverComponent(){return this.popoverEmpty?"NcUserBubbleDiv":"NcPopover"},isAvatarUrl(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch{return!1}},isCustomAvatar(){return!!this.avatarImage},hasUrl(){return this.url&&this.url.trim()!==""},isLinkComponent(){return this.hasUrl?"a":this.to?qn:"div"},popoverEmpty(){return!("default"in this.$slots)},styles(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginInlineStart:this.margin+"px"}}}},mounted(){!this.displayName&&!this.user&&hu.util.warn("[NcUserBubble] At least `displayName` or `user` property should be set.")},methods:{onOpenChange(e){this.$emit("update:open",e)},onClick(e){this.$emit("click",e)}}};var U_=function(){var e=this,n=e._self._c;return n(e.isPopoverComponent,{tag:"component",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",shown:e.open},on:{"update:open":e.onOpenChange},scopedSlots:e._u([{key:"trigger",fn:function({attrs:t}){return[n(e.isLinkComponent,e._b({tag:"component",staticClass:"user-bubble__content",class:{"user-bubble__content--primary":e.primary},style:e.styles.content,attrs:{to:e.to,href:e.hasUrl?e.url:null},on:{click:e.onClick}},"component",t,!1),[n("NcAvatar",{staticClass:"user-bubble__avatar",style:e.styles.avatar,attrs:{url:e.isCustomAvatar&&e.isAvatarUrl?e.avatarImage:void 0,"icon-class":e.isCustomAvatar&&!e.isAvatarUrl?e.avatarImage:void 0,user:e.user,"display-name":e.displayName,size:e.size-e.margin*2,"disable-tooltip":!0,"disable-menu":!0,"show-user-status":e.showUserStatus}}),n("span",{staticClass:"user-bubble__name"},[e._v(" "+e._s(e.displayName||e.user)+" ")]),e.$slots.name?n("span",{staticClass:"user-bubble__secondary"},[e._t("name")],2):e._e()],1)]}}],null,!0)},[e._t("default")],2)},H_=[],q_=rt(z_,U_,H_,!1,null,"a62a9496");const V_=q_.exports,$_={name:"User",components:{NcUserBubble:V_},props:{type:{type:String,required:!0},id:{type:String,required:!0},name:{type:String,required:!0},server:{type:String,default:""}},computed:{cloudId(){return this.server?this.id+"@"+this.server:""}}};var W_=function(){var e=this,n=e._self._c;return n("div",{staticClass:"mention"},[e.cloudId?n("strong",{attrs:{title:e.cloudId}},[e._v(" "+e._s(e.name)+" ")]):n("NcUserBubble",{attrs:{"display-name":e.name,user:e.id}})],1)},G_=[],X_=Xe($_,W_,G_,!1,null,"eb1879e2");const J_=X_.exports,nl=su(),Y_=new Intl.DateTimeFormat(nl,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"}),Z_=new Intl.RelativeTimeFormat(nl,{numeric:"auto"});function Q_(e){return Y_.format(new Date(e))}function K_(e){return ev(e-Date.now())}function ev(e){const{value:n,unit:t}=tv(e);return Z_.format(n,t)}function tv(e){const n={year:0,month:0,day:0,hour:0,minute:0,second:0};n.second=e/1e3,n.minute=n.second/60,n.hour=n.minute/60,n.day=n.hour/24,n.month=n.day/30,n.year=n.day/365;const t=r=>Math.abs(r%1)<.75?Math.trunc(r):Math.round(r);for(const r in n){const i=r,s=t(n[i]);if(s!==0)return{value:s,unit:i}}return{value:0,unit:"second"}}const nv={name:"Notification",components:{Action:A_,NcButton:Mt,Close:Rs,Message:Ds,NcRichText:v_},props:{notificationId:{type:Number,default:-1},datetime:{type:String,default:""},app:{type:String,default:""},icon:{type:String,default:""},link:{type:String,default:""},externalLink:{type:String,default:""},user:{type:String,default:""},message:{type:String,default:""},messageRich:{type:String,default:""},messageRichParameters:{type:[Object,Array],default(){return{}}},subject:{type:String,default:""},subjectRich:{type:String,default:""},subjectRichParameters:{type:[Object,Array],default(){return{}}},objectType:{type:String,default:""},objectId:{type:String,default:""},shouldNotify:{type:Boolean,default:!0},actions:{type:Array,default(){return[]}},index:{type:Number,default:-1}},data(){return{showFullMessage:!1}},computed:{timestamp(){return this.datetime==="warning"?0:new Date(this.datetime).valueOf()},absoluteDate(){return this.datetime==="warning"?"":Q_(this.timestamp)},relativeDate(){if(this.datetime==="warning")return"";const e=Date.now()-this.timestamp;return e>=0&&e<45e3?Ne("core","seconds ago"):K_(this.timestamp)},useLink(){if(!this.link)return!1;let e=!1;return Object.keys(this.subjectRichParameters).forEach(n=>{this.subjectRichParameters[n].link&&(e=!0)}),!e},preparedSubjectParameters(){return this.prepareParameters(this.subjectRichParameters)},preparedMessageParameters(){return this.prepareParameters(this.messageRichParameters)},isCollapsedMessage(){return this.message.length>200&&!this.showFullMessage}},methods:{t:Ne,prepareParameters(e){const n={};return Object.keys(e).forEach(t=>{const r=e[t].type;r==="user"?n[t]={component:J_,props:e[t]}:r==="file"?n[t]={component:R_,props:e[t]}:n[t]={component:O_,props:e[t]}}),n},onClickMessage(e){e.target.closest(".rich-text--wrapper")?this.showFullMessage=!this.showFullMessage:!this.messageRich&&this.message&&(this.showFullMessage=!this.showFullMessage)},onDismissNotification(){ut.delete(bt("apps/notifications/api/v2/notifications/{id}",{id:this.notificationId})).then(()=>{this.$emit("remove",this.index)}).catch(()=>{Nn(Ne("notifications","Failed to dismiss notification"))})}}};var rv=function(){var e=this,n=e._self._c;return n("li",{staticClass:"notification",attrs:{"data-id":e.notificationId,"data-timestamp":e.timestamp,"data-object-type":e.objectType,"data-app":e.app}},[n("div",{staticClass:"notification-heading"},[n("span",{staticClass:"hidden-visually"},[e._v(e._s(e.absoluteDate))]),e.timestamp?n("span",{staticClass:"notification-time live-relative-timestamp",attrs:{title:e.absoluteDate,"data-timestamp":e.timestamp}},[e._v(e._s(e.relativeDate))]):e._e(),e.timestamp?n("NcButton",{staticClass:"notification-dismiss-button",attrs:{type:"tertiary","aria-label":e.t("notifications","Dismiss")},on:{click:e.onDismissNotification},scopedSlots:e._u([{key:"icon",fn:function(){return[n("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):e._e()],1),e.externalLink?n("a",{staticClass:"notification-subject full-subject-link external",attrs:{href:e.externalLink,target:"_blank",rel:"noreferrer noopener"}},[n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]),n("span",{staticClass:"subject"},[e._v(e._s(e.subject)+" ↗")])]):e.useLink?n("a",{staticClass:"notification-subject full-subject-link",attrs:{href:e.link}},[e.icon?n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]):e._e(),e.subjectRich?n("NcRichText",{attrs:{text:e.subjectRich,arguments:e.preparedSubjectParameters}}):n("span",{staticClass:"subject"},[e._v(e._s(e.subject))])],1):n("div",{staticClass:"notification-subject"},[e.icon?n("span",{staticClass:"image"},[n("img",{staticClass:"notification-icon",attrs:{src:e.icon,alt:""}})]):e._e(),e.subjectRich?n("NcRichText",{attrs:{text:e.subjectRich,arguments:e.preparedSubjectParameters}}):n("span",{staticClass:"subject"},[e._v(e._s(e.subject))])],1),e.message?n("div",{staticClass:"notification-message",on:{click:e.onClickMessage}},[n("div",{staticClass:"message-container",class:{collapsed:e.isCollapsedMessage}},[e.messageRich?n("NcRichText",{attrs:{text:e.messageRich,arguments:e.preparedMessageParameters,autolink:!0}}):n("span",[e._v(e._s(e.message))])],1),e.isCollapsedMessage?n("div",{staticClass:"notification-overflow"}):e._e()]):e._e(),e.actions.length?n("div",{staticClass:"notification-actions"},e._l(e.actions,function(t,r){return n("Action",e._b({key:r,attrs:{"notification-index":e.index}},"Action",t,!1))}),1):e.externalLink?n("div",{staticClass:"notification-actions"},[n("NcButton",{staticClass:"action-button pull-right",attrs:{type:"primary",href:"https://nextcloud.com/fairusepolicy",target:"_blank",rel:"noreferrer noopener"},scopedSlots:e._u([{key:"icon",fn:function(){return[n("Message",{attrs:{size:20}})]},proxy:!0}])},[e._v(" "+e._s(e.t("notifications","Contact Nextcloud GmbH"))+" ↗ ")])],1):e._e()])},iv=[],ov=Xe(nv,rv,iv,!1,null,"52482529");const sv=ov.exports,av=async(e,n,t,r)=>{const i=parseInt(ve.getItem("lastUpdated"),10),s=ve.getItem("tabId"),a=Math.floor(Date.now()/1e3);return(t||s===e&&i+25(e.notificationId=e.notification_id,e.objectId=e.object_id,e.objectType=e.object_type,delete e.notification_id,delete e.object_id,delete e.object_type,e),uv=async e=>{let n={};e&&(n={headers:{"If-None-Match":e}});try{const t=await ut.get(bt("apps/notifications/api/v2/notifications"),n);ve.setItem("status",""+t.status),t.status!==204&&(ve.setItem("headers",JSON.stringify(t.headers)),ve.setItem("data",JSON.stringify(t.data.ocs.data.map(lv))))}catch(t){t?.response?.status?ve.setItem("status",""+t.response.status):ve.setItem("status","500")}};var Ke={},ds={},hs={},ms;function cv(){return ms||(ms=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function n(t,r,i){const s=document.querySelector(`#initial-state-${t}-${r}`);if(s===null){if(i!==void 0)return i;throw new Error(`Could not find initial state ${r} of ${t}`)}try{return JSON.parse(atob(s.value))}catch{throw new Error(`Could not parse initial state ${r} of ${t}`)}}e.loadState=n}(hs)),hs}var gs;function fv(){return gs||(gs=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const n=cv();function t(){try{return n.loadState("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}e.getCapabilities=t}(ds)),ds}var ys={},Br,_s;function pv(){if(_s)return Br;_s=1;function e(d,g){return function(){return d.apply(g,arguments)}}const{toString:n}=Object.prototype,{getPrototypeOf:t}=Object,r=(d=>g=>{const b=n.call(g);return d[b]||(d[b]=b.slice(8,-1).toLowerCase())})(Object.create(null)),i=d=>(d=d.toLowerCase(),g=>r(g)===d),s=d=>g=>typeof g===d,{isArray:a}=Array,u=s("undefined");function f(d){return d!==null&&!u(d)&&d.constructor!==null&&!u(d.constructor)&&l(d.constructor.isBuffer)&&d.constructor.isBuffer(d)}const p=i("ArrayBuffer");function m(d){let g;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?g=ArrayBuffer.isView(d):g=d&&d.buffer&&p(d.buffer),g}const o=s("string"),l=s("function"),c=s("number"),h=d=>d!==null&&typeof d=="object",y=d=>d===!0||d===!1,v=d=>{if(r(d)!=="object")return!1;const g=t(d);return(g===null||g===Object.prototype||Object.getPrototypeOf(g)===null)&&!(Symbol.toStringTag in d)&&!(Symbol.iterator in d)},_=i("Date"),A=i("File"),E=i("Blob"),L=i("FileList"),j=d=>h(d)&&l(d.pipe),P=d=>{let g;return d&&(typeof FormData=="function"&&d instanceof FormData||l(d.append)&&((g=r(d))==="formdata"||g==="object"&&l(d.toString)&&d.toString()==="[object FormData]"))},G=i("URLSearchParams"),[K,H,O,z]=["ReadableStream","Request","Response","Headers"].map(i),V=d=>d.trim?d.trim():d.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function q(d,g,{allOwnKeys:b=!1}={}){if(d===null||typeof d>"u")return;let w,T;if(typeof d!="object"&&(d=[d]),a(d))for(w=0,T=d.length;w0;)if(T=b[w],g===T.toLowerCase())return T;return null}const X=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:Ot,ce=d=>!u(d)&&d!==X;function fe(){const{caseless:d}=ce(this)&&this||{},g={},b=(w,T)=>{const C=d&&B(g,T)||T;v(g[C])&&v(w)?g[C]=fe(g[C],w):v(w)?g[C]=fe({},w):a(w)?g[C]=w.slice():g[C]=w};for(let w=0,T=arguments.length;w(q(g,(T,C)=>{b&&l(T)?d[C]=e(T,b):d[C]=T},{allOwnKeys:w}),d),De=d=>(d.charCodeAt(0)===65279&&(d=d.slice(1)),d),x=(d,g,b,w)=>{d.prototype=Object.create(g.prototype,w),d.prototype.constructor=d,Object.defineProperty(d,"super",{value:g.prototype}),b&&Object.assign(d.prototype,b)},Ce=(d,g,b,w)=>{let T,C,S;const F={};if(g=g||{},d==null)return g;do{for(T=Object.getOwnPropertyNames(d),C=T.length;C-- >0;)S=T[C],(!w||w(S,d,g))&&!F[S]&&(g[S]=d[S],F[S]=!0);d=b!==!1&&t(d)}while(d&&(!b||b(d,g))&&d!==Object.prototype);return g},Fe=(d,g,b)=>{d=String(d),(b===void 0||b>d.length)&&(b=d.length),b-=g.length;const w=d.indexOf(g,b);return w!==-1&&w===b},k=d=>{if(!d)return null;if(a(d))return d;let g=d.length;if(!c(g))return null;const b=new Array(g);for(;g-- >0;)b[g]=d[g];return b},Se=(d=>g=>d&&g instanceof d)(typeof Uint8Array<"u"&&t(Uint8Array)),Je=(d,g)=>{const b=(d&&d[Symbol.iterator]).call(d);let w;for(;(w=b.next())&&!w.done;){const T=w.value;g.call(d,T[0],T[1])}},me=(d,g)=>{let b;const w=[];for(;(b=d.exec(g))!==null;)w.push(b);return w},mt=i("HTMLFormElement"),He=d=>d.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(g,b,w){return b.toUpperCase()+w}),Ye=(({hasOwnProperty:d})=>(g,b)=>d.call(g,b))(Object.prototype),it=i("RegExp"),gt=(d,g)=>{const b=Object.getOwnPropertyDescriptors(d),w={};q(b,(T,C)=>{let S;(S=g(T,C,d))!==!1&&(w[C]=S||T)}),Object.defineProperties(d,w)},Qn=d=>{gt(d,(g,b)=>{if(l(d)&&["arguments","caller","callee"].indexOf(b)!==-1)return!1;const w=d[b];if(l(w)){if(g.enumerable=!1,"writable"in g){g.writable=!1;return}g.set||(g.set=()=>{throw Error("Can not rewrite read-only method '"+b+"'")})}})},Kn=(d,g)=>{const b={},w=T=>{T.forEach(C=>{b[C]=!0})};return a(d)?w(d):w(String(d).split(g)),b},er=()=>{},rn=(d,g)=>d!=null&&Number.isFinite(d=+d)?d:g;function on(d){return!!(d&&l(d.append)&&d[Symbol.toStringTag]==="FormData"&&d[Symbol.iterator])}const sn=d=>{const g=new Array(10),b=(w,T)=>{if(h(w)){if(g.indexOf(w)>=0)return;if(!("toJSON"in w)){g[T]=w;const C=a(w)?[]:{};return q(w,(S,F)=>{const W=b(S,T+1);!u(W)&&(C[F]=W)}),g[T]=void 0,C}}return w};return b(d,0)},tr=i("AsyncFunction"),an=d=>d&&(h(d)||l(d))&&l(d.then)&&l(d.catch),zt=((d,g)=>d?setImmediate:g?((b,w)=>(X.addEventListener("message",({source:T,data:C})=>{T===X&&C===b&&w.length&&w.shift()()},!1),T=>{w.push(T),X.postMessage(b,"*")}))(`axios@${Math.random()}`,[]):b=>setTimeout(b))(typeof setImmediate=="function",l(X.postMessage)),nr=typeof queueMicrotask<"u"?queueMicrotask.bind(X):typeof Xi<"u"&&Xi.nextTick||zt;var I={isArray:a,isArrayBuffer:p,isBuffer:f,isFormData:P,isArrayBufferView:m,isString:o,isNumber:c,isBoolean:y,isObject:h,isPlainObject:v,isReadableStream:K,isRequest:H,isResponse:O,isHeaders:z,isUndefined:u,isDate:_,isFile:A,isBlob:E,isRegExp:it,isFunction:l,isStream:j,isURLSearchParams:G,isTypedArray:Se,isFileList:L,forEach:q,merge:fe,extend:Te,trim:V,stripBOM:De,inherits:x,toFlatObject:Ce,kindOf:r,kindOfTest:i,endsWith:Fe,toArray:k,forEachEntry:Je,matchAll:me,isHTMLForm:mt,hasOwnProperty:Ye,hasOwnProp:Ye,reduceDescriptors:gt,freezeMethods:Qn,toObjectSet:Kn,toCamelCase:He,noop:er,toFiniteNumber:rn,findKey:B,global:X,isContextDefined:ce,isSpecCompliantForm:on,toJSONObject:sn,isAsyncFn:tr,isThenable:an,setImmediate:zt,asap:nr};function ee(d,g,b,w,T){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=d,this.name="AxiosError",g&&(this.code=g),b&&(this.config=b),w&&(this.request=w),T&&(this.response=T,this.status=T.status?T.status:null)}I.inherits(ee,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:I.toJSONObject(this.config),code:this.code,status:this.status}}});const ln=ee.prototype,un={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(d=>{un[d]={value:d}}),Object.defineProperties(ee,un),Object.defineProperty(ln,"isAxiosError",{value:!0}),ee.from=(d,g,b,w,T,C)=>{const S=Object.create(ln);return I.toFlatObject(d,S,function(F){return F!==Error.prototype},F=>F!=="isAxiosError"),ee.call(S,d.message,g,b,w,T),S.cause=d,S.name=d.name,C&&Object.assign(S,C),S};var N=null;function D(d){return I.isPlainObject(d)||I.isArray(d)}function Y(d){return I.endsWith(d,"[]")?d.slice(0,-2):d}function ie(d,g,b){return d?d.concat(g).map(function(w,T){return w=Y(w),!b&&T?"["+w+"]":w}).join(b?".":""):g}function oe(d){return I.isArray(d)&&!d.some(D)}const Ie=I.toFlatObject(I,{},null,function(d){return/^is[A-Z]/.test(d)});function Me(d,g,b){if(!I.isObject(d))throw new TypeError("target must be an object");g=g||new FormData,b=I.toFlatObject(b,{metaTokens:!0,dots:!1,indexes:!1},!1,function(te,J){return!I.isUndefined(J[te])});const w=b.metaTokens,T=b.visitor||M,C=b.dots,S=b.indexes,F=(b.Blob||typeof Blob<"u"&&Blob)&&I.isSpecCompliantForm(g);if(!I.isFunction(T))throw new TypeError("visitor must be a function");function W(te){if(te===null)return"";if(I.isDate(te))return te.toISOString();if(!F&&I.isBlob(te))throw new ee("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(te)||I.isTypedArray(te)?F&&typeof Blob=="function"?new Blob([te]):au.from(te):te}function M(te,J,$){let _e=te;if(te&&!$&&typeof te=="object"){if(I.endsWith(J,"{}"))J=w?J:J.slice(0,-2),te=JSON.stringify(te);else if(I.isArray(te)&&oe(te)||(I.isFileList(te)||I.endsWith(J,"[]"))&&(_e=I.toArray(te)))return J=Y(J),_e.forEach(function(ge,pe){!(I.isUndefined(ge)||ge===null)&&g.append(S===!0?ie([J],pe,C):S===null?J:J+"[]",W(ge))}),!1}return D(te)?!0:(g.append(ie($,J,C),W(te)),!1)}const U=[],Z=Object.assign(Ie,{defaultVisitor:M,convertValue:W,isVisitable:D});function se(te,J){if(!I.isUndefined(te)){if(U.indexOf(te)!==-1)throw Error("Circular reference detected in "+J.join("."));U.push(te),I.forEach(te,function($,_e){(!(I.isUndefined($)||$===null)&&T.call(g,$,I.isString(_e)?_e.trim():_e,J,Z))===!0&&se($,J?J.concat(_e):[_e])}),U.pop()}}if(!I.isObject(d))throw new TypeError("data must be an object");return se(d),g}function Pe(d){const g={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(d).replace(/[!'()~]|%20|%00/g,function(b){return g[b]})}function Ze(d,g){this._pairs=[],d&&Me(d,this,g)}const ot=Ze.prototype;ot.append=function(d,g){this._pairs.push([d,g])},ot.toString=function(d){const g=d?function(b){return d.call(this,b,Pe)}:Pe;return this._pairs.map(function(b){return g(b[0])+"="+g(b[1])},"").join("&")};function be(d){return encodeURIComponent(d).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Qe(d,g,b){if(!g)return d;const w=b&&b.encode||be;I.isFunction(b)&&(b={serialize:b});const T=b&&b.serialize;let C;if(T?C=T(g,b):C=I.isURLSearchParams(g)?g.toString():new Ze(g,b).toString(w),C){const S=d.indexOf("#");S!==-1&&(d=d.slice(0,S)),d+=(d.indexOf("?")===-1?"?":"&")+C}return d}class je{constructor(){this.handlers=[]}use(g,b,w){return this.handlers.push({fulfilled:g,rejected:b,synchronous:w?w.synchronous:!1,runWhen:w?w.runWhen:null}),this.handlers.length-1}eject(g){this.handlers[g]&&(this.handlers[g]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(g){I.forEach(this.handlers,function(b){b!==null&&g(b)})}}var Ti=je,Ci={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},il=typeof URLSearchParams<"u"?URLSearchParams:Ze,ol=typeof FormData<"u"?FormData:null,sl=typeof Blob<"u"?Blob:null,al={isBrowser:!0,classes:{URLSearchParams:il,FormData:ol,Blob:sl},protocols:["http","https","file","blob","url","data"]};const rr=typeof window<"u"&&typeof document<"u",ir=typeof navigator=="object"&&navigator||void 0,ll=rr&&(!ir||["ReactNative","NativeScript","NS"].indexOf(ir.product)<0),ul=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",cl=rr&&window.location.href||"http://localhost";var fl=Object.freeze({__proto__:null,hasBrowserEnv:rr,hasStandardBrowserWebWorkerEnv:ul,hasStandardBrowserEnv:ll,navigator:ir,origin:cl}),ye={...fl,...al};function pl(d,g){return Me(d,new ye.classes.URLSearchParams,Object.assign({visitor:function(b,w,T,C){return ye.isNode&&I.isBuffer(b)?(this.append(w,b.toString("base64")),!1):C.defaultVisitor.apply(this,arguments)}},g))}function dl(d){return I.matchAll(/\w+|\[(\w*)]/g,d).map(g=>g[0]==="[]"?"":g[1]||g[0])}function hl(d){const g={},b=Object.keys(d);let w;const T=b.length;let C;for(w=0;w=b.length;return S=!S&&I.isArray(T)?T.length:S,W?(I.hasOwnProp(T,S)?T[S]=[T[S],w]:T[S]=w,!F):((!T[S]||!I.isObject(T[S]))&&(T[S]=[]),g(b,w,T[S],C)&&I.isArray(T[S])&&(T[S]=hl(T[S])),!F)}if(I.isFormData(d)&&I.isFunction(d.entries)){const b={};return I.forEachEntry(d,(w,T)=>{g(dl(w),T,b,0)}),b}return null}function ml(d,g,b){if(I.isString(d))try{return(g||JSON.parse)(d),I.trim(d)}catch(w){if(w.name!=="SyntaxError")throw w}return(b||JSON.stringify)(d)}const or={transitional:Ci,adapter:["xhr","http","fetch"],transformRequest:[function(d,g){const b=g.getContentType()||"",w=b.indexOf("application/json")>-1,T=I.isObject(d);if(T&&I.isHTMLForm(d)&&(d=new FormData(d)),I.isFormData(d))return w?JSON.stringify(Si(d)):d;if(I.isArrayBuffer(d)||I.isBuffer(d)||I.isStream(d)||I.isFile(d)||I.isBlob(d)||I.isReadableStream(d))return d;if(I.isArrayBufferView(d))return d.buffer;if(I.isURLSearchParams(d))return g.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),d.toString();let C;if(T){if(b.indexOf("application/x-www-form-urlencoded")>-1)return pl(d,this.formSerializer).toString();if((C=I.isFileList(d))||b.indexOf("multipart/form-data")>-1){const S=this.env&&this.env.FormData;return Me(C?{"files[]":d}:d,S&&new S,this.formSerializer)}}return T||w?(g.setContentType("application/json",!1),ml(d)):d}],transformResponse:[function(d){const g=this.transitional||or.transitional,b=g&&g.forcedJSONParsing,w=this.responseType==="json";if(I.isResponse(d)||I.isReadableStream(d))return d;if(d&&I.isString(d)&&(b&&!this.responseType||w)){const T=!(g&&g.silentJSONParsing)&&w;try{return JSON.parse(d)}catch(C){if(T)throw C.name==="SyntaxError"?ee.from(C,ee.ERR_BAD_RESPONSE,this,null,this.response):C}}return d}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ye.classes.FormData,Blob:ye.classes.Blob},validateStatus:function(d){return d>=200&&d<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],d=>{or.headers[d]={}});var sr=or;const gl=I.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var yl=d=>{const g={};let b,w,T;return d&&d.split(`
`).forEach(function(C){T=C.indexOf(":"),b=C.substring(0,T).trim().toLowerCase(),w=C.substring(T+1).trim(),!(!b||g[b]&&gl[b])&&(b==="set-cookie"?g[b]?g[b].push(w):g[b]=[w]:g[b]=g[b]?g[b]+", "+w:w)}),g};const Ei=Symbol("internals");function Ut(d){return d&&String(d).trim().toLowerCase()}function cn(d){return d===!1||d==null?d:I.isArray(d)?d.map(cn):String(d)}function _l(d){const g=Object.create(null),b=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let w;for(;w=b.exec(d);)g[w[1]]=w[2];return g}const vl=d=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(d.trim());function ar(d,g,b,w,T){if(I.isFunction(w))return w.call(this,g,b);if(T&&(g=b),!!I.isString(g)){if(I.isString(w))return g.indexOf(w)!==-1;if(I.isRegExp(w))return w.test(g)}}function bl(d){return d.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(g,b,w)=>b.toUpperCase()+w)}function wl(d,g){const b=I.toCamelCase(" "+g);["get","set","has"].forEach(w=>{Object.defineProperty(d,w+b,{value:function(T,C,S){return this[w].call(this,g,T,C,S)},configurable:!0})})}class fn{constructor(g){g&&this.set(g)}set(g,b,w){const T=this;function C(F,W,M){const U=Ut(W);if(!U)throw new Error("header name must be a non-empty string");const Z=I.findKey(T,U);(!Z||T[Z]===void 0||M===!0||M===void 0&&T[Z]!==!1)&&(T[Z||W]=cn(F))}const S=(F,W)=>I.forEach(F,(M,U)=>C(M,U,W));if(I.isPlainObject(g)||g instanceof this.constructor)S(g,b);else if(I.isString(g)&&(g=g.trim())&&!vl(g))S(yl(g),b);else if(I.isHeaders(g))for(const[F,W]of g.entries())C(W,F,w);else g!=null&&C(b,g,w);return this}get(g,b){if(g=Ut(g),g){const w=I.findKey(this,g);if(w){const T=this[w];if(!b)return T;if(b===!0)return _l(T);if(I.isFunction(b))return b.call(this,T,w);if(I.isRegExp(b))return b.exec(T);throw new TypeError("parser must be boolean|regexp|function")}}}has(g,b){if(g=Ut(g),g){const w=I.findKey(this,g);return!!(w&&this[w]!==void 0&&(!b||ar(this,this[w],w,b)))}return!1}delete(g,b){const w=this;let T=!1;function C(S){if(S=Ut(S),S){const F=I.findKey(w,S);F&&(!b||ar(w,w[F],F,b))&&(delete w[F],T=!0)}}return I.isArray(g)?g.forEach(C):C(g),T}clear(g){const b=Object.keys(this);let w=b.length,T=!1;for(;w--;){const C=b[w];(!g||ar(this,this[C],C,g,!0))&&(delete this[C],T=!0)}return T}normalize(g){const b=this,w={};return I.forEach(this,(T,C)=>{const S=I.findKey(w,C);if(S){b[S]=cn(T),delete b[C];return}const F=g?bl(C):String(C).trim();F!==C&&delete b[C],b[F]=cn(T),w[F]=!0}),this}concat(...g){return this.constructor.concat(this,...g)}toJSON(g){const b=Object.create(null);return I.forEach(this,(w,T)=>{w!=null&&w!==!1&&(b[T]=g&&I.isArray(w)?w.join(", "):w)}),b}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([g,b])=>g+": "+b).join(`
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(g){return g instanceof this?g:new this(g)}static concat(g,...b){const w=new this(g);return b.forEach(T=>w.set(T)),w}static accessor(g){const b=(this[Ei]=this[Ei]={accessors:{}}).accessors,w=this.prototype;function T(C){const S=Ut(C);b[S]||(wl(w,C),b[S]=!0)}return I.isArray(g)?g.forEach(T):T(g),this}}fn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),I.reduceDescriptors(fn.prototype,({value:d},g)=>{let b=g[0].toUpperCase()+g.slice(1);return{get:()=>d,set(w){this[b]=w}}}),I.freezeMethods(fn);var Be=fn;function lr(d,g){const b=this||sr,w=g||b,T=Be.from(w.headers);let C=w.data;return I.forEach(d,function(S){C=S.call(b,C,T.normalize(),g?g.status:void 0)}),T.normalize(),C}function Oi(d){return!!(d&&d.__CANCEL__)}function Tt(d,g,b){ee.call(this,d??"canceled",ee.ERR_CANCELED,g,b),this.name="CanceledError"}I.inherits(Tt,ee,{__CANCEL__:!0});function Ii(d,g,b){const w=b.config.validateStatus;!b.status||!w||w(b.status)?d(b):g(new ee("Request failed with status code "+b.status,[ee.ERR_BAD_REQUEST,ee.ERR_BAD_RESPONSE][Math.floor(b.status/100)-4],b.config,b.request,b))}function xl(d){const g=/^([-+\w]{1,25})(:?\/\/|:)/.exec(d);return g&&g[1]||""}function kl(d,g){d=d||10;const b=new Array(d),w=new Array(d);let T=0,C=0,S;return g=g!==void 0?g:1e3,function(F){const W=Date.now(),M=w[C];S||(S=W),b[T]=F,w[T]=W;let U=C,Z=0;for(;U!==T;)Z+=b[U++],U=U%d;if(T=(T+1)%d,T===C&&(C=(C+1)%d),W-S{b=W,T=null,C&&(clearTimeout(C),C=null),d.apply(null,F)};return[(...F)=>{const W=Date.now(),M=W-b;M>=w?S(F,W):(T=F,C||(C=setTimeout(()=>{C=null,S(T)},w-M)))},()=>T&&S(T)]}const pn=(d,g,b=3)=>{let w=0;const T=kl(50,250);return Al(C=>{const S=C.loaded,F=C.lengthComputable?C.total:void 0,W=S-w,M=T(W),U=S<=F;w=S;const Z={loaded:S,total:F,progress:F?S/F:void 0,bytes:W,rate:M||void 0,estimated:M&&F&&U?(F-S)/M:void 0,event:C,lengthComputable:F!=null,[g?"download":"upload"]:!0};d(Z)},b)},Pi=(d,g)=>{const b=d!=null;return[w=>g[0]({lengthComputable:b,total:d,loaded:w}),g[1]]},Li=d=>(...g)=>I.asap(()=>d(...g));var Tl=ye.hasStandardBrowserEnv?((d,g)=>b=>(b=new URL(b,ye.origin),d.protocol===b.protocol&&d.host===b.host&&(g||d.port===b.port)))(new URL(ye.origin),ye.navigator&&/(msie|trident)/i.test(ye.navigator.userAgent)):()=>!0,Cl=ye.hasStandardBrowserEnv?{write(d,g,b,w,T,C){const S=[d+"="+encodeURIComponent(g)];I.isNumber(b)&&S.push("expires="+new Date(b).toGMTString()),I.isString(w)&&S.push("path="+w),I.isString(T)&&S.push("domain="+T),C===!0&&S.push("secure"),document.cookie=S.join("; ")},read(d){const g=document.cookie.match(new RegExp("(^|;\\s*)("+d+")=([^;]*)"));return g?decodeURIComponent(g[3]):null},remove(d){this.write(d,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Sl(d){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(d)}function El(d,g){return g?d.replace(/\/?\/$/,"")+"/"+g.replace(/^\/+/,""):d}function Ni(d,g,b){let w=!Sl(g);return d&&w||b==!1?El(d,g):g}const Ri=d=>d instanceof Be?{...d}:d;function yt(d,g){g=g||{};const b={};function w(M,U,Z,se){return I.isPlainObject(M)&&I.isPlainObject(U)?I.merge.call({caseless:se},M,U):I.isPlainObject(U)?I.merge({},U):I.isArray(U)?U.slice():U}function T(M,U,Z,se){if(I.isUndefined(U)){if(!I.isUndefined(M))return w(void 0,M,Z,se)}else return w(M,U,Z,se)}function C(M,U){if(!I.isUndefined(U))return w(void 0,U)}function S(M,U){if(I.isUndefined(U)){if(!I.isUndefined(M))return w(void 0,M)}else return w(void 0,U)}function F(M,U,Z){if(Z in g)return w(M,U);if(Z in d)return w(void 0,M)}const W={url:C,method:C,data:C,baseURL:S,transformRequest:S,transformResponse:S,paramsSerializer:S,timeout:S,timeoutMessage:S,withCredentials:S,withXSRFToken:S,adapter:S,responseType:S,xsrfCookieName:S,xsrfHeaderName:S,onUploadProgress:S,onDownloadProgress:S,decompress:S,maxContentLength:S,maxBodyLength:S,beforeRedirect:S,transport:S,httpAgent:S,httpsAgent:S,cancelToken:S,socketPath:S,responseEncoding:S,validateStatus:F,headers:(M,U,Z)=>T(Ri(M),Ri(U),Z,!0)};return I.forEach(Object.keys(Object.assign({},d,g)),function(M){const U=W[M]||T,Z=U(d[M],g[M],M);I.isUndefined(Z)&&U!==F||(b[M]=Z)}),b}var Di=d=>{const g=yt({},d);let{data:b,withXSRFToken:w,xsrfHeaderName:T,xsrfCookieName:C,headers:S,auth:F}=g;g.headers=S=Be.from(S),g.url=Qe(Ni(g.baseURL,g.url),d.params,d.paramsSerializer),F&&S.set("Authorization","Basic "+btoa((F.username||"")+":"+(F.password?unescape(encodeURIComponent(F.password)):"")));let W;if(I.isFormData(b)){if(ye.hasStandardBrowserEnv||ye.hasStandardBrowserWebWorkerEnv)S.setContentType(void 0);else if((W=S.getContentType())!==!1){const[M,...U]=W?W.split(";").map(Z=>Z.trim()).filter(Boolean):[];S.setContentType([M||"multipart/form-data",...U].join("; "))}}if(ye.hasStandardBrowserEnv&&(w&&I.isFunction(w)&&(w=w(g)),w||w!==!1&&Tl(g.url))){const M=T&&C&&Cl.read(C);M&&S.set(T,M)}return g},Ol=typeof XMLHttpRequest<"u"&&function(d){return new Promise(function(g,b){const w=Di(d);let T=w.data;const C=Be.from(w.headers).normalize();let{responseType:S,onUploadProgress:F,onDownloadProgress:W}=w,M,U,Z,se,te;function J(){se&&se(),te&&te(),w.cancelToken&&w.cancelToken.unsubscribe(M),w.signal&&w.signal.removeEventListener("abort",M)}let $=new XMLHttpRequest;$.open(w.method.toUpperCase(),w.url,!0),$.timeout=w.timeout;function _e(){if(!$)return;const pe=Be.from("getAllResponseHeaders"in $&&$.getAllResponseHeaders()),st={data:!S||S==="text"||S==="json"?$.responseText:$.response,status:$.status,statusText:$.statusText,headers:pe,config:d,request:$};Ii(function(Ht){g(Ht),J()},function(Ht){b(Ht),J()},st),$=null}"onloadend"in $?$.onloadend=_e:$.onreadystatechange=function(){!$||$.readyState!==4||$.status===0&&!($.responseURL&&$.responseURL.indexOf("file:")===0)||setTimeout(_e)},$.onabort=function(){$&&(b(new ee("Request aborted",ee.ECONNABORTED,d,$)),$=null)},$.onerror=function(){b(new ee("Network Error",ee.ERR_NETWORK,d,$)),$=null},$.ontimeout=function(){let pe=w.timeout?"timeout of "+w.timeout+"ms exceeded":"timeout exceeded";const st=w.transitional||Ci;w.timeoutErrorMessage&&(pe=w.timeoutErrorMessage),b(new ee(pe,st.clarifyTimeoutError?ee.ETIMEDOUT:ee.ECONNABORTED,d,$)),$=null},T===void 0&&C.setContentType(null),"setRequestHeader"in $&&I.forEach(C.toJSON(),function(pe,st){$.setRequestHeader(st,pe)}),I.isUndefined(w.withCredentials)||($.withCredentials=!!w.withCredentials),S&&S!=="json"&&($.responseType=w.responseType),W&&([Z,te]=pn(W,!0),$.addEventListener("progress",Z)),F&&$.upload&&([U,se]=pn(F),$.upload.addEventListener("progress",U),$.upload.addEventListener("loadend",se)),(w.cancelToken||w.signal)&&(M=pe=>{$&&(b(!pe||pe.type?new Tt(null,d,$):pe),$.abort(),$=null)},w.cancelToken&&w.cancelToken.subscribe(M),w.signal&&(w.signal.aborted?M():w.signal.addEventListener("abort",M)));const ge=xl(w.url);if(ge&&ye.protocols.indexOf(ge)===-1){b(new ee("Unsupported protocol "+ge+":",ee.ERR_BAD_REQUEST,d));return}$.send(T||null)})},Il=(d,g)=>{const{length:b}=d=d?d.filter(Boolean):[];if(g||b){let w=new AbortController,T;const C=function(M){if(!T){T=!0,F();const U=M instanceof Error?M:this.reason;w.abort(U instanceof ee?U:new Tt(U instanceof Error?U.message:U))}};let S=g&&setTimeout(()=>{S=null,C(new ee(`timeout ${g} of ms exceeded`,ee.ETIMEDOUT))},g);const F=()=>{d&&(S&&clearTimeout(S),S=null,d.forEach(M=>{M.unsubscribe?M.unsubscribe(C):M.removeEventListener("abort",C)}),d=null)};d.forEach(M=>M.addEventListener("abort",C));const{signal:W}=w;return W.unsubscribe=()=>I.asap(F),W}};const Pl=function*(d,g){let b=d.byteLength;if(b{const T=Ll(d,g);let C=0,S,F=W=>{S||(S=!0,w&&w(W))};return new ReadableStream({async pull(W){try{const{done:M,value:U}=await T.next();if(M){F(),W.close();return}let Z=U.byteLength;if(b){let se=C+=Z;b(se)}W.enqueue(new Uint8Array(U))}catch(M){throw F(M),M}},cancel(W){return F(W),T.return()}},{highWaterMark:2})},dn=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Mi=dn&&typeof ReadableStream=="function",Rl=dn&&(typeof TextEncoder=="function"?(d=>g=>d.encode(g))(new TextEncoder):async d=>new Uint8Array(await new Response(d).arrayBuffer())),ji=(d,...g)=>{try{return!!d(...g)}catch{return!1}},Dl=Mi&&ji(()=>{let d=!1;const g=new Request(ye.origin,{body:new ReadableStream,method:"POST",get duplex(){return d=!0,"half"}}).headers.has("Content-Type");return d&&!g}),Bi=64*1024,ur=Mi&&ji(()=>I.isReadableStream(new Response("").body)),hn={stream:ur&&(d=>d.body)};dn&&(d=>{["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!hn[g]&&(hn[g]=I.isFunction(d[g])?b=>b[g]():(b,w)=>{throw new ee(`Response type '${g}' is not supported`,ee.ERR_NOT_SUPPORT,w)})})})(new Response);const Fl=async d=>{if(d==null)return 0;if(I.isBlob(d))return d.size;if(I.isSpecCompliantForm(d))return(await new Request(ye.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(I.isArrayBufferView(d)||I.isArrayBuffer(d))return d.byteLength;if(I.isURLSearchParams(d)&&(d=d+""),I.isString(d))return(await Rl(d)).byteLength},Ml=async(d,g)=>I.toFiniteNumber(d.getContentLength())??Fl(g);var jl=dn&&(async d=>{let{url:g,method:b,data:w,signal:T,cancelToken:C,timeout:S,onDownloadProgress:F,onUploadProgress:W,responseType:M,headers:U,withCredentials:Z="same-origin",fetchOptions:se}=Di(d);M=M?(M+"").toLowerCase():"text";let te=Il([T,C&&C.toAbortSignal()],S),J;const $=te&&te.unsubscribe&&(()=>{te.unsubscribe()});let _e;try{if(W&&Dl&&b!=="get"&&b!=="head"&&(_e=await Ml(U,w))!==0){let at=new Request(g,{method:"POST",body:w,duplex:"half"}),Ct;if(I.isFormData(w)&&(Ct=at.headers.get("content-type"))&&U.setContentType(Ct),at.body){const[hr,vn]=Pi(_e,pn(Li(W)));w=Fi(at.body,Bi,hr,vn)}}I.isString(Z)||(Z=Z?"include":"omit");const ge="credentials"in Request.prototype;J=new Request(g,{...se,signal:te,method:b.toUpperCase(),headers:U.normalize().toJSON(),body:w,duplex:"half",credentials:ge?Z:void 0});let pe=await fetch(J);const st=ur&&(M==="stream"||M==="response");if(ur&&(F||st&&$)){const at={};["status","statusText","headers"].forEach(Wi=>{at[Wi]=pe[Wi]});const Ct=I.toFiniteNumber(pe.headers.get("content-length")),[hr,vn]=F&&Pi(Ct,pn(Li(F),!0))||[];pe=new Response(Fi(pe.body,Bi,hr,()=>{vn&&vn(),$&&$()}),at)}M=M||"text";let Ht=await hn[I.findKey(hn,M)||"text"](pe,d);return!st&&$&&$(),await new Promise((at,Ct)=>{Ii(at,Ct,{data:Ht,headers:Be.from(pe.headers),status:pe.status,statusText:pe.statusText,config:d,request:J})})}catch(ge){throw $&&$(),ge&&ge.name==="TypeError"&&/fetch/i.test(ge.message)?Object.assign(new ee("Network Error",ee.ERR_NETWORK,d,J),{cause:ge.cause||ge}):ee.from(ge,ge&&ge.code,d,J)}});const cr={http:N,xhr:Ol,fetch:jl};I.forEach(cr,(d,g)=>{if(d){try{Object.defineProperty(d,"name",{value:g})}catch{}Object.defineProperty(d,"adapterName",{value:g})}});const zi=d=>`- ${d}`,Bl=d=>I.isFunction(d)||d===null||d===!1;var Ui={getAdapter:d=>{d=I.isArray(d)?d:[d];const{length:g}=d;let b,w;const T={};for(let C=0;C`adapter ${F} `+(W===!1?"is not supported by the environment":"is not available in the build"));let S=g?C.length>1?`since :
`+C.map(zi).join(`
`):" "+zi(C[0]):"as no adapter specified";throw new ee("There is no suitable adapter to dispatch the request "+S,"ERR_NOT_SUPPORT")}return w},adapters:cr};function fr(d){if(d.cancelToken&&d.cancelToken.throwIfRequested(),d.signal&&d.signal.aborted)throw new Tt(null,d)}function Hi(d){return fr(d),d.headers=Be.from(d.headers),d.data=lr.call(d,d.transformRequest),["post","put","patch"].indexOf(d.method)!==-1&&d.headers.setContentType("application/x-www-form-urlencoded",!1),Ui.getAdapter(d.adapter||sr.adapter)(d).then(function(g){return fr(d),g.data=lr.call(d,d.transformResponse,g),g.headers=Be.from(g.headers),g},function(g){return Oi(g)||(fr(d),g&&g.response&&(g.response.data=lr.call(d,d.transformResponse,g.response),g.response.headers=Be.from(g.response.headers))),Promise.reject(g)})}const qi="1.8.2",mn={};["object","boolean","number","function","string","symbol"].forEach((d,g)=>{mn[d]=function(b){return typeof b===d||"a"+(g<1?"n ":" ")+d}});const Vi={};mn.transitional=function(d,g,b){function w(T,C){return"[Axios v"+qi+"] Transitional option '"+T+"'"+C+(b?". "+b:"")}return(T,C,S)=>{if(d===!1)throw new ee(w(C," has been removed"+(g?" in "+g:"")),ee.ERR_DEPRECATED);return g&&!Vi[C]&&(Vi[C]=!0,console.warn(w(C," has been deprecated since v"+g+" and will be removed in the near future"))),d?d(T,C,S):!0}},mn.spelling=function(d){return(g,b)=>(console.warn(`${b} is likely a misspelling of ${d}`),!0)};function zl(d,g,b){if(typeof d!="object")throw new ee("options must be an object",ee.ERR_BAD_OPTION_VALUE);const w=Object.keys(d);let T=w.length;for(;T-- >0;){const C=w[T],S=g[C];if(S){const F=d[C],W=F===void 0||S(F,C,d);if(W!==!0)throw new ee("option "+C+" must be "+W,ee.ERR_BAD_OPTION_VALUE);continue}if(b!==!0)throw new ee("Unknown option "+C,ee.ERR_BAD_OPTION)}}var gn={assertOptions:zl,validators:mn};const qe=gn.validators;class yn{constructor(g){this.defaults=g,this.interceptors={request:new Ti,response:new Ti}}async request(g,b){try{return await this._request(g,b)}catch(w){if(w instanceof Error){let T={};Error.captureStackTrace?Error.captureStackTrace(T):T=new Error;const C=T.stack?T.stack.replace(/^.+\n/,""):"";try{w.stack?C&&!String(w.stack).endsWith(C.replace(/^.+\n.+\n/,""))&&(w.stack+=`
`+C):w.stack=C}catch{}}throw w}}_request(g,b){typeof g=="string"?(b=b||{},b.url=g):b=g||{},b=yt(this.defaults,b);const{transitional:w,paramsSerializer:T,headers:C}=b;w!==void 0&&gn.assertOptions(w,{silentJSONParsing:qe.transitional(qe.boolean),forcedJSONParsing:qe.transitional(qe.boolean),clarifyTimeoutError:qe.transitional(qe.boolean)},!1),T!=null&&(I.isFunction(T)?b.paramsSerializer={serialize:T}:gn.assertOptions(T,{encode:qe.function,serialize:qe.function},!0)),b.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?b.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:b.allowAbsoluteUrls=!0),gn.assertOptions(b,{baseUrl:qe.spelling("baseURL"),withXsrfToken:qe.spelling("withXSRFToken")},!0),b.method=(b.method||this.defaults.method||"get").toLowerCase();let S=C&&I.merge(C.common,C[b.method]);C&&I.forEach(["delete","get","head","post","put","patch","common"],J=>{delete C[J]}),b.headers=Be.concat(S,C);const F=[];let W=!0;this.interceptors.request.forEach(function(J){typeof J.runWhen=="function"&&J.runWhen(b)===!1||(W=W&&J.synchronous,F.unshift(J.fulfilled,J.rejected))});const M=[];this.interceptors.response.forEach(function(J){M.push(J.fulfilled,J.rejected)});let U,Z=0,se;if(!W){const J=[Hi.bind(this),void 0];for(J.unshift.apply(J,F),J.push.apply(J,M),se=J.length,U=Promise.resolve(b);Z{if(!w._listeners)return;let C=w._listeners.length;for(;C-- >0;)w._listeners[C](T);w._listeners=null}),this.promise.then=T=>{let C;const S=new Promise(F=>{w.subscribe(F),C=F}).then(T);return S.cancel=function(){w.unsubscribe(C)},S},g(function(T,C,S){w.reason||(w.reason=new Tt(T,C,S),b(w.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(g){if(this.reason){g(this.reason);return}this._listeners?this._listeners.push(g):this._listeners=[g]}unsubscribe(g){if(!this._listeners)return;const b=this._listeners.indexOf(g);b!==-1&&this._listeners.splice(b,1)}toAbortSignal(){const g=new AbortController,b=w=>{g.abort(w)};return this.subscribe(b),g.signal.unsubscribe=()=>this.unsubscribe(b),g.signal}static source(){let g;return{token:new pr(function(b){g=b}),cancel:g}}}var Ul=pr;function Hl(d){return function(g){return d.apply(null,g)}}function ql(d){return I.isObject(d)&&d.isAxiosError===!0}const dr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(dr).forEach(([d,g])=>{dr[g]=d});var Vl=dr;function $i(d){const g=new _n(d),b=e(_n.prototype.request,g);return I.extend(b,_n.prototype,g,{allOwnKeys:!0}),I.extend(b,g,null,{allOwnKeys:!0}),b.create=function(w){return $i(yt(d,w))},b}const de=$i(sr);return de.Axios=_n,de.CanceledError=Tt,de.CancelToken=Ul,de.isCancel=Oi,de.VERSION=qi,de.toFormData=Me,de.AxiosError=ee,de.Cancel=de.CanceledError,de.all=function(d){return Promise.all(d)},de.spread=Hl,de.isAxiosError=ql,de.mergeConfig=yt,de.AxiosHeaders=Be,de.formToJSON=d=>Si(I.isHTMLForm(d)?new FormData(d):d),de.getAdapter=Ui.getAdapter,de.HttpStatusCode=Vl,de.default=de,Br=de,Br}var vs={},bs={},ws;function rl(){return ws||(ws=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const n=lu(),t=uu(),r=c=>c&&c.__esModule?c:{default:c},i=r(n),s=r(t);class a{bus;constructor(h){typeof h.getVersion!="function"||!i.default(h.getVersion())?console.warn("Proxying an event bus with an unknown or invalid version"):s.default(h.getVersion())!==s.default(this.getVersion())&&console.warn("Proxying an event bus of version "+h.getVersion()+" with "+this.getVersion()),this.bus=h}getVersion(){return"3.3.2"}subscribe(h,y){this.bus.subscribe(h,y)}unsubscribe(h,y){this.bus.unsubscribe(h,y)}emit(h,...y){this.bus.emit(h,...y)}}class u{handlers=new Map;getVersion(){return"3.3.2"}subscribe(h,y){this.handlers.set(h,(this.handlers.get(h)||[]).concat(y))}unsubscribe(h,y){this.handlers.set(h,(this.handlers.get(h)||[]).filter(v=>v!==y))}emit(h,...y){(this.handlers.get(h)||[]).forEach(v=>{try{v(y[0])}catch(_){console.error("could not invoke event listener",_)}})}}let f=null;function p(){return f!==null?f:typeof window>"u"?new Proxy({},{get:()=>()=>console.error("Window not available, EventBus can not be established!")}):(window.OC?._eventBus&&typeof window._nc_event_bus>"u"&&(console.warn("found old event bus instance at OC._eventBus. Update your version!"),window._nc_event_bus=window.OC._eventBus),typeof window?._nc_event_bus<"u"?f=new a(window._nc_event_bus):f=window._nc_event_bus=new u,f)}function m(c,h){p().subscribe(c,h)}function o(c,h){p().unsubscribe(c,h)}function l(c,...h){p().emit(c,...h)}e.ProxyBus=a,e.SimpleBus=u,e.emit=l,e.subscribe=m,e.unsubscribe=o}(bs)),bs}var xs;function dv(){return xs||(xs=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const n=rl(),t=cu();let r;const i=[];function s(){return r===void 0&&(r=document.head.dataset.requesttoken??null),r}function a(h){i.push(h)}n.subscribe("csrf-token-update",h=>{r=h.token,i.forEach(y=>{try{y(r)}catch(v){console.error("Error updating CSRF token observer",v)}})});function u(){const h=document?.querySelector('meta[name="csp-nonce"]');if(!h){const y=s();return y?btoa(y):void 0}return h.nonce}const f=t.getBuilder("public").persist().build();function p(){return f.getItem("guestNickname")}function m(h){f.setItem("guestNickname",h)}let o;const l=(h,y)=>h?h.getAttribute(y):null;function c(){if(o!==void 0)return o;const h=document?.getElementsByTagName("head")[0];if(!h)return null;const y=l(h,"data-user");return y===null?(o=null,o):(o={uid:y,displayName:l(h,"data-user-displayname"),isAdmin:!!window._oc_isadmin},o)}e.getCSPNonce=u,e.getCurrentUser=c,e.getGuestNickname=p,e.getRequestToken=s,e.onRequestTokenUpdate=a,e.setGuestNickname=m}(vs)),vs}var ks={},As;function hv(){return As||(As=1,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const n=(l,c)=>f(l,"",c),t=l=>"/remote.php/"+l,r=(l,c)=>{var h;return((h=c?.baseURL)!=null?h:p())+t(l)},i=(l,c,h)=>{var y;const v=Object.assign({ocsVersion:2},h||{}).ocsVersion===1?1:2;return((y=h?.baseURL)!=null?y:p())+"/ocs/v"+v+".php"+s(l,c,h)},s=(l,c,h)=>{const y=Object.assign({escape:!0},h||{}),v=function(_,A){return A=A||{},_.replace(/{([^{}]*)}/g,function(E,L){const j=A[L];return y.escape?encodeURIComponent(typeof j=="string"||typeof j=="number"?j.toString():E):typeof j=="string"||typeof j=="number"?j.toString():E})};return l.charAt(0)!=="/"&&(l="/"+l),v(l,c||{})},a=(l,c,h)=>{var y,v,_;const A=Object.assign({noRewrite:!1},h||{}),E=(y=h?.baseURL)!=null?y:m();return((_=(v=window?.OC)==null?void 0:v.config)==null?void 0:_.modRewriteWorking)===!0&&!A.noRewrite?E+s(l,c,h):E+"/index.php"+s(l,c,h)},u=(l,c)=>c.includes(".")?f(l,"img",c):f(l,"img","".concat(c,".svg")),f=(l,c,h)=>{var y,v,_;const A=(_=(v=(y=window?.OC)==null?void 0:y.coreApps)==null?void 0:v.includes(l))!=null?_:!1,E=h.slice(-3)==="php";let L=m();return E&&!A?(L+="/index.php/apps/".concat(l),c&&(L+="/".concat(encodeURI(c))),h!=="index.php"&&(L+="/".concat(h))):!E&&!A?(L=o(l),c&&(L+="/".concat(c,"/")),L.at(-1)!=="/"&&(L+="/"),L+=h):((l==="settings"||l==="core"||l==="search")&&c==="ajax"&&(L+="/index.php"),l&&(L+="/".concat(l)),c&&(L+="/".concat(c)),L+="/".concat(h)),L},p=()=>window.location.protocol+"//"+window.location.host+m();function m(){let l=window._oc_webroot;if(typeof l>"u"){l=location.pathname;const c=l.indexOf("/index.php/");if(c!==-1)l=l.slice(0,c);else{const h=l.indexOf("/",1);l=l.slice(0,h>0?h:void 0)}}return l}function o(l){var c,h;return(h=((c=window._oc_appswebroots)!=null?c:{})[l])!=null?h:""}e.generateFilePath=f,e.generateOcsUrl=i,e.generateRemoteUrl=r,e.generateUrl=a,e.getAppRootUrl=o,e.getBaseUrl=p,e.getRootUrl=m,e.imagePath=u,e.linkTo=n}(ks)),ks}var Ts;function mv(){return Ts||(Ts=1,function(e){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=pv(),t=dv(),r=hv(),i=(c=>c&&c.__esModule?c:{default:c})(n),s=Symbol("csrf-retry"),a=c=>async h=>{var y;const{config:v,response:_,request:A}=h,E=A?.responseURL;if(_?.status===412&&((y=_?.data)==null?void 0:y.message)==="CSRF check failed"&&v[s]===void 0){console.warn("Request to ".concat(E," failed because of a CSRF mismatch. Fetching a new token"));const{data:{token:L}}=await c.get(r.generateUrl("/csrftoken"));return console.debug("New request token ".concat(L," fetched")),c.defaults.headers.requesttoken=L,c({...v,headers:{...v.headers,requesttoken:L},[s]:!0})}return Promise.reject(h)},u=Symbol("retryDelay"),f=c=>async h=>{var y;const{config:v,response:_,request:A}=h,E=A?.responseURL,L=_?.status,j=_?.headers;if(L===503&&j["x-nextcloud-maintenance-mode"]==="1"&&v.retryIfMaintenanceMode&&(!v[u]||v[u]<=32)){const P=((y=v[u])!=null?y:1)*2;return console.warn("Request to ".concat(E," failed because of maintenance mode. Retrying in ").concat(P,"s")),await new Promise(G=>{setTimeout(G,P*1e3)}),c({...v,[u]:P})}return Promise.reject(h)},p=async c=>{var h;const{config:y,response:v,request:_}=c,A=_?.responseURL;return v?.status===401&&((h=v?.data)==null?void 0:h.message)==="Current user is not logged in"&&y.reloadExpiredSession&&window?.location&&(console.error("Request to ".concat(A," failed because the user session expired. Reloading the page …")),window.location.reload()),Promise.reject(c)};var m;const o=i.default.create({headers:{requesttoken:(m=t.getRequestToken())!=null?m:"","X-Requested-With":"XMLHttpRequest"}}),l=Object.assign(o,{CancelToken:i.default.CancelToken,isCancel:i.default.isCancel});l.interceptors.response.use(c=>c,a(l)),l.interceptors.response.use(c=>c,f(l)),l.interceptors.response.use(c=>c,p),t.onRequestTokenUpdate(c=>{o.defaults.headers.requesttoken=c}),Object.defineProperty(e,"isAxiosError",{enumerable:!0,get:()=>n.isAxiosError}),Object.defineProperty(e,"isCancel",{enumerable:!0,get:()=>n.isCancel}),e.default=l}(ys)),ys}var Cs;function gv(){if(Cs)return Ke;Cs=1;var e=Ke&&Ke.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.listen=Ke.getSupportedTypes=void 0;const n=fv(),t=e(mv()),r=rl();function i(){const f=(0,n.getCapabilities)();return f.notify_push?f.notify_push.type:[]}Ke.getSupportedTypes=i;function s(f,p,m={}){return a(m),window._notify_push_listeners[f]||(window._notify_push_listeners[f]=[]),window._notify_push_listeners[f].push(p),window._notify_push_ws!==null&&typeof window._notify_push_ws=="object"?window._notify_push_ws.send("listen "+f):u(m),window._notify_push_available}Ke.listen=s;function a(f={}){typeof window._notify_push_listeners>"u"&&(window._notify_push_listeners={},window._notify_push_ws=null,window._notify_push_online=!0,window._notify_push_available=!1,window._notify_push_error_count=0,(0,r.subscribe)("networkOffline",()=>{window._notify_push_online=!1,window._notify_push_ws=null}),(0,r.subscribe)("networkOnline",()=>{window._notify_push_error_count=0,window._notify_push_online=!0,u(f)}))}async function u(f={}){if(window._notify_push_ws)return!0;window._notify_push_ws=!0;const p=(0,n.getCapabilities)();if(!p.notify_push)return window._notify_push_available=!1,window._notify_push_ws=null,!1;window._notify_push_available=!0;let m;return f.credentials||(m=(await t.default.post(p.notify_push.endpoints.pre_auth)).data),window._notify_push_ws=new WebSocket(p.notify_push.endpoints.websocket),window._notify_push_ws.onopen=()=>{if(typeof window._notify_push_ws=="object"&&window._notify_push_ws){m?(window._notify_push_ws.send(""),window._notify_push_ws.send(m)):f.credentials&&(window._notify_push_ws.send(f.credentials.username),window._notify_push_ws.send(f.credentials.password));for(let o in window._notify_push_listeners)window._notify_push_ws.send("listen "+o)}},window._notify_push_ws.onmessage=o=>{if(o.data==="authenticated")window._notify_push_error_count=0;else{const l=o.data.indexOf(" ");let[c,h]=l>0?[o.data.slice(0,l),o.data.slice(l+1)]:[o.data,null];if(h&&(h=JSON.parse(h)),window._notify_push_listeners[c])for(let y of window._notify_push_listeners[c])y(c,h)}},window._notify_push_ws.onerror=window._notify_push_ws.onclose=()=>{window._notify_push_ws=null,window._notify_push_error_count+=1,setTimeout(()=>{window._notify_push_online&&u(f)},1e3*window._notify_push_error_count)},!0}return Ke}var yv=gv();const _v={props:{excludeClickOutsideSelectors:{type:[String,Array],default:()=>[]}},computed:{clickOutsideOptions(){return{ignore:Array.isArray(this.excludeClickOutsideSelectors)?this.excludeClickOutsideSelectors:[this.excludeClickOutsideSelectors]}}}},vv={name:"NcHeaderMenu",components:{NcButton:Mt},directives:{ClickOutside:Au},mixins:[_v],props:{id:{type:String,required:!0},ariaLabel:{type:String,default:""},open:{type:Boolean,default:!1},isNav:{type:Boolean,default:!1},description:{type:String,default:null}},emits:["close","closed","open","opened","update:open","cancel"],data(){return{focusTrap:null,opened:this.open,shortcutsDisabled:window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),triggerId:Zt(),descriptionId:Zt()}},computed:{wrapperTag(){return this.isNav?"nav":"div"},clickOutsideConfig(){return[this.closeMenu,this.clickOutsideOptions]},listeners(){return this.isNav?{focusout:this.onFocusOut}:null}},watch:{open(e){e?this.openMenu():this.closeMenu()}},mounted(){document.addEventListener("keydown",this.onKeyDown)},beforeDestroy(){document.removeEventListener("keydown",this.onKeyDown)},methods:{toggleMenu(){this.opened?this.closeMenu():this.openMenu()},closeMenu(e=!1){this.opened=!1,this.$emit(e?"cancel":"close"),this.$emit("update:open",!1),this.clearFocusTrap(),this.$nextTick(()=>{this.$emit("closed")})},openMenu(){this.opened=!0,this.$emit("open"),this.$emit("update:open",!0),this.$nextTick(()=>{this.useFocusTrap(),this.$emit("opened")})},onKeyDown(e){this.shortcutsDisabled||!this.opened||e.key==="Escape"&&(e.preventDefault(),this.closeMenu(!0))},onFocusOut(e){this.$refs.headerMenu.contains(e.relatedTarget)||this.closeMenu()},async useFocusTrap(){if(this.isNav||this.focusTrap)return;const e=this.$refs.content;this.focusTrap=fu(e,{allowOutsideClick:!0,trapStack:pu(),fallbackFocus:this.$refs.trigger.$el}),this.focusTrap.activate()},clearFocusTrap(){this.focusTrap?.deactivate(),this.focusTrap=null}}};var bv=function(){var e=this,n=e._self._c;return n(e.wrapperTag,e._g({directives:[{name:"click-outside",rawName:"v-click-outside",value:e.clickOutsideConfig,expression:"clickOutsideConfig"}],ref:"headerMenu",tag:"component",staticClass:"header-menu",class:{"header-menu--opened":e.opened},attrs:{id:e.id,"aria-labelledby":e.isNav?e.triggerId:null}},e.listeners),[n("NcButton",{ref:"trigger",staticClass:"header-menu__trigger",attrs:{id:e.isNav?e.triggerId:null,"aria-controls":`header-menu-${e.id}`,"aria-describedby":e.description?e.descriptionId:null,"aria-expanded":e.opened.toString(),"aria-label":e.ariaLabel,size:"large",variant:"tertiary-no-background"},on:{click:function(t){return t.preventDefault(),e.toggleMenu.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("trigger")]},proxy:!0}],null,!0)}),e.description?n("span",{staticClass:"header-menu__description hidden-visually",attrs:{id:e.descriptionId}},[e._v(" "+e._s(e.description)+" ")]):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:e.opened,expression:"opened"}],staticClass:"header-menu__carret"}),n("div",{directives:[{name:"show",rawName:"v-show",value:e.opened,expression:"opened"}],staticClass:"header-menu__wrapper",attrs:{id:`header-menu-${e.id}`}},[n("div",{ref:"content",staticClass:"header-menu__content"},[e._t("default")],2)])],1)},wv=[],xv=rt(vv,bv,wv,!1,null,"3bb5f81f");const kv=xv.exports;var Ss={},Es;function Av(){return Es||(Es=1,function(e){(function(){var n=function(){this.init()};n.prototype={init:function(){var o=this||t;return o._counter=1e3,o._html5AudioPool=[],o.html5PoolSize=10,o._codecs={},o._howls=[],o._muted=!1,o._volume=1,o._canPlayEvent="canplaythrough",o._navigator=typeof window<"u"&&window.navigator?window.navigator:null,o.masterGain=null,o.noAudio=!1,o.usingWebAudio=!0,o.autoSuspend=!0,o.ctx=null,o.autoUnlock=!0,o._setup(),o},volume:function(o){var l=this||t;if(o=parseFloat(o),l.ctx||m(),typeof o<"u"&&o>=0&&o<=1){if(l._volume=o,l._muted)return l;l.usingWebAudio&&l.masterGain.gain.setValueAtTime(o,t.ctx.currentTime);for(var c=0;c=0;l--)o._howls[l].unload();return o.usingWebAudio&&o.ctx&&typeof o.ctx.close<"u"&&(o.ctx.close(),o.ctx=null,m()),o},codecs:function(o){return(this||t)._codecs[o.replace(/^x-/,"")]},_setup:function(){var o=this||t;if(o.state=o.ctx&&o.ctx.state||"suspended",o._autoSuspend(),!o.usingWebAudio)if(typeof Audio<"u")try{var l=new Audio;typeof l.oncanplaythrough>"u"&&(o._canPlayEvent="canplay")}catch{o.noAudio=!0}else o.noAudio=!0;try{var l=new Audio;l.muted&&(o.noAudio=!0)}catch{}return o.noAudio||o._setupCodecs(),o},_setupCodecs:function(){var o=this||t,l=null;try{l=typeof Audio<"u"?new Audio:null}catch{return o}if(!l||typeof l.canPlayType!="function")return o;var c=l.canPlayType("audio/mpeg;").replace(/^no$/,""),h=o._navigator?o._navigator.userAgent:"",y=h.match(/OPR\/(\d+)/g),v=y&&parseInt(y[0].split("/")[1],10)<33,_=h.indexOf("Safari")!==-1&&h.indexOf("Chrome")===-1,A=h.match(/Version\/(.*?) /),E=_&&A&&parseInt(A[1],10)<15;return o._codecs={mp3:!!(!v&&(c||l.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!c,opus:!!l.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(l.canPlayType('audio/wav; codecs="1"')||l.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!l.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!l.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(l.canPlayType("audio/x-m4a;")||l.canPlayType("audio/m4a;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(l.canPlayType("audio/x-m4b;")||l.canPlayType("audio/m4b;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(l.canPlayType("audio/x-mp4;")||l.canPlayType("audio/mp4;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!E&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!E&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!l.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(l.canPlayType("audio/x-flac;")||l.canPlayType("audio/flac;")).replace(/^no$/,"")},o},_unlockAudio:function(){var o=this||t;if(!(o._audioUnlocked||!o.ctx)){o._audioUnlocked=!1,o.autoUnlock=!1,!o._mobileUnloaded&&o.ctx.sampleRate!==44100&&(o._mobileUnloaded=!0,o.unload()),o._scratchBuffer=o.ctx.createBuffer(1,1,22050);var l=function(c){for(;o._html5AudioPool.length"u"?E.noteOn(0):E.start(0),typeof o.ctx.resume=="function"&&o.ctx.resume(),E.onended=function(){E.disconnect(0),o._audioUnlocked=!0,document.removeEventListener("touchstart",l,!0),document.removeEventListener("touchend",l,!0),document.removeEventListener("click",l,!0),document.removeEventListener("keydown",l,!0);for(var L=0;L"u"||!t.usingWebAudio)){for(var l=0;l"u"||!t.usingWebAudio))return o.state==="running"&&o.ctx.state!=="interrupted"&&o._suspendTimer?(clearTimeout(o._suspendTimer),o._suspendTimer=null):o.state==="suspended"||o.state==="running"&&o.ctx.state==="interrupted"?(o.ctx.resume().then(function(){o.state="running";for(var l=0;l"u"&&(o="__default",!c._playLock)){for(var y=0,v=0;v0?_._seek:c._sprite[o][0]/1e3),L=Math.max(0,(c._sprite[o][0]+c._sprite[o][1])/1e3-E),j=L*1e3/Math.abs(_._rate),P=c._sprite[o][0]/1e3,G=(c._sprite[o][0]+c._sprite[o][1])/1e3;_._sprite=o,_._ended=!1;var K=function(){_._paused=!1,_._seek=E,_._start=P,_._stop=G,_._loop=!!(_._loop||c._sprite[o][2])};if(E>=G){c._ended(_);return}var H=_._node;if(c._webAudio){var O=function(){c._playLock=!1,K(),c._refreshBuffer(_);var B=_._muted||c._muted?0:_._volume;H.gain.setValueAtTime(B,t.ctx.currentTime),_._playStart=t.ctx.currentTime,typeof H.bufferSource.start>"u"?_._loop?H.bufferSource.noteGrainOn(0,E,86400):H.bufferSource.noteGrainOn(0,E,L):_._loop?H.bufferSource.start(0,E,86400):H.bufferSource.start(0,E,L),j!==1/0&&(c._endTimers[_._id]=setTimeout(c._ended.bind(c,_),j)),l||setTimeout(function(){c._emit("play",_._id),c._loadQueue()},0)};t.state==="running"&&t.ctx.state!=="interrupted"?O():(c._playLock=!0,c.once("resume",O),c._clearTimer(_._id))}else{var z=function(){H.currentTime=E,H.muted=_._muted||c._muted||t._muted||H.muted,H.volume=_._volume*t.volume(),H.playbackRate=_._rate;try{var B=H.play();if(B&&typeof Promise<"u"&&(B instanceof Promise||typeof B.then=="function")?(c._playLock=!0,K(),B.then(function(){c._playLock=!1,H._unlocked=!0,l?c._loadQueue():c._emit("play",_._id)}).catch(function(){c._playLock=!1,c._emit("playerror",_._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),_._ended=!0,_._paused=!0})):l||(c._playLock=!1,K(),c._emit("play",_._id)),H.playbackRate=_._rate,H.paused){c._emit("playerror",_._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}o!=="__default"||_._loop?c._endTimers[_._id]=setTimeout(c._ended.bind(c,_),j):(c._endTimers[_._id]=function(){c._ended(_),H.removeEventListener("ended",c._endTimers[_._id],!1)},H.addEventListener("ended",c._endTimers[_._id],!1))}catch(X){c._emit("playerror",_._id,X)}};H.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(H.src=c._src,H.load());var V=window&&window.ejecta||!H.readyState&&t._navigator.isCocoonJS;if(H.readyState>=3||V)z();else{c._playLock=!0,c._state="loading";var q=function(){c._state="loaded",z(),H.removeEventListener(t._canPlayEvent,q,!1)};H.addEventListener(t._canPlayEvent,q,!1),c._clearTimer(_._id)}}return _._id},pause:function(o){var l=this;if(l._state!=="loaded"||l._playLock)return l._queue.push({event:"pause",action:function(){l.pause(o)}}),l;for(var c=l._getSoundIds(o),h=0;h"u"?y._node.bufferSource.noteOff(0):y._node.bufferSource.stop(0),l._cleanBuffer(y._node)}else(!isNaN(y._node.duration)||y._node.duration===1/0)&&y._node.pause();arguments[1]||l._emit("pause",y?y._id:null)}return l},stop:function(o,l){var c=this;if(c._state!=="loaded"||c._playLock)return c._queue.push({event:"stop",action:function(){c.stop(o)}}),c;for(var h=c._getSoundIds(o),y=0;y"u"?v._node.bufferSource.noteOff(0):v._node.bufferSource.stop(0),c._cleanBuffer(v._node)):(!isNaN(v._node.duration)||v._node.duration===1/0)&&(v._node.currentTime=v._start||0,v._node.pause(),v._node.duration===1/0&&c._clearSound(v._node))),l||c._emit("stop",v._id))}return c},mute:function(o,l){var c=this;if(c._state!=="loaded"||c._playLock)return c._queue.push({event:"mute",action:function(){c.mute(o,l)}}),c;if(typeof l>"u")if(typeof o=="boolean")c._muted=o;else return c._muted;for(var h=c._getSoundIds(l),y=0;y"u"){var y=o._getSoundIds(),v=y.indexOf(l[0]);v>=0?h=parseInt(l[0],10):c=parseFloat(l[0])}else l.length>=2&&(c=parseFloat(l[0]),h=parseInt(l[1],10));var _;if(typeof c<"u"&&c>=0&&c<=1){if(o._state!=="loaded"||o._playLock)return o._queue.push({event:"volume",action:function(){o.volume.apply(o,l)}}),o;typeof h>"u"&&(o._volume=c),h=o._getSoundIds(h);for(var A=0;A"u")}}return y},_startFadeInterval:function(o,l,c,h,y,v){var _=this,A=l,E=c-l,L=Math.abs(E/.01),j=Math.max(4,L>0?h/L:h),P=Date.now();o._fadeTo=c,o._interval=setInterval(function(){var G=(Date.now()-P)/h;P=Date.now(),A+=E*G,A=Math.round(A*100)/100,E<0?A=Math.max(c,A):A=Math.min(c,A),_._webAudio?o._volume=A:_.volume(A,o._id,!0),v&&(_._volume=A),(cl&&A>=c)&&(clearInterval(o._interval),o._interval=null,o._fadeTo=null,_.volume(c,o._id),_._emit("fade",o._id))},j)},_stopFade:function(o){var l=this,c=l._soundById(o);return c&&c._interval&&(l._webAudio&&c._node.gain.cancelScheduledValues(t.ctx.currentTime),clearInterval(c._interval),c._interval=null,l.volume(c._fadeTo,o),c._fadeTo=null,l._emit("fade",o)),l},loop:function(){var o=this,l=arguments,c,h,y;if(l.length===0)return o._loop;if(l.length===1)if(typeof l[0]=="boolean")c=l[0],o._loop=c;else return y=o._soundById(parseInt(l[0],10)),y?y._loop:!1;else l.length===2&&(c=l[0],h=parseInt(l[1],10));for(var v=o._getSoundIds(h),_=0;_=0?h=parseInt(l[0],10):c=parseFloat(l[0])}else l.length===2&&(c=parseFloat(l[0]),h=parseInt(l[1],10));var _;if(typeof c=="number"){if(o._state!=="loaded"||o._playLock)return o._queue.push({event:"rate",action:function(){o.rate.apply(o,l)}}),o;typeof h>"u"&&(o._rate=c),h=o._getSoundIds(h);for(var A=0;A=0?h=parseInt(l[0],10):o._sounds.length&&(h=o._sounds[0]._id,c=parseFloat(l[0]))}else l.length===2&&(c=parseFloat(l[0]),h=parseInt(l[1],10));if(typeof h>"u")return 0;if(typeof c=="number"&&(o._state!=="loaded"||o._playLock))return o._queue.push({event:"seek",action:function(){o.seek.apply(o,l)}}),o;var _=o._soundById(h);if(_)if(typeof c=="number"&&c>=0){var A=o.playing(h);A&&o.pause(h,!0),_._seek=c,_._ended=!1,o._clearTimer(h),!o._webAudio&&_._node&&!isNaN(_._node.duration)&&(_._node.currentTime=c);var E=function(){A&&o.play(h,!0),o._emit("seek",h)};if(A&&!o._webAudio){var L=function(){o._playLock?setTimeout(L,0):E()};setTimeout(L,0)}else E()}else if(o._webAudio){var j=o.playing(h)?t.ctx.currentTime-_._playStart:0,P=_._rateSeek?_._rateSeek-_._seek:0;return _._seek+(P+j*Math.abs(_._rate))}else return _._node.currentTime;return o},playing:function(o){var l=this;if(typeof o=="number"){var c=l._soundById(o);return c?!c._paused:!1}for(var h=0;h=0&&t._howls.splice(h,1);var y=!0;for(c=0;c=0){y=!1;break}return s&&y&&delete s[o._src],t.noAudio=!1,o._state="unloaded",o._sounds=[],o=null,null},on:function(o,l,c,h){var y=this,v=y["_on"+o];return typeof l=="function"&&v.push(h?{id:c,fn:l,once:h}:{id:c,fn:l}),y},off:function(o,l,c){var h=this,y=h["_on"+o],v=0;if(typeof l=="number"&&(c=l,l=null),l||c)for(v=0;v=0;v--)(!y[v].id||y[v].id===l||o==="load")&&(setTimeout(function(_){_.call(this,l,c)}.bind(h,y[v].fn),0),y[v].once&&h.off(o,y[v].fn,y[v].id));return h._loadQueue(o),h},_loadQueue:function(o){var l=this;if(l._queue.length>0){var c=l._queue[0];c.event===o&&(l._queue.shift(),l._loadQueue()),o||c.action()}return l},_ended:function(o){var l=this,c=o._sprite;if(!l._webAudio&&o._node&&!o._node.paused&&!o._node.ended&&o._node.currentTime=0;h--){if(c<=l)return;o._sounds[h]._ended&&(o._webAudio&&o._sounds[h]._node&&o._sounds[h]._node.disconnect(0),o._sounds.splice(h,1),c--)}}},_getSoundIds:function(o){var l=this;if(typeof o>"u"){for(var c=[],h=0;h=0;if(!o.bufferSource)return l;if(t._scratchBuffer&&o.bufferSource&&(o.bufferSource.onended=null,o.bufferSource.disconnect(0),c))try{o.bufferSource.buffer=t._scratchBuffer}catch{}return o.bufferSource=null,l},_clearSound:function(o){var l=/MSIE |Trident\//.test(t._navigator&&t._navigator.userAgent);l||(o.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var i=function(o){this._parent=o,this.init()};i.prototype={init:function(){var o=this,l=o._parent;return o._muted=l._muted,o._loop=l._loop,o._volume=l._volume,o._rate=l._rate,o._seek=0,o._paused=!0,o._ended=!0,o._sprite="__default",o._id=++t._counter,l._sounds.push(o),o.create(),o},create:function(){var o=this,l=o._parent,c=t._muted||o._muted||o._parent._muted?0:o._volume;return l._webAudio?(o._node=typeof t.ctx.createGain>"u"?t.ctx.createGainNode():t.ctx.createGain(),o._node.gain.setValueAtTime(c,t.ctx.currentTime),o._node.paused=!0,o._node.connect(t.masterGain)):t.noAudio||(o._node=t._obtainHtml5Audio(),o._errorFn=o._errorListener.bind(o),o._node.addEventListener("error",o._errorFn,!1),o._loadFn=o._loadListener.bind(o),o._node.addEventListener(t._canPlayEvent,o._loadFn,!1),o._endFn=o._endListener.bind(o),o._node.addEventListener("ended",o._endFn,!1),o._node.src=l._src,o._node.preload=l._preload===!0?"auto":l._preload,o._node.volume=c*t.volume(),o._node.load()),o},reset:function(){var o=this,l=o._parent;return o._muted=l._muted,o._loop=l._loop,o._volume=l._volume,o._rate=l._rate,o._seek=0,o._rateSeek=0,o._paused=!0,o._ended=!0,o._sprite="__default",o._id=++t._counter,o},_errorListener:function(){var o=this;o._parent._emit("loaderror",o._id,o._node.error?o._node.error.code:0),o._node.removeEventListener("error",o._errorFn,!1)},_loadListener:function(){var o=this,l=o._parent;l._duration=Math.ceil(o._node.duration*10)/10,Object.keys(l._sprite).length===0&&(l._sprite={__default:[0,l._duration*1e3]}),l._state!=="loaded"&&(l._state="loaded",l._emit("load"),l._loadQueue()),o._node.removeEventListener(t._canPlayEvent,o._loadFn,!1)},_endListener:function(){var o=this,l=o._parent;l._duration===1/0&&(l._duration=Math.ceil(o._node.duration*10)/10,l._sprite.__default[1]===1/0&&(l._sprite.__default[1]=l._duration*1e3),l._ended(o)),o._node.removeEventListener("ended",o._endFn,!1)}};var s={},a=function(o){var l=o._src;if(s[l]){o._duration=s[l].duration,p(o);return}if(/^data:[^;]+;base64,/.test(l)){for(var c=atob(l.split(",")[1]),h=new Uint8Array(c.length),y=0;y0?(s[l._src]=y,p(l,y)):c()};typeof Promise<"u"&&t.ctx.decodeAudioData.length===1?t.ctx.decodeAudioData(o).then(h).catch(c):t.ctx.decodeAudioData(o,h,c)},p=function(o,l){l&&!o._duration&&(o._duration=l.duration),Object.keys(o._sprite).length===0&&(o._sprite={__default:[0,o._duration*1e3]}),o._state!=="loaded"&&(o._state="loaded",o._emit("load"),o._loadQueue())},m=function(){if(t.usingWebAudio){try{typeof AudioContext<"u"?t.ctx=new AudioContext:typeof webkitAudioContext<"u"?t.ctx=new webkitAudioContext:t.usingWebAudio=!1}catch{t.usingWebAudio=!1}t.ctx||(t.usingWebAudio=!1);var o=/iP(hone|od|ad)/.test(t._navigator&&t._navigator.platform),l=t._navigator&&t._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),c=l?parseInt(l[1],10):null;if(o&&c&&c<9){var h=/safari/.test(t._navigator&&t._navigator.userAgent.toLowerCase());t._navigator&&!h&&(t.usingWebAudio=!1)}t.usingWebAudio&&(t.masterGain=typeof t.ctx.createGain>"u"?t.ctx.createGainNode():t.ctx.createGain(),t.masterGain.gain.setValueAtTime(t._muted?0:t._volume,t.ctx.currentTime),t.masterGain.connect(t.ctx.destination)),t._setup()}};e.Howler=t,e.Howl=r,typeof Ot<"u"?(Ot.HowlerGlobal=n,Ot.Howler=t,Ot.Howl=r,Ot.Sound=i):typeof window<"u"&&(window.HowlerGlobal=n,window.Howler=t,window.Howl=r,window.Sound=i)})(),function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(t){var r=this;if(!r.ctx||!r.ctx.listener)return r;for(var i=r._howls.length-1;i>=0;i--)r._howls[i].stereo(t);return r},HowlerGlobal.prototype.pos=function(t,r,i){var s=this;if(!s.ctx||!s.ctx.listener)return s;if(r=typeof r!="number"?s._pos[1]:r,i=typeof i!="number"?s._pos[2]:i,typeof t=="number")s._pos=[t,r,i],typeof s.ctx.listener.positionX<"u"?(s.ctx.listener.positionX.setTargetAtTime(s._pos[0],Howler.ctx.currentTime,.1),s.ctx.listener.positionY.setTargetAtTime(s._pos[1],Howler.ctx.currentTime,.1),s.ctx.listener.positionZ.setTargetAtTime(s._pos[2],Howler.ctx.currentTime,.1)):s.ctx.listener.setPosition(s._pos[0],s._pos[1],s._pos[2]);else return s._pos;return s},HowlerGlobal.prototype.orientation=function(t,r,i,s,a,u){var f=this;if(!f.ctx||!f.ctx.listener)return f;var p=f._orientation;if(r=typeof r!="number"?p[1]:r,i=typeof i!="number"?p[2]:i,s=typeof s!="number"?p[3]:s,a=typeof a!="number"?p[4]:a,u=typeof u!="number"?p[5]:u,typeof t=="number")f._orientation=[t,r,i,s,a,u],typeof f.ctx.listener.forwardX<"u"?(f.ctx.listener.forwardX.setTargetAtTime(t,Howler.ctx.currentTime,.1),f.ctx.listener.forwardY.setTargetAtTime(r,Howler.ctx.currentTime,.1),f.ctx.listener.forwardZ.setTargetAtTime(i,Howler.ctx.currentTime,.1),f.ctx.listener.upX.setTargetAtTime(s,Howler.ctx.currentTime,.1),f.ctx.listener.upY.setTargetAtTime(a,Howler.ctx.currentTime,.1),f.ctx.listener.upZ.setTargetAtTime(u,Howler.ctx.currentTime,.1)):f.ctx.listener.setOrientation(t,r,i,s,a,u);else return p;return f},Howl.prototype.init=function(t){return function(r){var i=this;return i._orientation=r.orientation||[1,0,0],i._stereo=r.stereo||null,i._pos=r.pos||null,i._pannerAttr={coneInnerAngle:typeof r.coneInnerAngle<"u"?r.coneInnerAngle:360,coneOuterAngle:typeof r.coneOuterAngle<"u"?r.coneOuterAngle:360,coneOuterGain:typeof r.coneOuterGain<"u"?r.coneOuterGain:0,distanceModel:typeof r.distanceModel<"u"?r.distanceModel:"inverse",maxDistance:typeof r.maxDistance<"u"?r.maxDistance:1e4,panningModel:typeof r.panningModel<"u"?r.panningModel:"HRTF",refDistance:typeof r.refDistance<"u"?r.refDistance:1,rolloffFactor:typeof r.rolloffFactor<"u"?r.rolloffFactor:1},i._onstereo=r.onstereo?[{fn:r.onstereo}]:[],i._onpos=r.onpos?[{fn:r.onpos}]:[],i._onorientation=r.onorientation?[{fn:r.onorientation}]:[],t.call(this,r)}}(Howl.prototype.init),Howl.prototype.stereo=function(t,r){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"stereo",action:function(){i.stereo(t,r)}}),i;var s=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof r>"u")if(typeof t=="number")i._stereo=t,i._pos=[t,0,0];else return i._stereo;for(var a=i._getSoundIds(r),u=0;u"u")if(typeof t=="number")a._pos=[t,r,i];else return a._pos;for(var u=a._getSoundIds(s),f=0;f"u")if(typeof t=="number")a._orientation=[t,r,i];else return a._orientation;for(var u=a._getSoundIds(s),f=0;f"u"&&(i.pannerAttr||(i.pannerAttr={coneInnerAngle:i.coneInnerAngle,coneOuterAngle:i.coneOuterAngle,coneOuterGain:i.coneOuterGain,distanceModel:i.distanceModel,maxDistance:i.maxDistance,refDistance:i.refDistance,rolloffFactor:i.rolloffFactor,panningModel:i.panningModel}),t._pannerAttr={coneInnerAngle:typeof i.pannerAttr.coneInnerAngle<"u"?i.pannerAttr.coneInnerAngle:t._coneInnerAngle,coneOuterAngle:typeof i.pannerAttr.coneOuterAngle<"u"?i.pannerAttr.coneOuterAngle:t._coneOuterAngle,coneOuterGain:typeof i.pannerAttr.coneOuterGain<"u"?i.pannerAttr.coneOuterGain:t._coneOuterGain,distanceModel:typeof i.pannerAttr.distanceModel<"u"?i.pannerAttr.distanceModel:t._distanceModel,maxDistance:typeof i.pannerAttr.maxDistance<"u"?i.pannerAttr.maxDistance:t._maxDistance,refDistance:typeof i.pannerAttr.refDistance<"u"?i.pannerAttr.refDistance:t._refDistance,rolloffFactor:typeof i.pannerAttr.rolloffFactor<"u"?i.pannerAttr.rolloffFactor:t._rolloffFactor,panningModel:typeof i.pannerAttr.panningModel<"u"?i.pannerAttr.panningModel:t._panningModel});else return a=t._soundById(parseInt(r[0],10)),a?a._pannerAttr:t._pannerAttr;else r.length===2&&(i=r[0],s=parseInt(r[1],10));for(var u=t._getSoundIds(s),f=0;f{if(!e.shouldNotify)return;const n=new Notification(e.subject,{title:e.subject,lang:OC.getLocale(),body:e.message,icon:e.icon,tag:e.notificationId});e.link&&(n.onclick=async function(t){const r={cancelAction:!1,notification:e,action:{url:e.link,type:"WEB"}};await Gt("notifications:action:execute",r),r.cancelAction||(console.debug("Redirecting because of a click onto a notification",e.link),window.location.href=e.link),window.focus()}),Cv(e)},Cv=e=>{if(e.app==="spreed"&&e.objectType==="call"){if(Dt("notifications","sound_talk")){const n={src:[Ji("notifications","img","talk.ogg")],html5:!0,volume:.5},t=new zr.Howl(n),r=t._sounds[0]._node.sinkId??"";t.play();const i=ve.getItem("secondary_speaker")==="true",s=JSON.parse(ve.getItem("secondary_speaker_device"))?.id??null;if(i&&s&&r!==s){const a=new zr.Howl(n);t._sounds[0]._node.setSinkId?.(s).then(()=>console.debug("Audio output successfully redirected to secondary speaker")).catch(u=>console.error("Failed to redirect audio output:",u)),a.play()}}}else Dt("notifications","sound_notification")&&new zr.Howl({src:[Ji("notifications","img","notification.ogg")],volume:.5}).play()},Sv={name:"NotificationsApp",components:{IconBell:Ns,IconClose:Rs,IconMessage:Ds,IconNotification:Hu,NcButton:Mt,NcEmptyContent:Ku,NcHeaderMenu:kv,Notification:sv},data(){return{webNotificationsGranted:!1,backgroundFetching:!1,hasNotifyPush:!1,shutdown:!1,hasThrottledPushNotifications:Dt("notifications","throttled_push_notifications"),notifications:[],lastETag:null,lastTabId:null,userStatus:null,tabId:null,webNotificationsThresholdId:0,pollIntervalBase:3e4,pollIntervalCurrent:3e4,interval:null,pushEndpoints:null,open:!1}},computed:{showBrowserNotifications(){return this.backgroundFetching&&this.webNotificationsGranted&&this.userStatus!=="dnd"&&this.tabId===this.lastTabId},emptyContentMessage(){return this.webNotificationsGranted===null?Ne("notifications","Requesting browser permissions to show notifications"):this.hasThrottledPushNotifications?Ne("notifications","Push notifications might be unreliable"):Ne("notifications","No notifications")},emptyContentDescription(){return this.hasThrottledPushNotifications?Ne("notifications","Nextcloud GmbH sponsors a free push notification gateway for private users. To ensure good service, the gateway limits the number of push notifications per server. For enterprise users, a more scalable gateway is available. Contact Nextcloud GmbH for more information."):""},warningIcon(){return Is("core","actions/alert-outline.svg")}},mounted(){this.tabId=OC.requestToken||""+Math.random(),this._oldcount=0,this.checkWebNotificationPermissions(),this._fetch(),yv.listen("notify_notification",()=>{this._fetchAfterNotifyPush()})&&(console.debug("Has notify_push enabled, slowing polling to 15 minutes"),this.pollIntervalBase=15*60*1e3,this.hasNotifyPush=!0),this._setPollingInterval(this.pollIntervalBase),this._watchTabVisibility(),gr("networkOffline",this.handleNetworkOffline),gr("networkOnline",this.handleNetworkOnline),gr("user_status:status.updated",this.userStatusUpdated)},beforeDestroy(){mr("user_status:status.updated",this.userStatusUpdated),mr("networkOffline",this.handleNetworkOffline),mr("networkOnline",this.handleNetworkOnline)},methods:{t:Ne,userStatusUpdated(e){Ps().uid===e.userId&&(this.userStatus=e.status)},onOpen(){this.requestWebNotificationPermissions()},handleNetworkOffline(){console.debug("Network is offline, slowing down pollingInterval to "+this.pollIntervalBase*10),this._setPollingInterval(this.pollIntervalBase*10)},handleNetworkOnline(){this._fetch(),console.debug("Network is online, reseting pollingInterval to "+this.pollIntervalBase),this._setPollingInterval(this.pollIntervalBase)},setupBackgroundFetcher(){OC.config.session_keepalive?(console.debug("Started background fetcher as session_keepalive is enabled"),this.interval=window.setInterval(this._backgroundFetch.bind(this),this.pollIntervalCurrent)):console.debug("Did not start background fetcher as session_keepalive is off")},onDismissAll(){ut.delete(bt("apps/notifications/api/v2/notifications")).then(()=>{this.notifications=[]}).catch(()=>{Nn(Ne("notifications","Failed to dismiss all notifications"))})},onRemove(e){this.notifications.splice(e,1)},_updateDocTitleOnNewNotifications(e){e.length>this._oldcount&&(this._oldcount=e.length,this.backgroundFetching&&document.hidden&&(document.title.startsWith("* ")||(document.title="* "+document.title)))},_restoreTitle(){document.title.startsWith("* ")&&(document.title=document.title.substring(2))},_fetchAfterNotifyPush(){this.backgroundFetching=!0,this.hasNotifyPush&&this.tabId!==this.lastTabId?(console.debug("Deferring notification refresh from browser storage are notify_push event to give the last tab the chance to do it"),setTimeout(()=>{this._fetch()},5e3)):(console.debug("Refreshing notifications are notify_push event"),this._fetch())},async _fetch(){this.notifications.length&&this.notifications[0].notificationId>this.webNotificationsThresholdId&&(this.webNotificationsThresholdId=this.notifications[0].notificationId);const e=await av(this.tabId,this.lastETag,!this.backgroundFetching,this.hasNotifyPush);e.status===204?(console.debug("Fetching notifications but no content, slowing down polling to "+this.pollIntervalBase*10),this._setPollingInterval(this.pollIntervalBase*10)):e.status===200?(this.userStatus=e.headers["x-nextcloud-user-status"],this.lastETag=e.headers.etag,this.lastTabId=e.tabId,this.notifications=e.data,this.processWebNotifications(e.data),console.debug("Got notification data, restoring default polling interval."),this._setPollingInterval(this.pollIntervalBase),this._updateDocTitleOnNewNotifications(this.notifications),!this.backgroundFetching&&this.notifications.length&&(this.webNotificationsThresholdId=this.notifications[0].notificationId)):e.status===304?this._setPollingInterval(this.pollIntervalBase):e.status===503?(console.info("Slowing down notifications: instance is in maintenance mode."),this._setPollingInterval(this.pollIntervalBase*10)):e.status===404?(console.info("Slowing down notifications: app is disabled."),this._setPollingInterval(this.pollIntervalBase*10)):(console.info("Slowing down notifications: Status "+e.status),this._setPollingInterval(this.pollIntervalBase*10))},_backgroundFetch(){this.backgroundFetching=!0,this._fetch()},_watchTabVisibility(){document.addEventListener("visibilitychange",this._visibilityChange,!1)},_visibilityChange(){document.hidden||this._restoreTitle()},_setPollingInterval(e){this.interval&&e===this.pollIntervalCurrent||(console.debug("Polling interval updated to "+e),this.interval&&(window.clearInterval(this.interval),this.interval=null),this.pollIntervalCurrent=e,this.setupBackgroundFetcher())},_shutDownNotifications(e){console.debug("Shutting down notifications "+(e?"temporary":"bye")),this.interval&&(window.clearInterval(this.interval),this.interval=null),this.shutdown=!e},checkWebNotificationPermissions(){if(!("Notification"in window)){console.info("Browser does not support notifications"),this.webNotificationsGranted=!1;return}if(window.Notification.permission==="granted"){console.debug("Notifications permissions granted"),this.webNotificationsGranted=!0;return}if(window.Notification.permission==="denied"){console.debug("Notifications permissions denied"),this.webNotificationsGranted=!1;return}if(window.location.protocol==="http:"){console.debug("Notifications require HTTPS"),this.webNotificationsGranted=!1;return}console.info("Notifications permissions not yet requested"),this.webNotificationsGranted=null},async requestWebNotificationPermissions(){this.webNotificationsGranted===null&&(console.info("Requesting notifications permissions"),window.Notification.requestPermission().then(e=>{this.webNotificationsGranted=e==="granted"}))},processWebNotifications(e){e.forEach(n=>{this.backgroundFetching&&Gt("notifications:notification:received",{notification:n}),this.showBrowserNotifications&&this.webNotificationsThresholdId0?n("transition-group",{staticClass:"notification-wrapper",attrs:{name:"list",tag:"ul"}},[e.hasThrottledPushNotifications?n("Notification",{key:-2016,attrs:{datetime:"warning",app:"core",icon:e.warningIcon,"external-link":"https://nextcloud.com/fairusepolicy",message:e.emptyContentDescription,subject:e.emptyContentMessage,index:2016}}):e._e(),e._l(e.notifications,function(t,r){return n("Notification",e._b({key:t.notificationId,attrs:{index:r},on:{remove:e.onRemove}},"Notification",t,!1))})],2):n("NcEmptyContent",{attrs:{name:e.emptyContentMessage,description:e.emptyContentDescription},scopedSlots:e._u([{key:"icon",fn:function(){return[e.hasThrottledPushNotifications?n("span",{staticClass:"icon icon-alert-outline"}):n("IconBell")]},proxy:!0},e.hasThrottledPushNotifications?{key:"action",fn:function(){return[n("NcButton",{attrs:{type:"primary",href:"https://nextcloud.com/fairusepolicy",target:"_blank",rel:"noreferrer noopener"},scopedSlots:e._u([{key:"icon",fn:function(){return[n("IconMessage",{attrs:{size:20}})]},proxy:!0}],null,!1,1098256392)},[e._v(" "+e._s(e.t("notifications","Contact Nextcloud GmbH"))+" ↗ ")])]},proxy:!0}:null],null,!0)})],1),e.notifications.length>0?n("div",{staticClass:"dismiss-all"},[n("NcButton",{attrs:{type:"tertiary",wide:""},on:{click:e.onDismissAll},scopedSlots:e._u([{key:"icon",fn:function(){return[n("IconClose",{attrs:{size:20}})]},proxy:!0}],null,!1,2888946197)},[e._v(" "+e._s(e.t("notifications","Dismiss all notifications"))+" ")])],1):e._e()],1)])},Ov=[],Iv=Xe(Sv,Ev,Ov,!1,null,"81d331a0");const Pv=Iv.exports,Fv=Object.freeze(Object.defineProperty({__proto__:null,default:Pv},Symbol.toStringTag,{value:"Module"}));export{Fv as N,La as c};
-//# sourceMappingURL=NotificationsApp-DgE3Vt72.chunk.mjs.map
+//# sourceMappingURL=NotificationsApp-CfB39C4g.chunk.mjs.map
diff --git a/js/NotificationsApp-DgE3Vt72.chunk.mjs.license b/js/NotificationsApp-CfB39C4g.chunk.mjs.license
similarity index 100%
rename from js/NotificationsApp-DgE3Vt72.chunk.mjs.license
rename to js/NotificationsApp-CfB39C4g.chunk.mjs.license
diff --git a/js/NotificationsApp-DgE3Vt72.chunk.mjs.map b/js/NotificationsApp-CfB39C4g.chunk.mjs.map
similarity index 99%
rename from js/NotificationsApp-DgE3Vt72.chunk.mjs.map
rename to js/NotificationsApp-CfB39C4g.chunk.mjs.map
index 8a171d4d7..4fa52108b 100644
--- a/js/NotificationsApp-DgE3Vt72.chunk.mjs.map
+++ b/js/NotificationsApp-CfB39C4g.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"mappings":"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,eAAeA,CAAC,EAAI,KAAK,gBAAgBA,CAAC,CACzG,CACA,EACM1E,GAAc,KACdG,GAAuB,KAC7B,IAAIC,GAAgCC,GAClCzC,GACAoC,GACAG,GACA,GACA,KACA,UACF,EACA,MAAMsnD,GAAarnD,GAAc,QC9jHjCxC,GAAA,CACA,cAEA,YACA,SAAA+Z,EACA,EAEA,OACA,OACA,YACA,WACA,WACA,EACA,MACA,YACA,WACA,WACA,EACA,MACA,YACA,WACA,WACA,EACA,SACA,aACA,WACA,WACA,EACA,mBACA,YACA,WACA,CACA,EAEA,OACA,OACA,SACA,CACA,EAEA,UACA,YACA,mCACA,EAEA,kBACA,uBACA,EAEA,aACA,yCACA,CACA,EAEA,SACA,gCACA,IACA,MAAAjM,EAAA,CACA,gBACA,iCACA,QACA,cACA,yBACA,CACA,EACA,MAAAg8C,GAAA,+BAAAh8C,CAAA,EAEAA,EAAA,cAEA,kBAEA,OAAAkG,EAAA,CACA,yCAAAA,CAAA,EACA+1C,GAAAvuC,GAAA,4CACA,CACA,EAEA,4BACA,IACA,MAAA1N,EAAA,CACA,gBACA,iCACA,QACA,cACA,yBACA,CACA,EAGA,GAFA,MAAAg8C,GAAA,+BAAAh8C,CAAA,EAEAA,EAAA,aAEA,OAIA,MAAA0nC,GAAA,CACA,4BACA,aACA,GAGA,oDAEAsU,GAAA,gCAAAh8C,CAAA,CACA,OAAAkG,EAAA,CACA,yCAAAA,CAAA,EACA+1C,GAAAvuC,GAAA,4CACA,CACA,CACA,CACA,sbCpHAxb,GAAA,CACA,wBACA,OACA,MACA,YACA,WACA,EACA,IACA,qBACA,WACA,EACA,MACA,YACA,WACA,EACA,MACA,YACA,UACA,CACA,EAEA,UACA,kBACA,mBACA,0BACA,wBAEA,CACA,CACA,4WCpCAA,GAAA,CACA,YAEA,OACA,MACA,YACA,WACA,EACA,IACA,qBACA,WACA,EACA,MACA,YACA,WACA,EACA,MACA,YACA,UACA,EACA,MACA,YACA,UACA,CACA,EAEA,UACA,QACA,MAAAgqD,EAAA,2BACAC,EAAA,uBACA7kD,EAAA,oB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,EAAK,IACpBG,EAAM,OAASA,EAAM,OAAS,GAC9BA,EAAM,KAAOA,EAAM,OAAS,GAC5BA,EAAM,IAAMA,EAAM,KAAO,GACzBA,EAAM,MAAQA,EAAM,IAAM,GAC1BA,EAAM,KAAOA,EAAM,IAAM,IAEzB,MAAMC,EAAStnD,GAAU,KAAK,IAAIA,EAAQ,CAAC,EAAI,IAAO,KAAK,MAAMA,CAAK,EAAI,KAAK,MAAMA,CAAK,EAG1F,UAAWf,KAAOooD,EAAO,CACxB,MAAMF,EAAOloD,EAEPsoD,EAAUD,EAAMD,EAAMF,CAAI,CAAC,EAEjC,GAAII,IAAY,EACf,MAAO,CACN,MAAOA,EACP,KAAAJ,CACJ,CAEA,CAGC,MAAO,CACN,MAAO,EACP,KAAM,QACR,CACA,CCAA,MAAA/qD,GAAA,CACA,oBAEA,YACA,OAAAorD,GACA,SAAArxC,GACA,MAAAsxC,GACA,QAAAC,GACA,WAAAzB,EACA,EAEA,OACA,gBACA,YACA,UACA,EACA,UACA,YACA,UACA,EACA,KACA,YACA,UACA,EACA,MACA,YACA,UACA,EACA,MACA,YACA,UACA,EACA,cACA,YACA,UACA,EACA,MACA,YACA,UACA,EACA,SACA,YACA,UACA,EACA,aACA,YACA,UACA,EACA,uBACA,oBACA,UACA,QACA,CACA,EACA,SACA,YACA,UACA,EACA,aACA,YACA,UACA,EACA,uBACA,oBACA,UACA,QACA,CACA,EACA,YACA,YACA,UACA,EACA,UACA,YACA,UACA,EACA,cACA,aACA,UACA,EACA,SACA,WACA,UACA,QACA,CACA,EAEA,OACA,YACA,UACA,CACA,EAEA,OACA,OACA,kBACA,CACA,EAEA,UACA,YACA,iCACA,EAEA,iCACA,EACA,eACA,iCACA,GAEAa,GAAA,eACA,EACA,eACA,6BACA,SAGA,MAAAa,EAAA,0BACA,OAAAA,GAAA,GAAAA,EAAA,KACA/vC,GAAA,sBAEAovC,GAAA,eACA,EACA,UACA,cACA,SAGA,IAAAY,EAAA,GACA,uDAAAtpC,GAAA,CACA,2BAAAA,CAAA,SACAspC,EAAA,GAEA,GACA,CAAAA,CA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","names":["_sfc_main","theming","getCapabilities","hexRegex","hexToHSL","hexColor","r","g","b","max","min","hue","sat","lum","d","isRedThemed","computed","isOrangeThemed","isWidgetRegistered","id","hasInteractiveView","hasFullWidth","registerWidget","callback","onDestroy","el","props","propsWithDefaults","renderWidget","richObjectType","richObject","accessible","interactive","destroyWidget","registerCustomPickerElement","size","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcEmptyContent","extend","a","key","encodeReserveRE","encodeReserveReplacer","c","commaRE","encode","str","decode","resolveQuery","query","extraQuery","_parseQuery","parse","parseQuery","parsedQuery","value","castQueryParamValue","res","param","parts","val","stringifyQuery","obj","result","val2","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","clone","route","getFullPath","formatMatch","START","ref","_stringifyQuery","path","hash","stringify","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","i","aVal","bKey","bVal","isIncludedRoute","current","target","queryIncludes","handleRouteEntered","name","instance","cbs","i$1","View","_","children","parent","data","h","cache","depth","inactive","vnodeData","cachedData","cachedComponent","fillPropsinData","matched","component","vm","vnode","configProps","propsToPass","resolveProps","attrs","config","resolvePath","relative","base","append","firstChar","stack","segments","segment","parsePath","hashIndex","queryIndex","cleanPath","isarray","arr","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","options","tokens","index","defaultDelimiter","m","escaped","offset","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","delimiter","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeAsterisk","matches","flags","opts","token","j","attachKeys","re","keys","regexpToRegexp","groups","arrayToRegexp","regexp","stringToRegexp","strict","end","endsWithDelimiter","regexpCompileCache","fillParams","params","routeMsg","filler","normalizeLocation","raw","params$1","rawPath","parsedPath","basePath","toTypes","eventTypes","noop","Link","this$1$1","href","classes","globalActiveClass","globalExactActiveClass","activeClassFallback","exactActiveClassFallback","activeClass","exactActiveClass","compareTarget","ariaCurrentValue","handler","e","guardEvent","on","scopedSlot","findAnchor","aData","event","handler$1","event$1","aAttrs","child","_Vue","install","Vue","isDef","v","registerInstance","callVal","strats","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","compileRouteRegex","childMatchAs","aliases","alias","aliasRoute","regex","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","match","currentRoute","_createRoute","paramNames","record$1","matchRoute","redirect","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","len","Time","genStateKey","_key","getStateKey","setStateKey","positionStore","setupScroll","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","to","from","isPop","behavior","position","getScrollPosition","shouldScroll","scrollToPosition","err","saveScrollPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","isNumber","normalizePosition","normalizeOffset","hashStartsWithNumberRE","isObject","supportsPushState","ua","pushState","url","replace","history","replaceState","NavigationFailureType","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","error","createNavigationCancelledError","createNavigationAbortedError","type","message","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","fn","cb","step","resolveAsyncComponents","hasAsync","pending","flatMapComponents","def","resolve","once","resolvedDef","isESModule","reject","reason","msg","comp","flatten","hasSymbol","called","args","History","normalizeBase","errorCb","onComplete","onAbort","prev","hook","abort","lastRouteIndex","lastCurrentIndex","resolveQueue","updated","deactivated","activated","extractLeaveGuards","extractUpdateHooks","iterator","enterGuards","extractEnterGuards","cleanupListener","baseEl","extractGuards","records","bind","reverse","guards","guard","extractGuard","bindGuard","bindEnterGuard","HTML5History","getLocation","expectScroll","supportsScroll","handleRoutingEvent","n","fromRoute","push","pathLowerCase","baseLowerCase","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","mode","prototypeAccessors","app","handleInitialScroll","routeOrError","setupListeners","registerHook","fullPath","createHref","list","$event","AlertCircle","NcButton","Check","useModelMigration","GenRandomId","isValidLabel","ariaDescribedby","newValue","NcInputField","register","t16","t49","t21","IDLE_TIMEOUT","_sfc_main$8","isVisible","widgetRoot","width","useElementSize","useIntersectionObserver","entry","nextTick","lineClamp","link","getRoute","RouterLink","t","widget","_sfc_render$8","_sfc_staticRenderFns$8","__component__$8","NcReferenceWidget","t7","imagePath","loadState","t38","t44","t22","t29","t40","t11","t17","getSharingToken","bail","hasOwn","toStr","defineProperty","gOPD","isArray","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","getProperty","src","copy","copyIsArray","length","deep","prototype","trough","fns","pipeline","run","use","values","middlewareIndex","output","wrap","middelware","middleware","wrapped","parameters","fnExpectsCallback","done","exception","then","stringifyPosition","point","pos","VFileMessage","causeOrReason","optionsOrParentOrPlace","origin","legacyCause","start","basename","dirname","extname","join","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","unmatchedSlash","startPart","startDot","preDotState","code","joined","normalize","absolute","normalizeString","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","proc","cwd","isUrl","fileUrlOrPath","urlToPath","getPathFromURLPosix","pathname","third","order","VFile","isUint8Array","prop","assertNonEmpty","assertPart","stem","encoding","part","CallableInstance","property","proto","func","apply","names","p","descriptor","own","Processor","destination","attacher","assertUnfrozen","self","transformer","file","realFile","vfile","parser","assertParser","assertCompiler","executor","parseTree","tree","realDone","compileTree","compileResult","looksLikeAValue","complete","assertDone","assertNode","transformers","outputTree","resultingTree","compiler","attachers","namespace","addPlugin","addList","addPreset","add","plugin","plugins","thing","entryIndex","primary","rest","currentPrimary","isPlainObj","unified","frozen","node","asyncName","looksLikeAVFile","emptyOptions","toString","settings","includeImageAlt","includeHtml","one","all","element","decodeNamedCharacterReference","characterReference","character","splice","remove","items","chunkStart","hasOwnProperty","combineExtensions","extensions","syntaxExtension","extension","left","right","constructs","existing","before","decodeNumericCharacterReference","normalizeIdentifier","unicodePunctuationInternal","regexCheck","asciiAlpha","asciiAlphanumeric","asciiAtext","asciiControl","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEnding","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","check","normalizeUri","skip","factorySpace","effects","ok","limit","content","initializeContent","contentStart","afterContentStartConstruct","paragraphInitial","previous","lineStart","document","initializeDocument","containerConstruct","tokenizeContainer","continued","childFlow","childToken","lineStartOffset","item","documentContinue","checkNewContainers","closeFlow","indexBeforeExits","indexBeforeFlow","exitContainers","documentContinued","flowStart","thereIsANewContainer","thereIsNoNewContainer","containerContinue","flowContinue","writeToChild","endOfFile","stream","seen","nok","classifyCharacter","resolveAll","events","context","attention","resolveAllAttention","tokenizeAttention","open","text","openingSequence","closingSequence","nextEvents","movePoint","attentionMarkers","marker","inside","after","close","autolink","tokenizeAutolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","blankLine","tokenizeBlankLine","blockQuote","tokenizeBlockQuoteContinuation","exit","tokenizeBlockQuoteStart","state","contStart","contBefore","characterEscape","tokenizeCharacterEscape","tokenizeCharacterReference","test","numeric","nonLazyContinuation","tokenizeNonLazyContinuation","codeFenced","tokenizeCodeFenced","closeStart","tokenizeCloseStart","initialPrefix","sizeOpen","beforeSequenceOpen","tail","sequenceOpen","infoBefore","atNonLazyBreak","info","metaBefore","meta","contentBefore","beforeContentChunk","contentChunk","startBefore","beforeSequenceClose","sequenceClose","sequenceCloseAfter","codeIndented","tokenizeCodeIndented","furtherStart","tokenizeFurtherStart","afterPrefix","atBreak","codeText","resolveCodeText","tokenizeCodeText","tailExitIndex","headEnterIndex","enter","between","SpliceBuffer","initial","stop","deleteCount","count","removed","chunkedPush","subtokenize","eventsArray","jumps","lineIndex","otherIndex","otherEvent","subevents","more","subcontent","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","slice","resolveContent","tokenizeContent","continuationConstruct","tokenizeContinuation","chunkInside","contentEnd","contentContinue","startLookahead","prefixed","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","enclosedBefore","enclosed","enclosedEscape","rawEscape","factoryLabel","markerType","labelInside","labelEscape","factoryTitle","begin","escape","factoryWhitespace","definition","tokenizeDefinition","titleBefore","tokenizeTitleBefore","identifier","labelAfter","markerAfter","destinationBefore","destinationAfter","afterWhitespace","beforeMarker","titleAfter","titleAfterOptionalWhitespace","hardBreakEscape","tokenizeHardBreakEscape","headingAtx","resolveHeadingAtx","tokenizeHeadingAtx","sequenceFurther","htmlBlockNames","htmlRawNames","htmlFlow","resolveToHtmlFlow","tokenizeHtmlFlow","blankLineBefore","tokenizeBlankLineBefore","nonLazyContinuationStart","tokenizeNonLazyContinuationStart","closingTag","buffer","markerB","declarationOpen","tagCloseStart","continuationDeclarationInside","tagName","commentOpenInside","cdataOpenInside","continuation","slash","basicSelfClosing","completeClosingTagAfter","completeAttributeNameBefore","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCdataInside","continuationAfter","continuationStart","continuationStartNonLazy","continuationBefore","continuationRawEndTag","htmlText","tokenizeHtmlText","returnState","instruction","tagOpen","declaration","commentEnd","comment","commentClose","lineEndingBefore","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","lineEndingAfter","lineEndingAfterPrefix","labelEnd","resolveAllLabelEnd","resolveToLabelEnd","tokenizeLabelEnd","resourceConstruct","tokenizeResource","referenceFullConstruct","tokenizeReferenceFull","referenceCollapsedConstruct","tokenizeReferenceCollapsed","newEvents","media","label","labelStart","defined","labelEndNok","labelEndOk","referenceNotFull","resourceStart","resourceBefore","resourceOpen","resourceEnd","resourceDestinationAfter","resourceDestinationMissing","resourceBetween","resourceTitleAfter","referenceFull","referenceFullAfter","referenceFullMissing","referenceCollapsedStart","referenceCollapsedOpen","labelStartImage","tokenizeLabelStartImage","labelStartLink","tokenizeLabelStartLink","lineEnding","tokenizeLineEnding","thematicBreak","tokenizeThematicBreak","sequence","tokenizeListContinuation","tokenizeListEnd","tokenizeListStart","listItemPrefixWhitespaceConstruct","tokenizeListItemPrefixWhitespace","indentConstruct","tokenizeIndent","initialSize","kind","atMarker","onBlank","endOfPrefix","otherPrefix","notBlank","notInCurrentItem","setextUnderline","resolveToSetextUnderline","tokenizeSetextUnderline","heading","paragraph","flow","initializeFlow","atBlankEnding","afterConstruct","resolver","createResolver","string","initializeFactory","field","resolveAllLineSuffixes","initializeText","notText","extraResolver","resolveAllText","chunks","bufferIndex","tabs","chunk","contentInitial","flowInitial","insideSpan","resolveText","disable","createTokenizer","initialize","columnStart","resolveAllConstructs","constructFactory","onsuccessfulconstruct","onsuccessfulcheck","consume","defineSkip","now","sliceSerialize","sliceStream","write","main","addResult","expandTabs","serializeChunks","sliceChunks","_bufferIndex","_index","line","column","accountForPotentialSkip","chunkIndex","go","fields","construct","onreturn","bogusState","listOfConstructs","constructIndex","currentConstruct","handleListOfConstructs","handleMapOfConstructs","map","handleConstruct","store","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","restore","startIndex","startBufferIndex","endIndex","endBufferIndex","view","head","atTab","defaultConstructs","create","creator","postprocess","search","preprocess","atCarriageReturn","preprocessor","endPosition","characterEscapeOrReference","decodeString","$0","$1","$2","hex","fromMarkdown","opener","onenterdata","codeFlow","emphasis","hardBreak","html","image","listItem","onenterlistitemvalue","onenterlistordered","onenterreference","strong","closer","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","onexitdata","onexitcharacterreferencemarker","onexitcharacterreferencevalue","onexitcharacterreference","onexitcodefenced","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","onexitlabeltext","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","onexitresource","onexitsetextheading","onexitsetextheadinglinesequence","onexitsetextheadingtext","configure","resume","listStack","prepareList","defaultOnError","containerBalance","listSpread","firstBlankLineIndex","tailIndex","tailEvent","and","errorHandler","onExitError","ancestor","siblings","referenceType","fragment","combined","remarkParse","doc","escapeStringRegexp","findAndReplace","ignored","convert","pairs","toPairs","pairIndex","visitParents","visitor","parents","grandparent","find","change","nodes","matchObject","tupleOrList","tuple","toExpression","toFunction","newlineToBreak","remarkBreaks","blockquote","properties","strikethrough","footnoteReference","clobberPrefix","safeId","counter","reuseCounter","sup","revert","subtype","suffix","contents","imageReference","inlineCode","linkReference","results","loose","listLoose","listItemLoose","root","pointEnd","pointStart","table","rows","firstRow","tableContent","body","tableRow","align","cellIndex","cells","cell","alignValue","tableCell","tab","space","trimLines","source","last","lines","trimLine","handlers","ignore","VOID","PRIMITIVE","ARRAY","OBJECT","DATE","REGEXP","MAP","SET","ERROR","BIGINT","env","deserializer","$","as","out","unpair","object","set","deserialize","serialized","EMPTY","typeOf","asString","shouldSkip","TYPE","serializer","json","pair","entries","serialize","lossy","structuredClone$1","any","defaultFootnoteBackContent","rereferenceIndex","defaultFootnoteBackLabel","referenceIndex","footer","footnoteBackContent","footnoteBackLabel","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","listItems","backReferences","counts","tailTail","structuredClone","createState","definitionById","footnoteById","footnoteCounts","defaultHandlers","applyData","patch","visit","handle","shallow","defaultUnknownHandler","trimMarkdownSpaceStart","hName","hChildren","hProperties","toHast","foot","remarkRehype","hastTree","Schema","normal","merge","definitions","Info","attribute","powers","boolean","increment","booleanish","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","checks","types","DefinedInfo","mask","mark","xlink","xml","caseSensitiveTransform","attributes","caseInsensitiveTransform","xmlns","aria","svg","valid","dash","cap","schema","Type","camelcase","dashes","kebab","hastToReact","htmlBase","svgBase","input","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","NEWLINE","FORWARD_SLASH","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","inlineStyleParser","style","lineno","updatePosition","Position","whitespace","comments","rules","ret","trim","declarations","decls","decl","require$$0","StyleToObject","hasIterator","styleToObjectModule","webNamespaces","toH","react","vue","vd","vdom","transform","hyperscript","parentSchema","addAttribute","subprop","commas","spaces","parseStyle","styleToObject","error_","convert_1","typeFactory","anyFactory","matchesFactory","convertAll","tests","unistUtilVisitParents","CONTINUE","SKIP","EXIT","is","subresult","toResult","unistUtilVisit","overload","hastCssPropertyMap","hastUtilTableCellStyle","hastName","cssName","appendStyle","prevStyle","nextStyle","tableElements","rehypeReact","createElement","fixTableCellAlign","tableCellStyle","convertElement","tagNameFactory","castFactory","testFunction","looksLikeAnElement","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","isAbsoluteUrl","defaultProtocols","defaultRel","rehypeExternalLinks","protocols","contentRaw","createIfNeeded","relRaw","rel","_sfc_main$1","URL_PATTERN","response","isPublic","getCurrentUser","axios","generateOcsUrl","_sfc_render$1","reference","_sfc_staticRenderFns$1","__component__$1","NcReferenceList","remarkPlaceholder","ast","node2","placeholders","index2","list2","u","prepareTextNode","text2","parseUrl","componentClass","remarkUnescape","SKIP$1","ccount","code2","propsFactory","checkAsRecord","all2","nodeAsRecord","looksLikeANode","empty","factory","visit2","grandparents","nodeAsParent","replace2","inConstruct","notInConstruct","gfmAutolinkLiteralFromMarkdown","transformGfmAutolinkLiterals","enterLiteralAutolink","enterLiteralAutolinkValue","exitLiteralAutolink","exitLiteralAutolinkEmail","exitLiteralAutolinkHttp","exitLiteralAutolinkWww","gfmAutolinkLiteralToMarkdown","findUrl","findEmail","protocol","domain2","path2","isCorrectDomain","splitUrl","atext","trailExec","trail2","closingParenIndex","openingParens","closingParens","email","footnoteReferencePeek","gfmFootnoteFromMarkdown","enterFootnoteDefinition","enterFootnoteDefinitionLabelString","enterFootnoteCall","enterFootnoteCallString","exitFootnoteDefinition","exitFootnoteDefinitionLabelString","exitFootnoteCall","exitFootnoteCallString","gfmFootnoteToMarkdown","footnoteDefinition","tracker","exit2","subexit","map$2","blank","constructsWithoutStrikethrough","handleDelete","peekDelete","gfmStrikethroughFromMarkdown","enterStrikethrough","exitStrikethrough","gfmStrikethroughToMarkdown","markdownTable","stringLength","defaultStringLength","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","row2","sizes2","columnIndex2","columnIndex","toAlignment","row","sizes","map$1","patternInScope","listInScope","none","_1","longestStreak","substring","expected","formatCodeAsIndented","checkFence","code$1","exit3","value2","checkQuote","quote","checkEmphasis","emphasisPeek","emptyOptions$1","formatHeadingAsSetext","literalWithBreak","node3","EXIT$1","rank","subexit2","htmlPeek","imagePeek","imageReferencePeek","alt","inlineCodePeek","expression","formatLinkAsAutolink","linkPeek","linkReferencePeek","checkBullet","checkBulletOther","bullet","bulletOther","checkBulletOrdered","checkRule","bulletCurrent","useDifferentMarker","firstListItem","checkListItemIndent","listItemIndent","map2","phrasing","checkStrong","strongPeek","text$1","checkRuleRepetition","repetition","gfmTableFromMarkdown","enterTable","enterCell","enterRow","exitCodeText","exitTable","gfmTableToMarkdown","padding","alignDelimiters","around","inlineCodeWithTable","handleTable","handleTableCell","handleTableRow","serializeData","handleTableAsData","handleTableRowAsData","matrix","gfmTaskListItemFromMarkdown","exitCheck","exitParagraphWithTaskListItem","gfmTaskListItemToMarkdown","listItemWithTaskListItem","firstParaghraph","sibling","checkable","checkbox","gfmFromMarkdown","gfmToMarkdown","wwwPrefix","tokenizeWwwPrefix","domain","tokenizeDomain","tokenizePath","trail","tokenizeTrail","emailDomainDotTrail","tokenizeEmailDomainDotTrail","wwwAutolink","tokenizeWwwAutolink","previousWww","protocolAutolink","tokenizeProtocolAutolink","previousProtocol","emailAutolink","tokenizeEmailAutolink","previousEmail","gfmAutolinkLiteral","ok2","dot","gfmAtext","previousUnbalanced","emailDomain","emailDomainAfter","emailDomainDot","wwwStart","wwwAfter","protocolStart","protocolPrefixInside","protocolSlashesInside","afterProtocol","protocolAfter","wwwPrefixInside","wwwPrefixAfter","underscoreInLastSegment","underscoreInLastLastSegment","domainInside","domainAfter","domainAtPunctuation","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","constructs2","indent","gfmFootnote","tokenizeDefinitionStart","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","tokenizeGfmFootnoteCall","tokenizePotentialGfmFootnoteCall","resolveToPotentialGfmFootnoteCall","call","replacement","callStart","callData","callEscape","labelAtMarker","whitespaceAfter","gfmStrikethrough","single","tokenizeStrikethrough","resolveAllStrikethrough","previous2","EditMap","addImpl","vecs","editMap","at","gfmTableAlign","inDelimiterRow","alignIndex","gfmTable","tokenizeTable","resolveTable","sizeB","bodyRowStart","headRowBefore","headRowStart","headRowBreak","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","currentTable","currentBody","currentCell","flushTableEnd","flushCell","range","rowEnd","previousCell","groupName","valueName","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","side","tasklistCheck","tokenizeTasklistCheck","gfmTaskListItem","spaceThenNonSpace","gfm","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","rehypeHighlight","importRehypeHighlightLibrary","module","__vitePreload","argumentId","argument","renderedMarkdown","remarkAutolink","remark2rehype","rehype2react","tag","nestedNode","inputNode","labelParts","nestedNodeIndex","inputComponent","NcCheckboxRadioSwitch","placeholder","NcRichText","emit","showError","lastSlashPosition","firstSlashPosition","NcUserBubbleDiv","NcAvatar","NcPopover","NcUserBubble","locale","getCanonicalLocale","absoluteTimeFormat","relativeTimeFormat","formatDateTime","timestamp","formatRelativeTimeFromNow","formatRelativeTime","ms","unit","convertMsToLargestTimeUnit","units","round","rounded","Action","Close","Message","diff","parametersHaveLink","richParameters","User","File","DefaultParameter","getNotificationsData","tabId","lastETag","forceRefresh","hasNotifyPush","lastUpdated","BrowserStorage","lastTab","refreshData","remapAttributes","notification","requestConfig","exports","elem","thisArg","getPrototypeOf","kindOf","kindOfTest","typeOfTest","isUndefined","isBuffer","isFunction","isArrayBuffer","isArrayBufferView","isString","isBoolean","isDate","isFile","isBlob","isFileList","isStream","isFormData","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","forEach","allOwnKeys","findKey","_global","global","isContextDefined","caseless","assignValue","targetKey","stripBOM","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","lastIndex","toArray","isTypedArray","TypedArray","forEachEntry","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","define","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","asap","process","utils$1","AxiosError","request","prototype$1","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","isFlatArray","predicates","toFormData","formData","option","metaTokens","defaultVisitor","indexes","useBlob","convertValue","Buffer","exposedHelpers","build","encode$1","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","utils","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","bytes","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","threshold","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","timeoutErrorMessage","cancel","composeSignals$1","signals","timeout","controller","aborted","onabort","unsubscribe","signal","streamChunk","chunkSize","readBytes","iterable","readStream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","getBodyLength","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","s","throwIfCancellationRequested","dispatchRequest","VERSION","validators$1","deprecatedWarnings","validator","version","formatMessage","opt","desc","correctSpelling","assertOptions","allowUnknown","validators","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","isAxiosError","payload","HttpStatusCode","HttpStatusCode$1","createInstance","defaultConfig","promises","axios_1","major","require$$1","_interopDefault","valid__default","major__default","ProxyBus","bus2","SimpleBus","bus","getBus","subscribe","eventBus","browserStorage$1","observers","getRequestToken","onRequestTokenUpdate","observer","e2","getCSPNonce","token2","browserStorage","getGuestNickname","setGuestNickname","nickname","currentUser","getAttribute","uid","U","R","o","f","require$$2","Axios__default","RETRY_KEY","onError$2","_a2","responseURL","RETRY_DELAY_KEY","onError$1","retryDelay","onError","_a","client","cancelableClient","__importDefault","this","mod","dist","capabilities_1","event_bus_1","getSupportedTypes","capabilities","listen","setupGlobals","setupSocket","preAuth","clickOutsideOptions","vOnClickOutside","cancelled","contentContainer","createFocusTrap","getTrapStack","NcHeaderMenu","HowlerGlobal","Howler","vol","setupAudioContext","ids","sound","muted","audioTest","mpegTest","checkOpera","isOldOpera","checkSafari","safariVersion","isOldSafari","unlock","audioNode","testPlay","audio","handleSuspension","Howl","Sound","loadBuffer","sprite","internal","num","soundId","seek","duration","setParams","playWebAudio","playHtml5","play","loadedNoReadyState","currentTime","isGroup","steps","stepLen","lastTick","tick","loop","playing","seekAndEmit","emitSeek","realTime","rateSeek","sounds","remCache","isId","task","cnt","isIOS","checkIE","howl","volume","loadSound","dataView","decodeAudioData","xhr","safeXhrSend","arraybuffer","success","iOS","appVersion","safari","pan","y","z","xUp","yUp","zUp","or","_super","pannerType","setupPanner","pa","panner","createWebNotification","playNotificationSound","howlPayload","generateFilePath","primaryDeviceId","secondarySpeakerEnabled","secondaryDeviceId","soundDuped","IconBell","IconClose","IconMessage","IconNotification","Notification","notifications","pollInterval","temporary","permissions"],"ignoreList":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,153,158,159,160,161,162,163,164,165,166,167,168],"sources":["../node_modules/vue-material-design-icons/Bell.vue","../node_modules/vue-material-design-icons/Close.vue","../node_modules/vue-material-design-icons/Message.vue","../src/Components/IconNotification.vue","../node_modules/@nextcloud/vue/dist/chunks/index-56SXuvlv.mjs","../node_modules/@nextcloud/vue/dist/Components/NcEmptyContent.mjs","../node_modules/vue-router/dist/vue-router.esm.js","../node_modules/@nextcloud/vue/dist/chunks/AlertCircleOutline-DBxbepLy.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-DTtUueUZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField-DRANdaIf.mjs","../node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-CMKHbYwz.mjs","../node_modules/@nextcloud/sharing/dist/public.mjs","../node_modules/bail/index.js","../node_modules/extend/index.js","../node_modules/unified/node_modules/is-plain-obj/index.js","../node_modules/trough/index.js","../node_modules/unist-util-stringify-position/lib/index.js","../node_modules/vfile-message/lib/index.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/vfile/lib/minurl.shared.js","../node_modules/vfile/lib/minurl.browser.js","../node_modules/vfile/lib/index.js","../node_modules/unified/lib/callable-instance.js","../node_modules/unified/lib/index.js","../node_modules/mdast-util-to-string/lib/index.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-util-sanitize-uri/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../node_modules/micromark-util-subtokenize/index.js","../node_modules/micromark-core-commonmark/lib/content.js","../node_modules/micromark-factory-destination/index.js","../node_modules/micromark-factory-label/index.js","../node_modules/micromark-factory-title/index.js","../node_modules/micromark-factory-whitespace/index.js","../node_modules/micromark-core-commonmark/lib/definition.js","../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../node_modules/micromark-core-commonmark/lib/heading-atx.js","../node_modules/micromark-util-html-tag-name/index.js","../node_modules/micromark-core-commonmark/lib/html-flow.js","../node_modules/micromark-core-commonmark/lib/html-text.js","../node_modules/micromark-core-commonmark/lib/label-end.js","../node_modules/micromark-core-commonmark/lib/label-start-image.js","../node_modules/micromark-core-commonmark/lib/label-start-link.js","../node_modules/micromark-core-commonmark/lib/line-ending.js","../node_modules/micromark-core-commonmark/lib/thematic-break.js","../node_modules/micromark-core-commonmark/lib/list.js","../node_modules/micromark-core-commonmark/lib/setext-underline.js","../node_modules/micromark/lib/initialize/flow.js","../node_modules/micromark/lib/initialize/text.js","../node_modules/micromark/lib/constructs.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/micromark/lib/parse.js","../node_modules/micromark/lib/postprocess.js","../node_modules/micromark/lib/preprocess.js","../node_modules/micromark-util-decode-string/index.js","../node_modules/mdast-util-from-markdown/lib/index.js","../node_modules/remark-parse/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-newline-to-break/lib/index.js","../node_modules/remark-breaks/lib/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/unist-util-position/lib/index.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/table-row.js","../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","../node_modules/trim-lines/index.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/@ungap/structured-clone/esm/types.js","../node_modules/@ungap/structured-clone/esm/deserialize.js","../node_modules/@ungap/structured-clone/esm/serialize.js","../node_modules/@ungap/structured-clone/esm/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/property-information/lib/find.js","../node_modules/property-information/lib/hast-to-react.js","../node_modules/property-information/index.js","../node_modules/space-separated-tokens/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/inline-style-parser/index.js","../node_modules/style-to-object/index.js","../node_modules/web-namespaces/index.js","../node_modules/hast-to-hyperscript/lib/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","../node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","../node_modules/@mapbox/hast-util-table-cell-style/index.js","../node_modules/hast-util-whitespace/index.js","../node_modules/rehype-react/lib/index.js","../node_modules/hast-util-is-element/lib/index.js","../node_modules/is-absolute-url/index.js","../node_modules/rehype-external-links/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/NcRichText-D6qJ5S5v.mjs","../src/Components/Action.vue","../src/Components/Parameters/DefaultParameter.vue","../src/Components/Parameters/File.vue","../node_modules/@nextcloud/vue/dist/chunks/NcUserBubble-cO5krePG.mjs","../src/Components/Parameters/User.vue","../src/utils/datetime.js","../src/Components/Notification.vue","../src/services/notificationsService.js","../node_modules/@nextcloud/initial-state/dist/index.cjs","../node_modules/@nextcloud/capabilities/dist/index.cjs","../node_modules/axios/dist/browser/axios.cjs","../node_modules/@nextcloud/event-bus/dist/index.cjs","../node_modules/@nextcloud/auth/dist/index.cjs","../node_modules/@nextcloud/router/dist/index.cjs","../node_modules/@nextcloud/axios/dist/index.cjs","../node_modules/@nextcloud/notify_push/dist/index.js","../node_modules/@nextcloud/vue/dist/Mixins/clickOutsideOptions.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcHeaderMenu-Bc1ucNsv.mjs","../node_modules/howler/dist/howler.js","../src/services/webNotificationsService.js","../src/NotificationsApp.vue"],"sourcesContent":["\n \n \n \n {{ title }} \n \n \n \n \n\n","\n \n \n \n {{ title }} \n \n \n \n \n\n","\n \n \n \n {{ title }} \n \n \n \n \n\n","\n\n\t\n\t\t\n\t\t\n\t\t\t \n\t\t\t \n\t\t \n\t \n\t \n \n\n\n","if (!window._vue_richtext_widgets) {\n window._vue_richtext_widgets = {};\n}\nconst isWidgetRegistered = (id) => {\n return !!window._vue_richtext_widgets[id];\n};\nconst hasInteractiveView = (id) => {\n return !!window._vue_richtext_widgets[id]?.hasInteractiveView;\n};\nconst hasFullWidth = (id) => {\n return !!window._vue_richtext_widgets[id]?.fullWidth;\n};\nconst registerWidget = (id, callback, onDestroy = (el) => {\n}, props) => {\n const propsWithDefaults = {\n hasInteractiveView: true,\n fullWidth: false,\n ...props\n };\n if (window._vue_richtext_widgets[id]) {\n console.error(\"Widget for id \" + id + \" already registered\");\n return;\n }\n window._vue_richtext_widgets[id] = {\n id,\n callback,\n onDestroy,\n ...propsWithDefaults\n };\n};\nconst renderWidget = (el, { richObjectType, richObject, accessible, interactive }) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n console.error(\"Widget for rich object type \" + richObjectType + \" not registered\");\n return;\n }\n window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive });\n};\nconst destroyWidget = (richObjectType, el) => {\n if (richObjectType === \"open-graph\") {\n return;\n }\n if (!window._vue_richtext_widgets[richObjectType]) {\n return;\n }\n window._vue_richtext_widgets[richObjectType].onDestroy(el);\n};\nwindow._registerWidget = (id, callback, onDestroy, props) => {\n registerWidget(id, callback, onDestroy, props);\n};\nif (!window._vue_richtext_custom_picker_elements) {\n window._vue_richtext_custom_picker_elements = {};\n}\nclass NcCustomPickerRenderResult {\n /**\n * @param {HTMLElement} element The HTML element\n * @param {object} object The object\n */\n constructor(element, object) {\n this.element = element;\n this.object = object;\n }\n}\nconst isCustomPickerElementRegistered = (id) => {\n return !!window._vue_richtext_custom_picker_elements[id];\n};\nconst getCustomPickerElementSize = (id) => {\n const size = window._vue_richtext_custom_picker_elements[id]?.size;\n if ([\"small\", \"normal\", \"large\", \"full\"].includes(size)) {\n return size;\n }\n return null;\n};\nconst registerCustomPickerElement = (id, callback, onDestroy = (el) => {\n}, size = \"large\") => {\n if (window._vue_richtext_custom_picker_elements[id]) {\n console.error(\"Custom reference picker element for id \" + id + \" already registered\");\n return;\n }\n window._vue_richtext_custom_picker_elements[id] = {\n id,\n callback,\n onDestroy,\n size\n };\n};\nconst renderCustomPickerElement = (el, { providerId, accessible }) => {\n if (!window._vue_richtext_custom_picker_elements[providerId]) {\n console.error(\"Custom reference picker element for reference provider ID \" + providerId + \" not registered\");\n return;\n }\n return window._vue_richtext_custom_picker_elements[providerId].callback(el, { providerId, accessible });\n};\nconst destroyCustomPickerElement = (providerId, el, renderResult) => {\n if (!window._vue_richtext_custom_picker_elements[providerId]) {\n return;\n }\n window._vue_richtext_custom_picker_elements[providerId].onDestroy(el, renderResult);\n};\nwindow._registerCustomPickerElement = registerCustomPickerElement;\nexport {\n NcCustomPickerRenderResult as N,\n renderWidget as a,\n registerCustomPickerElement as b,\n renderCustomPickerElement as c,\n isCustomPickerElementRegistered as d,\n destroyWidget as e,\n hasFullWidth as f,\n destroyCustomPickerElement as g,\n hasInteractiveView as h,\n isWidgetRegistered as i,\n getCustomPickerElementSize as j,\n registerWidget as r\n};\n//# sourceMappingURL=index-56SXuvlv.mjs.map\n","import '../assets/NcEmptyContent-CSsXYYcn.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcEmptyContent\",\n props: {\n /**\n * A header message about an empty content shown\n * @example 'No comments'\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Desription of the empty content\n * @example 'No comments yet, start the conversation!'\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n computed: {\n hasName() {\n return this.name !== \"\";\n },\n /**\n * Check if a description is given as either property or slot\n */\n hasDescription() {\n return this.description !== \"\" || this.$slots.description?.[0];\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"empty-content\", attrs: { \"role\": \"note\" } }, [_vm.$slots.icon ? _c(\"div\", { staticClass: \"empty-content__icon\", attrs: { \"aria-hidden\": \"true\" } }, [_vm._t(\"icon\")], 2) : _vm._e(), _vm._t(\"name\", function() {\n return [_vm.hasName ? _c(\"span\", { staticClass: \"empty-content__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e()];\n }), _vm.hasDescription ? _c(\"p\", { staticClass: \"empty-content__description\" }, [_vm._t(\"description\", function() {\n return [_vm._v(\" \" + _vm._s(_vm.description) + \" \")];\n })], 2) : _vm._e(), _vm.$slots.action ? _c(\"div\", { staticClass: \"empty-content__action\" }, [_vm._t(\"action\")], 2) : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"12126d08\"\n);\nconst NcEmptyContent = __component__.exports;\nexport {\n NcEmptyContent as default\n};\n//# sourceMappingURL=NcEmptyContent.mjs.map\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n \\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"AlertCircleOutlineIcon\",\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 _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-circle-outline-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst AlertCircle = __component__.exports;\nexport {\n AlertCircle as A\n};\n//# sourceMappingURL=AlertCircleOutline-DBxbepLy.mjs.map\n","import '../assets/NcInputField-GxJ-rf2p.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { A as AlertCircle } from \"./AlertCircleOutline-DBxbepLy.mjs\";\nimport { C as Check } from \"./Check-BkThHPH7.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcInputField\",\n components: {\n NcButton,\n AlertCircle,\n Check\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The value of the input field\n * If type is 'number' and a number is passed as value than the type of `update:modelValue` will also be 'number'\n */\n modelValue: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The type of the input element\n */\n type: {\n type: String,\n default: \"text\",\n validator: (value) => [\n \"text\",\n \"password\",\n \"email\",\n \"tel\",\n \"url\",\n \"search\",\n \"number\"\n ].includes(value)\n },\n /**\n * The input label, always provide one for accessibility purposes.\n * This will also be used as a placeholder unless the placeholder\n * prop is populated with a different string.\n *\n * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n */\n label: {\n type: String,\n default: void 0\n },\n /**\n * Pass in true if you want to use an external label. This is useful\n * if you need a label that looks different from the one provided by\n * this component\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * The placeholder of the input. This defaults as the string that's\n * passed into the label prop. In order to remove the placeholder,\n * pass in an empty string.\n */\n placeholder: {\n type: String,\n default: void 0\n },\n /**\n * Controls whether to display the trailing button.\n */\n showTrailingButton: {\n type: Boolean,\n default: false\n },\n /**\n * Label of the trailing button\n *\n * Required when showTrailingButton is set\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Toggles the success state of the component. Adds a checkmark icon.\n * this cannot be used together with canClear.\n */\n success: {\n type: Boolean,\n default: false\n },\n /**\n * Toggles the error state of the component. Adds an error icon.\n * this cannot be used together with canClear.\n */\n error: {\n type: Boolean,\n default: false\n },\n /**\n * Additional helper text message\n *\n * This will be displayed beneath the input field. In case the field is\n * also marked as having an error, the text will be displayed in red.\n */\n helperText: {\n type: String,\n default: \"\"\n },\n /**\n * Disable the input field\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Specifies whether the input should have a pill form.\n * By default, input has rounded corners.\n */\n pill: {\n type: Boolean,\n default: false\n },\n /**\n * Class to add to the input field.\n * Necessary to use NcInputField in the NcActionInput component.\n */\n inputClass: {\n type: [Object, String],\n default: \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"trailing-button-click\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\", true);\n return {\n model\n };\n },\n computed: {\n computedId() {\n return this.$attrs.id && this.$attrs.id !== \"\" ? this.$attrs.id : this.inputName;\n },\n inputName() {\n return \"input\" + GenRandomId();\n },\n hasTrailingIcon() {\n return this.success;\n },\n hasPlaceholder() {\n return this.placeholder !== \"\" && this.placeholder !== void 0;\n },\n computedPlaceholder() {\n return this.hasPlaceholder ? this.placeholder : this.label;\n },\n isValidLabel() {\n const isValidLabel = this.label || this.labelOutside;\n if (!isValidLabel) {\n console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel;\n },\n ariaDescribedby() {\n const ariaDescribedby = [];\n if (this.helperText.length > 0) {\n ariaDescribedby.push(`${this.inputName}-helper-text`);\n }\n if (this.$attrs[\"aria-describedby\"]) {\n ariaDescribedby.push(this.$attrs[\"aria-describedby\"]);\n }\n return ariaDescribedby.join(\" \") || null;\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.input.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.input.select();\n },\n handleInput(event) {\n const newValue = this.type === \"number\" && typeof this.model === \"number\" ? parseFloat(event.target.value, 10) : event.target.value;\n this.model = newValue;\n },\n handleTrailingButtonClick(event) {\n this.$emit(\"trailing-button-click\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"input-field\", class: {\n \"input-field--disabled\": _vm.disabled,\n \"input-field--label-outside\": _vm.labelOutside || !_vm.isValidLabel,\n \"input-field--leading-icon\": !!_vm.$scopedSlots.icon || !!_vm.$scopedSlots.default || !!_vm.$slots.default,\n \"input-field--trailing-icon\": _vm.showTrailingButton || _vm.hasTrailingIcon,\n \"input-field--pill\": _vm.pill\n } }, [_c(\"div\", { staticClass: \"input-field__main-wrapper\" }, [_c(\"input\", _vm._g(_vm._b({ ref: \"input\", staticClass: \"input-field__input\", class: [\n _vm.inputClass,\n {\n \"input-field__input--success\": _vm.success,\n \"input-field__input--error\": _vm.error\n }\n ], attrs: { \"id\": _vm.computedId, \"type\": _vm.type, \"disabled\": _vm.disabled, \"placeholder\": _vm.computedPlaceholder, \"aria-describedby\": _vm.ariaDescribedby, \"aria-live\": \"polite\" }, domProps: { \"value\": _vm.model?.toString() }, on: { \"input\": _vm.handleInput } }, \"input\", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c(\"label\", { staticClass: \"input-field__label\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !!_vm.$scopedSlots.icon || !!_vm.$scopedSlots.default || !!_vm.$slots.default, expression: \"!!$scopedSlots.icon || !!$scopedSlots.default || !!$slots.default\" }], staticClass: \"input-field__icon input-field__icon--leading\" }, [_vm._t(\"icon\", function() {\n return [_vm._t(\"default\")];\n })], 2), _vm.showTrailingButton ? _c(\"NcButton\", { staticClass: \"input-field__trailing-button\", attrs: { \"aria-label\": _vm.trailingButtonLabel, \"disabled\": _vm.disabled, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"trailing-button-icon\")];\n }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c(\"div\", { staticClass: \"input-field__icon input-field__icon--trailing\" }, [_vm.success ? _c(\"Check\", { staticStyle: { \"color\": \"var(--color-success-text)\" }, attrs: { \"size\": 20 } }) : _vm.error ? _c(\"AlertCircle\", { staticStyle: { \"color\": \"var(--color-error-text)\" }, attrs: { \"size\": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c(\"p\", { staticClass: \"input-field__helper-text-message\", class: {\n \"input-field__helper-text-message--error\": _vm.error,\n \"input-field__helper-text-message--success\": _vm.success\n }, attrs: { \"id\": `${_vm.inputName}-helper-text` } }, [_vm.success ? _c(\"Check\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm.error ? _c(\"AlertCircle\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm._e(), _vm._v(\" \" + _vm._s(_vm.helperText) + \" \")], 1) : _vm._e()]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8f3abf17\"\n);\nconst NcInputField = __component__.exports;\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-DTtUueUZ.mjs.map\n","import { N as NcInputField } from \"./NcInputField-DTtUueUZ.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, e as t49, f as t16, a as t } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nconst _sfc_main$1 = {\n name: \"UndoVariantIcon\",\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 _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nregister(t16, t49);\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n name: \"NcTextField\",\n components: {\n NcInputField,\n Close,\n ArrowRight,\n Undo\n },\n // Allow forwarding all attributes\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {},\n // Reuse all the props from NcInputField for better typing and documentation\n ...NcInputField.props,\n /**\n * The `aria-label` to set on the trailing button\n * If no explicit value is set it will default to the one matching the `trailingButtonIcon`:\n * @default 'Clear text'|'Save changes'|'Undo changes'\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n // Custom props\n /**\n * Specifies which material design icon should be used for the trailing\n * button.\n * @type {'close'|'arrowRight'|'undo'}\n */\n trailingButtonIcon: {\n type: String,\n default: \"close\",\n validator: (value) => [\n \"close\",\n \"arrowRight\",\n \"undo\"\n ].includes(value)\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n computed: {\n propsAndAttrsToForward() {\n const predefinedLabels = {\n undo: t(\"Undo changes\"),\n close: t(\"Clear text\"),\n arrowRight: t(\"Save changes\")\n };\n return {\n // Proxy all the HTML attributes\n ...this.$attrs,\n // Proxy original NcInputField's props\n ...Object.fromEntries(\n Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))\n ),\n // Adjust aria-label for predefined trailing buttons\n trailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon]\n };\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.inputField.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.inputField.select();\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", scopedSlots: _vm._u([!!_vm.$scopedSlots.icon || !!_vm.$slots.default || !!_vm.$scopedSlots.default ? { key: \"icon\", fn: function() {\n return [_vm._t(\"icon\", function() {\n return [_vm._t(\"default\")];\n })];\n }, proxy: true } : null, _vm.type !== \"search\" ? { key: \"trailing-button-icon\", fn: function() {\n return [_vm.trailingButtonIcon === \"close\" ? _c(\"Close\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"arrowRight\" ? _c(\"ArrowRight\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"undo\" ? _c(\"Undo\", { attrs: { \"size\": 20 } }) : _vm._e()];\n }, proxy: true } : null], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcTextField = __component__.exports;\nexport {\n NcTextField as N\n};\n//# sourceMappingURL=NcTextField-DRANdaIf.mjs.map\n","import '../assets/referencePickerModal-Ba6soz9w.css';\nimport { e as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, f as hasFullWidth, c as renderCustomPickerElement, g as destroyCustomPickerElement, d as isCustomPickerElementRegistered, j as getCustomPickerElementSize } from \"./index-56SXuvlv.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, V as t21, a as t, W as t7, X as t44, Y as t38, Z as t22, B as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-Dt0m9Fxw.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { imagePath, generateOcsUrl } from \"@nextcloud/router\";\nimport NcEmptyContent from \"../Components/NcEmptyContent.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcSelect } from \"./NcSelect-TmGBPLzc.mjs\";\nimport { useElementSize, useIntersectionObserver } from \"@vueuse/core\";\nimport Vue, { ref, nextTick } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcTextField } from \"./NcTextField-DRANdaIf.mjs\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nregister(t21);\nconst IDLE_TIMEOUT = 3 * 60 * 1e3;\nconst _sfc_main$8 = {\n name: \"NcReferenceWidget\",\n components: {\n NcButton\n },\n props: {\n reference: {\n type: Object,\n required: true\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const isVisible = ref(false);\n const widgetRoot = ref();\n const { width } = useElementSize(widgetRoot);\n useIntersectionObserver(widgetRoot, ([entry]) => {\n nextTick(() => {\n isVisible.value = entry.isIntersecting;\n });\n });\n return {\n width,\n isVisible,\n widgetRoot\n };\n },\n data() {\n return {\n showInteractive: false,\n rendered: false,\n idleTimeout: null\n };\n },\n computed: {\n isInteractive() {\n return !this.interactiveOptIn && this.interactive || this.showInteractive;\n },\n hasFullWidth() {\n return hasFullWidth(this.reference.richObjectType);\n },\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n hasInteractiveView() {\n return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.numberOfLines === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.numberOfLines;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n numberOfLines() {\n const lineCountOffsets = [450, 550, 650, Infinity];\n return lineCountOffsets.findIndex((max) => this.width < max);\n },\n compactLink() {\n const link = this.reference.openGraphObject.link;\n if (!link) {\n return \"\";\n }\n if (link.startsWith(\"https://\")) {\n return link.substring(8);\n }\n if (link.startsWith(\"http://\")) {\n return link.substring(7);\n }\n return link;\n },\n route() {\n return getRoute(this.$router, this.reference.openGraphObject.link);\n },\n referenceWidgetLinkComponent() {\n return this.route ? RouterLink : \"a\";\n },\n referenceWidgetLinkProps() {\n return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: \"_blank\" };\n }\n },\n watch: {\n isVisible: {\n handler(val) {\n if (!val) {\n this.idleTimeout = setTimeout(() => {\n if (!this.isVisible) {\n this.destroyWidget();\n }\n }, IDLE_TIMEOUT);\n return;\n }\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (!this.rendered) {\n this.renderWidget();\n }\n },\n immediate: true\n }\n },\n beforeDestroy() {\n this.destroyWidget();\n },\n methods: {\n t,\n enableInteractive() {\n this.showInteractive = true;\n this.renderWidget();\n },\n renderWidget() {\n if (!this.$refs.customWidget) {\n return;\n }\n if (this?.reference?.richObjectType === \"open-graph\") {\n return;\n }\n this.$refs.customWidget.innerHTML = \"\";\n const widget = document.createElement(\"div\");\n widget.style = \"width: 100%;\";\n this.$refs.customWidget.appendChild(widget);\n this.$nextTick(() => {\n renderWidget(widget, {\n ...this.reference,\n interactive: this.isInteractive\n });\n this.rendered = true;\n });\n },\n destroyWidget() {\n if (this.rendered) {\n destroyWidget(this.reference.richObjectType, this.$el);\n this.rendered = false;\n }\n }\n }\n};\nvar _sfc_render$8 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"widgetRoot\", class: { \"toggle-interactive\": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { ref: \"customWidget\", staticClass: \"widget-custom\", class: { \"full-width\": _vm.hasFullWidth } }) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: \"component\", staticClass: \"widget-default\", attrs: { \"rel\": \"noopener noreferrer\" } }, \"component\", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--name\" }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.name) + \" \")]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.description) + \" \")]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(\" \" + _vm._s(_vm.compactLink) + \" \")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c(\"NcButton\", { staticClass: \"toggle-interactive--button\", on: { \"click\": _vm.enableInteractive } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Enable interactive view\")) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$8 = [];\nvar __component__$8 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$8,\n _sfc_render$8,\n _sfc_staticRenderFns$8,\n false,\n null,\n \"734d6ae9\"\n);\nconst NcReferenceWidget = __component__$8.exports;\nconst _sfc_main$7 = {\n name: \"NcCustomPickerElement\",\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n isRegistered: isCustomPickerElementRegistered(this.provider.id),\n renderResult: null\n };\n },\n mounted() {\n if (this.isRegistered) {\n this.renderElement();\n }\n },\n beforeDestroy() {\n if (this.isRegistered) {\n destroyCustomPickerElement(this.provider.id, this.$el, this.renderResult);\n }\n },\n methods: {\n renderElement() {\n if (this.$refs.domElement) {\n this.$refs.domElement.innerHTML = \"\";\n }\n const renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });\n Promise.resolve(renderFunctionResult).then((result) => {\n this.renderResult = result;\n if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n this.renderResult.object.$on(\"submit\", this.onSubmit);\n this.renderResult.object.$on(\"cancel\", this.onCancel);\n }\n this.renderResult.element.addEventListener(\"submit\", (e) => {\n this.onSubmit(e.detail);\n });\n this.renderResult.element.addEventListener(\"cancel\", this.onCancel);\n });\n },\n onSubmit(value) {\n this.$emit(\"submit\", value);\n },\n onCancel() {\n this.$emit(\"cancel\");\n }\n }\n};\nvar _sfc_render$7 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"domElement\" });\n};\nvar _sfc_staticRenderFns$7 = [];\nvar __component__$7 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$7,\n _sfc_render$7,\n _sfc_staticRenderFns$7,\n false,\n null,\n \"de9850e4\"\n);\nconst NcCustomPickerElement = __component__$7.exports;\nregister(t7);\nconst anyLinkProviderId = \"any-link\";\nconst anyLinkProvider = {\n id: anyLinkProviderId,\n title: t(\"Any link\"),\n icon_url: imagePath(\"core\", \"filetypes/link.svg\")\n};\nif (!window._vue_richtext_reference_providers) {\n window._vue_richtext_reference_providers = loadState(\"core\", \"reference-provider-list\", []);\n}\nif (!window._vue_richtext_reference_provider_timestamps) {\n window._vue_richtext_reference_provider_timestamps = loadState(\"core\", \"reference-provider-timestamps\", {});\n}\nfunction getProvider(providerId) {\n if (providerId === anyLinkProviderId) {\n return anyLinkProvider;\n }\n return getProviders().find((p) => p.id === providerId);\n}\nfunction getProviders() {\n return window._vue_richtext_reference_providers.filter((p) => {\n const keep = !!p.search_providers_ids && p.search_providers_ids.length > 0 || isCustomPickerElementRegistered(p.id);\n if (!keep) {\n console.debug(\"[smart picker]\", p.id, \"reference provider is discoverable but does not have any related search provider or custom picker component registered\");\n }\n return keep;\n });\n}\nfunction sortProviders(providerList) {\n const timestamps = window._vue_richtext_reference_provider_timestamps;\n return providerList.sort((a, b) => {\n return a.order === b.order ? 0 : a.order > b.order ? 1 : -1;\n }).sort((a, b) => {\n const ta = timestamps[a.id];\n const tb = timestamps[b.id];\n return ta === tb ? 0 : tb === void 0 ? -1 : ta === void 0 ? 1 : ta > tb ? -1 : 1;\n });\n}\nfunction searchProvider(query, limit = null) {\n const providers = getProviders();\n const escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const regexp = new RegExp(escapedQuery, \"i\");\n const sortedProviders = sortProviders(providers);\n const filteredSortedProviders = sortedProviders.filter((p) => {\n return p.title.match(regexp);\n });\n const searchResult = limit ? filteredSortedProviders.slice(0, limit) : filteredSortedProviders;\n if (query === \"\" || searchResult.length === 0) {\n searchResult.push(anyLinkProvider);\n }\n return searchResult;\n}\nfunction touchProvider(providerId) {\n const timestamp = Math.floor(Date.now() / 1e3);\n const params = {\n timestamp\n };\n const url = generateOcsUrl(\"references/provider/{providerId}\", { providerId });\n axios.put(url, params).then((response) => {\n window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;\n });\n}\nlet mytimer = 0;\nfunction delay(callback, ms) {\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(mytimer);\n mytimer = setTimeout(function() {\n callback.apply(context, args);\n }, ms);\n };\n}\nfunction isUrl(str) {\n try {\n return Boolean(new URL(str));\n } catch (error) {\n return false;\n }\n}\nregister(t38, t44);\nconst _sfc_main$6 = {\n name: \"LinkVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$6 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon link-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$6 = [];\nvar __component__$6 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$6,\n _sfc_render$6,\n _sfc_staticRenderFns$6,\n false,\n null,\n null\n);\nconst LinkVariantIcon = __component__$6.exports;\nconst _sfc_main$5 = {\n name: \"NcProviderList\",\n components: {\n NcSelect,\n NcHighlight,\n NcEmptyContent,\n LinkVariantIcon\n },\n emits: [\n \"select-provider\",\n \"submit\"\n ],\n data() {\n return {\n selectedProvider: null,\n query: \"\",\n multiselectPlaceholder: t(\"Select provider\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n options() {\n const result = [];\n if (this.query !== \"\" && isUrl(this.query)) {\n result.push({\n id: this.query,\n title: this.query,\n isLink: true\n });\n }\n result.push(...searchProvider(this.query));\n return result;\n }\n },\n methods: {\n focus() {\n setTimeout(() => {\n this.$refs[\"provider-select\"]?.$el?.querySelector(\"#provider-select-input\")?.focus();\n }, 300);\n },\n onProviderSelected(p) {\n if (p !== null) {\n if (p.isLink) {\n this.$emit(\"submit\", p.title);\n } else {\n this.$emit(\"select-provider\", p);\n }\n this.selectedProvider = null;\n }\n },\n onSearch(query, loading) {\n this.query = query;\n }\n }\n};\nvar _sfc_render$5 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"provider-list\" }, [_c(\"NcSelect\", { ref: \"provider-select\", staticClass: \"provider-list--select\", attrs: { \"input-id\": \"provider-select-input\", \"label\": \"title\", \"placeholder\": _vm.multiselectPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"clear-search-on-select\": true, \"clear-search-on-blur\": () => false, \"filterable\": false }, on: { \"search\": _vm.onSearch, \"input\": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isLink ? _c(\"div\", { staticClass: \"provider\" }, [_c(\"LinkVariantIcon\", { staticClass: \"link-icon\", attrs: { \"size\": 20 } }), _c(\"span\", [_vm._v(_vm._s(option.title))])], 1) : _c(\"div\", { staticClass: \"provider\" }, [_c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": option.icon_url, \"alt\": _vm.providerIconAlt } }), _c(\"NcHighlight\", { staticClass: \"option-text\", attrs: { \"search\": _vm.query, \"text\": option.title } })], 1)];\n } }]), model: { value: _vm.selectedProvider, callback: function($$v) {\n _vm.selectedProvider = $$v;\n }, expression: \"selectedProvider\" } }), _c(\"NcEmptyContent\", { staticClass: \"provider-list--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n \"f03ee0c9\"\n);\nconst NcProviderList = __component__$5.exports;\nregister(t22);\nconst _sfc_main$4 = {\n name: \"NcRawLinkInput\",\n components: {\n LinkVariantIcon,\n NcEmptyContent,\n NcLoadingIcon,\n NcReferenceWidget,\n NcTextField\n },\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n inputValue: \"\",\n loading: false,\n reference: null,\n abortController: null,\n inputPlaceholder: t(\"Enter link\")\n };\n },\n computed: {\n isLinkValid() {\n return isUrl(this.inputValue);\n }\n },\n methods: {\n focus() {\n this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0]?.focus();\n },\n onSubmit(e) {\n const value = e.target.value;\n if (this.isLinkValid) {\n this.$emit(\"submit\", value);\n }\n },\n onClear() {\n this.inputValue = \"\";\n this.reference = null;\n },\n onInput() {\n this.reference = null;\n if (this.abortController) {\n this.abortController.abort();\n }\n if (this.isLinkValid) {\n delay(() => {\n this.updateReference();\n }, 500)();\n }\n },\n updateReference() {\n this.loading = true;\n this.abortController = new AbortController();\n axios.get(generateOcsUrl(\"references/resolve\", 2) + \"?reference=\" + encodeURIComponent(this.inputValue), {\n signal: this.abortController.signal\n }).then((response) => {\n this.reference = response.data.ocs.data.references[this.inputValue];\n }).catch((error) => {\n console.error(error);\n }).then(() => {\n this.loading = false;\n });\n }\n }\n};\nvar _sfc_render$4 = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"raw-link\" }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"NcTextField\", { ref: \"url-input\", attrs: { \"value\": _vm.inputValue, \"show-trailing-button\": _vm.inputValue !== \"\", \"label\": _vm.inputPlaceholder }, on: { \"update:value\": [function($event) {\n _vm.inputValue = $event;\n }, _vm.onInput], \"trailing-button-click\": _vm.onClear }, nativeOn: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_vm.loading ? _c(\"NcLoadingIcon\", { attrs: { \"size\": 16 } }) : _c(\"LinkVariantIcon\", { attrs: { \"size\": 16 } })], 1)], 1), _vm.reference !== null ? _c(\"NcReferenceWidget\", { staticClass: \"reference-widget\", attrs: { \"reference\": _vm.reference } }) : _c(\"NcEmptyContent\", { staticClass: \"raw-link--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n \"3c1803b5\"\n);\nconst NcRawLinkInput = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"NcSearchResult\",\n components: {\n NcHighlight\n },\n props: {\n /**\n * Unified search result entry\n */\n entry: {\n type: Object,\n required: true\n },\n /**\n * The query that led to getting this result\n * Used to highlight the entry text\n */\n query: {\n type: String,\n required: true\n }\n }\n};\nvar _sfc_render$3 = function render6() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"result\" }, [_vm.entry.icon ? _c(\"div\", { staticClass: \"result--icon-class\", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c(\"img\", { staticClass: \"result--image\", class: { rounded: _vm.entry.rounded }, attrs: { \"src\": _vm.entry.thumbnailUrl } }), _c(\"div\", { staticClass: \"result--content\" }, [_c(\"span\", { staticClass: \"result--content--name\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.title } })], 1), _c(\"span\", { staticClass: \"result--content--subline\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.subline } })], 1)])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"ff4bcbf3\"\n);\nconst NcSearchResult = __component__$3.exports;\nregister(t29, t38, t40);\nconst LIMIT = 5;\nconst _sfc_main$2 = {\n name: \"NcSearch\",\n components: {\n LinkVariantIcon,\n DotsHorizontalIcon: DotsHorizontal,\n NcEmptyContent,\n NcSelect,\n NcSearchResult\n },\n props: {\n /**\n * The selected reference provider\n */\n provider: {\n type: Object,\n required: true\n },\n showEmptyContent: {\n type: Boolean,\n default: true\n },\n searchPlaceholder: {\n type: String,\n default: null\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n searchQuery: \"\",\n selectedResult: null,\n resultsBySearchProvider: {},\n searching: false,\n searchingMoreOf: null,\n abortController: null,\n noOptionsText: t(\"Start typing to search\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n mySearchPlaceholder() {\n return this.searchPlaceholder || t(\"Search\");\n },\n searchProviderIds() {\n return this.provider.search_providers_ids;\n },\n options() {\n if (this.searchQuery === \"\") {\n return [];\n }\n const options = [];\n if (isUrl(this.searchQuery)) {\n options.push(this.rawLinkEntry);\n }\n options.push(...this.formattedSearchResults);\n return options;\n },\n rawLinkEntry() {\n return {\n id: \"rawLinkEntry\",\n resourceUrl: this.searchQuery,\n isRawLink: true\n };\n },\n formattedSearchResults() {\n const results = [];\n this.searchProviderIds.forEach((pid) => {\n if (this.resultsBySearchProvider[pid].entries.length > 0) {\n if (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n results.push({\n id: \"groupTitle-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isCustomGroupTitle: true,\n providerId: pid\n });\n }\n const providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n return {\n id: \"provider-\" + pid + \"-entry-\" + index,\n ...entry\n };\n });\n results.push(...providerEntriesWithId);\n if (this.resultsBySearchProvider[pid].isPaginated) {\n results.push({\n id: \"moreOf-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isMore: true,\n providerId: pid,\n isLoading: this.searchingMoreOf === pid\n });\n }\n }\n });\n return results;\n }\n },\n mounted() {\n this.resetResults();\n },\n beforeDestroy() {\n this.cancelSearchRequests();\n },\n methods: {\n t,\n resetResults() {\n const resultsBySearchProvider = {};\n this.searchProviderIds.forEach((pid) => {\n resultsBySearchProvider[pid] = {\n entries: []\n };\n });\n this.resultsBySearchProvider = resultsBySearchProvider;\n },\n focus() {\n setTimeout(() => {\n this.$refs[\"search-select\"]?.$el?.querySelector(\"#search-select-input\")?.focus();\n }, 300);\n },\n cancelSearchRequests() {\n if (this.abortController) {\n this.abortController.abort();\n }\n },\n onSearchInput(query, loading) {\n this.searchQuery = query;\n delay(() => {\n this.updateSearch();\n }, 500)();\n },\n onSelectResultSelected(item) {\n if (item !== null) {\n if (item.resourceUrl) {\n this.cancelSearchRequests();\n this.$emit(\"submit\", item.resourceUrl);\n } else if (item.isMore) {\n this.searchMoreOf(item.providerId).then(() => {\n this.selectedResult = null;\n });\n }\n }\n },\n searchMoreOf(searchProviderId) {\n this.searchingMoreOf = searchProviderId;\n this.cancelSearchRequests();\n return this.searchProviders(searchProviderId);\n },\n updateSearch() {\n this.cancelSearchRequests();\n this.resetResults();\n if (this.searchQuery === \"\") {\n this.searching = false;\n return;\n }\n return this.searchProviders();\n },\n searchProviders(searchProviderId = null) {\n this.abortController = new AbortController();\n this.searching = true;\n const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {\n return this.searchOneProvider(pid);\n }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];\n return Promise.allSettled(searchPromises).then((promises) => {\n const isOneCanceled = !!promises.find((p) => {\n return p.status === \"rejected\" && (p.reason.name === \"CanceledError\" || p.reason.code === \"ERR_CANCELED\");\n });\n if (!isOneCanceled) {\n this.searching = false;\n this.searchingMoreOf = null;\n }\n });\n },\n searchOneProvider(providerId, cursor = null) {\n const url = cursor === null ? generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}\", { providerId, term: this.searchQuery, limit: LIMIT }) : generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\", { providerId, term: this.searchQuery, limit: LIMIT, cursor });\n return axios.get(url, {\n signal: this.abortController.signal\n }).then((response) => {\n const data = response.data.ocs.data;\n this.resultsBySearchProvider[providerId].name = data.name;\n this.resultsBySearchProvider[providerId].cursor = data.cursor;\n this.resultsBySearchProvider[providerId].isPaginated = data.isPaginated;\n this.resultsBySearchProvider[providerId].entries.push(...data.entries);\n });\n }\n }\n};\nvar _sfc_render$2 = function render7() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"smart-picker-search\", class: { \"with-empty-content\": _vm.showEmptyContent } }, [_c(\"NcSelect\", { ref: \"search-select\", staticClass: \"smart-picker-search--select\", attrs: { \"input-id\": \"search-select-input\", \"label\": \"name\", \"placeholder\": _vm.mySearchPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"close-on-select\": false, \"clear-search-on-select\": false, \"clear-search-on-blur\": () => false, \"reset-focus-on-options-change\": false, \"filterable\": false, \"autoscroll\": true, \"reset-on-options-change\": false, \"loading\": _vm.searching }, on: { \"search\": _vm.onSearchInput, \"input\": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isRawLink ? _c(\"div\", { staticClass: \"custom-option\" }, [_c(\"LinkVariantIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Raw link {options}\", { options: option.resourceUrl })) + \" \")])], 1) : option.resourceUrl ? _c(\"NcSearchResult\", { staticClass: \"search-result\", attrs: { \"entry\": option, \"query\": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c(\"span\", { staticClass: \"custom-option group-name\" }, [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon group-name-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _vm._e(), _c(\"span\", { staticClass: \"option-text\" }, [_c(\"strong\", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c(\"span\", { class: { \"custom-option\": true } }, [option.isLoading ? _c(\"span\", { staticClass: \"option-simple-icon icon-loading-small\" }) : _c(\"DotsHorizontalIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t('Load more \"{options}\"', { options: option.name })) + \" \")])], 1) : _vm._e()];\n } }, { key: \"no-options\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.noOptionsText) + \" \")];\n }, proxy: true }]), model: { value: _vm.selectedResult, callback: function($$v) {\n _vm.selectedResult = $$v;\n }, expression: \"selectedResult\" } }), _vm.showEmptyContent ? _c(\"NcEmptyContent\", { staticClass: \"smart-picker-search--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"alt\": _vm.providerIconAlt, \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }], null, false, 2922132592) }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"05fef988\"\n);\nconst NcSearch = __component__$2.exports;\nconst MODES = {\n providerList: 1,\n standardLinkInput: 2,\n searchInput: 3,\n customElement: 4\n};\nconst _sfc_main$1 = {\n name: \"NcReferencePicker\",\n components: {\n NcCustomPickerElement,\n NcProviderList,\n NcRawLinkInput,\n NcSearch\n },\n props: {\n /**\n * Provider to select on creation\n * Default: null. Show the provider list\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Optional width in pixels\n * Default: 100%\n */\n width: {\n type: Number,\n default: null\n },\n /**\n * Focus on the provider list select input on creation\n * Default: true\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"cancel\",\n \"cancel-raw-link\",\n \"cancel-search\",\n \"provider-selected\",\n \"submit\"\n ],\n data() {\n return {\n MODES,\n selectedProvider: this.initialProvider\n };\n },\n computed: {\n mode() {\n return this.selectedProvider === null ? MODES.providerList : isCustomPickerElementRegistered(this.selectedProvider.id) ? MODES.customElement : this.selectedProvider.search_providers_ids ? MODES.searchInput : MODES.standardLinkInput;\n },\n pickerWrapperStyle() {\n return {\n width: this.width ? this.width + \"px\" : void 0\n };\n }\n },\n mounted() {\n if (this.focusOnCreate) {\n if (this.initialProvider) {\n setTimeout(() => {\n this.$refs[\"url-input\"]?.focus();\n }, 300);\n } else {\n this.$nextTick(() => {\n this.$refs[\"provider-list\"]?.focus();\n });\n }\n }\n },\n methods: {\n onEscapePressed() {\n if (this.selectedProvider !== null) {\n this.deselectProvider();\n } else {\n this.cancelProviderSelection();\n }\n },\n onProviderSelected(provider) {\n this.selectedProvider = provider;\n this.$emit(\"provider-selected\", provider);\n this.$nextTick(() => {\n this.$refs[\"url-input\"]?.focus();\n });\n },\n cancelCustomElement() {\n this.deselectProvider();\n },\n cancelSearch() {\n this.$emit(\"cancel-search\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelRawLinkInput() {\n this.$emit(\"cancel-raw-link\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelProviderSelection() {\n this.$emit(\"cancel\");\n },\n submitLink(link) {\n if (this.selectedProvider !== null) {\n touchProvider(this.selectedProvider.id);\n }\n this.$emit(\"submit\", link);\n this.deselectProvider();\n },\n deselectProvider() {\n this.selectedProvider = null;\n this.$emit(\"provider-selected\", null);\n setTimeout(() => {\n this.$refs[\"provider-list\"]?.focus();\n }, 300);\n }\n }\n};\nvar _sfc_render$1 = function render8() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"reference-picker\", style: _vm.pickerWrapperStyle, attrs: { \"tabindex\": \"-1\" }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onEscapePressed.apply(null, arguments);\n } } }, [_vm.mode === _vm.MODES.providerList ? _c(\"NcProviderList\", { ref: \"provider-list\", on: { \"select-provider\": _vm.onProviderSelected, \"submit\": _vm.submitLink, \"cancel\": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c(\"NcRawLinkInput\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c(\"NcSearch\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"cancel\": _vm.cancelSearch, \"submit\": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c(\"div\", { staticClass: \"custom-element-wrapper\" }, [_c(\"NcCustomPickerElement\", { staticClass: \"custom-element\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"cd33df8e\"\n);\nconst NcReferencePicker = __component__$1.exports;\nregister(t11, t17);\nconst _sfc_main = {\n name: \"NcReferencePickerModal\",\n components: {\n NcReferencePicker,\n NcModal,\n NcButton,\n ArrowLeftIcon: ArrowLeft,\n CloseIcon: Close\n },\n props: {\n /**\n * Provider to select on creation\n * Show the provider list if no initial one is provided\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Focus on the input item on create\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n },\n /**\n * If true, add the modal content to the Viewer trap elements via the event-bus\n */\n isInsideViewer: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n show: true,\n selectedProvider: this.initialProvider,\n backButtonTitle: t(\"Back to provider selection\"),\n closeButtonTitle: t(\"Close\"),\n closeButtonLabel: t(\"Close Smart Picker\")\n };\n },\n computed: {\n isProviderSelected() {\n return this.selectedProvider !== null;\n },\n showBackButton() {\n return this.initialProvider === null && this.isProviderSelected;\n },\n modalSize() {\n return this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id) ? getCustomPickerElementSize(this.selectedProvider.id) ?? \"large\" : \"normal\";\n },\n showModalName() {\n return !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id);\n },\n modalName() {\n return this.isProviderSelected ? this.selectedProvider.title : t(\"Smart Picker\");\n }\n },\n mounted() {\n if (this.isInsideViewer) {\n const elem = this.$refs.modal_content;\n emit(\"viewer:trapElements:changed\", elem);\n }\n },\n methods: {\n onCancel() {\n this.show = false;\n this.$emit(\"cancel\");\n },\n onSubmit(value) {\n this.show = false;\n this.$emit(\"submit\", value);\n },\n onProviderSelect(provider) {\n this.selectedProvider = provider;\n if (provider === null && this.initialProvider !== null) {\n this.onCancel();\n }\n },\n onBackClicked() {\n this.$refs.referencePicker.deselectProvider();\n }\n }\n};\nvar _sfc_render = function render9() {\n var _vm = this, _c = _vm._self._c;\n return _vm.show ? _c(\"NcModal\", { staticClass: \"reference-picker-modal\", attrs: { \"size\": _vm.modalSize, \"can-close\": true }, on: { \"close\": _vm.onCancel } }, [_c(\"div\", { ref: \"modal_content\", staticClass: \"reference-picker-modal--content\" }, [_vm.showBackButton ? _c(\"NcButton\", { staticClass: \"back-button\", attrs: { \"aria-label\": _vm.backButtonTitle, \"title\": _vm.backButtonTitle }, on: { \"click\": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowLeftIcon\")];\n }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c(\"NcButton\", { staticClass: \"close-button\", attrs: { \"aria-label\": _vm.closeButtonLabel, \"title\": _vm.closeButtonTitle, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"CloseIcon\")];\n }, proxy: true }], null, false, 2491825086) }), _vm.showModalName ? _c(\"h2\", [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"NcReferencePicker\", { ref: \"referencePicker\", attrs: { \"initial-provider\": _vm.initialProvider, \"focus-on-create\": _vm.focusOnCreate }, on: { \"provider-selected\": _vm.onProviderSelect, \"submit\": _vm.onSubmit, \"cancel\": _vm.onCancel } })], 1)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"c66449c1\"\n);\nconst NcReferencePickerModal = __component__.exports;\nasync function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {\n return await new Promise((resolve, reject) => {\n const modalId = \"referencePickerModal\";\n const modalElement = document.createElement(\"div\");\n modalElement.id = modalId;\n document.body.append(modalElement);\n const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;\n const View = Vue.extend(NcReferencePickerModal);\n const view = new View({\n propsData: {\n initialProvider,\n isInsideViewer\n }\n }).$mount(modalElement);\n view.$on(\"cancel\", () => {\n view.$destroy();\n reject(new Error(\"User cancellation\"));\n });\n view.$on(\"submit\", (link) => {\n view.$destroy();\n resolve(link);\n });\n });\n}\nexport {\n NcReferenceWidget as N,\n anyLinkProviderId as a,\n getProvider as b,\n getProviders as c,\n searchProvider as d,\n NcReferencePicker as e,\n NcReferencePickerModal as f,\n getLinkWithPicker as g,\n NcSearch as h,\n sortProviders as s\n};\n//# sourceMappingURL=referencePickerModal-CMKHbYwz.mjs.map\n","import { loadState } from \"@nextcloud/initial-state\";\nfunction isPublicShare() {\n return loadState(\"files_sharing\", \"isPublic\", null) ?? document.querySelector(\n 'input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]'\n ) !== null;\n}\nfunction getSharingToken() {\n return loadState(\"files_sharing\", \"sharingToken\", null) ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value ?? null;\n}\nexport {\n getSharingToken,\n isPublicShare\n};\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array) => void} Callback\n * @typedef {(...input: Array) => any} Middleware\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef Options\n * Configuration.\n * @property {Array | null | undefined} [ancestors]\n * Stack of (inclusive) ancestor nodes surrounding the message (optional).\n * @property {Error | null | undefined} [cause]\n * Original error cause of the message (optional).\n * @property {Point | Position | null | undefined} [place]\n * Place of message (optional).\n * @property {string | null | undefined} [ruleId]\n * Category of message (optional, example: `'my-rule'`).\n * @property {string | null | undefined} [source]\n * Namespace of who sent the message (optional, example: `'my-package'`).\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {Options | null | undefined} [options]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // eslint-disable-next-line complexity\n constructor(causeOrReason, optionsOrParentOrPlace, origin) {\n super()\n\n if (typeof optionsOrParentOrPlace === 'string') {\n origin = optionsOrParentOrPlace\n optionsOrParentOrPlace = undefined\n }\n\n /** @type {string} */\n let reason = ''\n /** @type {Options} */\n let options = {}\n let legacyCause = false\n\n if (optionsOrParentOrPlace) {\n // Point.\n if (\n 'line' in optionsOrParentOrPlace &&\n 'column' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Position.\n else if (\n 'start' in optionsOrParentOrPlace &&\n 'end' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Node.\n else if ('type' in optionsOrParentOrPlace) {\n options = {\n ancestors: [optionsOrParentOrPlace],\n place: optionsOrParentOrPlace.position\n }\n }\n // Options.\n else {\n options = {...optionsOrParentOrPlace}\n }\n }\n\n if (typeof causeOrReason === 'string') {\n reason = causeOrReason\n }\n // Error.\n else if (!options.cause && causeOrReason) {\n legacyCause = true\n reason = causeOrReason.message\n options.cause = causeOrReason\n }\n\n if (!options.ruleId && !options.source && typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n options.ruleId = origin\n } else {\n options.source = origin.slice(0, index)\n options.ruleId = origin.slice(index + 1)\n }\n }\n\n if (!options.place && options.ancestors && options.ancestors) {\n const parent = options.ancestors[options.ancestors.length - 1]\n\n if (parent) {\n options.place = parent.position\n }\n }\n\n const start =\n options.place && 'start' in options.place\n ? options.place.start\n : options.place\n\n /* eslint-disable no-unused-expressions */\n /**\n * Stack of ancestor nodes surrounding the message.\n *\n * @type {Array | undefined}\n */\n this.ancestors = options.ancestors || undefined\n\n /**\n * Original error cause of the message.\n *\n * @type {Error | undefined}\n */\n this.cause = options.cause || undefined\n\n /**\n * Starting column of message.\n *\n * @type {number | undefined}\n */\n this.column = start ? start.column : undefined\n\n /**\n * State of problem.\n *\n * * `true` — error, file not usable\n * * `false` — warning, change may be needed\n * * `undefined` — change likely not needed\n *\n * @type {boolean | null | undefined}\n */\n this.fatal = undefined\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | undefined}\n */\n this.file\n\n // Field from `Error`.\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = reason\n\n /**\n * Starting line of error.\n *\n * @type {number | undefined}\n */\n this.line = start ? start.line : undefined\n\n // Field from `Error`.\n /**\n * Serialized positional info of message.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(options.place) || '1:1'\n\n /**\n * Place of message.\n *\n * @type {Point | Position | undefined}\n */\n this.place = options.place || undefined\n\n /**\n * Reason for message, should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | undefined}\n */\n this.ruleId = options.ruleId || undefined\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | undefined}\n */\n this.source = options.source || undefined\n\n // Field from `Error`.\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack =\n legacyCause && options.cause && typeof options.cause.stack === 'string'\n ? options.cause.stack\n : ''\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | undefined}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array | undefined}\n */\n this.expected\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | undefined}\n */\n this.note\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | undefined}\n */\n this.url\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.column = undefined\nVFileMessage.prototype.line = undefined\nVFileMessage.prototype.ancestors = undefined\nVFileMessage.prototype.cause = undefined\nVFileMessage.prototype.fatal = undefined\nVFileMessage.prototype.place = undefined\nVFileMessage.prototype.ruleId = undefined\nVFileMessage.prototype.source = undefined\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === ext.codePointAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n * @typedef {import('vfile-message').Options} MessageOptions\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {Options | URL | VFile | Value} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {string | null | undefined} [basename]\n * Set `basename` (name).\n * @property {string | null | undefined} [cwd]\n * Set `cwd` (working directory).\n * @property {Data | null | undefined} [data]\n * Set `data` (associated info).\n * @property {string | null | undefined} [dirname]\n * Set `dirname` (path w/o basename).\n * @property {string | null | undefined} [extname]\n * Set `extname` (extension with dot).\n * @property {Array | null | undefined} [history]\n * Set `history` (paths the file moved between).\n * @property {URL | string | null | undefined} [path]\n * Set `path` (current path).\n * @property {string | null | undefined} [stem]\n * Set `stem` (name without extension).\n * @property {Value | null | undefined} [value]\n * Set `value` (the contents of the file).\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * .\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array} sources\n * An array of URLs to the original source files.\n * @property {Array} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {Record & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template [Settings=ReporterSettings]\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {path} from 'vfile/do-not-use-conditional-minpath'\nimport {proc} from 'vfile/do-not-use-conditional-minproc'\nimport {urlToPath, isUrl} from 'vfile/do-not-use-conditional-minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const func = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return func.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n const names = Object.getOwnPropertyNames(func)\n\n for (const p of names) {\n const descriptor = Object.getOwnPropertyDescriptor(func, p)\n if (descriptor) Object.defineProperty(apply, p, descriptor)\n }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@link CompileResultMap `CompileResultMap`}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@link Node `Node`}\n * and {@link VFile `VFile`} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@link VFile `VFile`} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@link Node `Node`}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > 👉 **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > 👉 **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@link VFile `VFile`} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@link VFile `VFile`}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@link Processor `Processor`}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > 👉 **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > 👉 **Note**: to register custom data in TypeScript, augment the\n * > {@link Data `Data`} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > 👉 **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > 👉 **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > 👉 **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > 👉 **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > 👉 **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string | false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const character = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n if (\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n character.charCodeAt(character.length - 1) === 59 /* `;` */ &&\n value !== 'semi'\n ) {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return character === characterReference ? false : character\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array} items\n * Items to inject into `list`.\n * @returns {undefined}\n * Nothing.\n */\nexport function splice(list, start, remove, items) {\n const end = list.length;\n let chunkStart = 0;\n /** @type {Array} */\n let parameters;\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove);\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {Array} items\n * Items to add to `list`.\n * @returns {Array}\n * Either `list` or `items`.\n */\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items);\n return list;\n }\n return items;\n}","/**\n * @import {\n * Extension,\n * Handles,\n * HtmlExtension,\n * NormalizedExtension\n * } from 'micromark-util-types'\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {ReadonlyArray} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record} */\n const left = maybe || (all[hook] = {})\n /** @type {Record | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array} existing\n * List of constructs to merge into.\n * @param {Array} list\n * List of constructs to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {ReadonlyArray} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * Single combined HTML extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nexport function normalizeIdentifier(value) {\n return value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, \" \")\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase().toUpperCase();\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\nconst unicodePunctuationInternal = regexCheck(/\\p{P}/u)\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiDigit = regexCheck(/\\d/)\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function unicodePunctuation(code) {\n return asciiPunctuation(code) || unicodePunctuationInternal(code)\n}\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const unicodeWhitespace = regexCheck(/\\s/)\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => boolean}\n */\nfunction regexCheck(regex) {\n return check\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && code > -1 && regex.test(String.fromCharCode(code))\n }\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n if (!protocol) {\n return value\n }\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n return ''\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n let replace = ''\n\n // A correct percent encoded value.\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1)\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n }\n // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n if (skip) {\n index += skip\n skip = 0\n }\n }\n return result.join('') + value.slice(start)\n}\n","/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { markdownSpace } from 'micromark-util-character';\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns {State}\n * Start state.\n */\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n return ok(code);\n }\n\n /** @type {State} */\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n effects.exit(type);\n return ok(code);\n }\n}","/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n * Content.\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);\n /** @type {Token} */\n let previous;\n return contentStart;\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, contentStart, \"linePrefix\");\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter(\"paragraph\");\n return lineStart(code);\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter(\"chunkText\", {\n contentType: \"text\",\n previous\n });\n if (previous) {\n previous.next = token;\n }\n previous = token;\n return data(code);\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit(\"chunkText\");\n effects.exit(\"paragraph\");\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n effects.exit(\"chunkText\");\n return lineStart;\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n}","/**\n * @import {\n * Construct,\n * ContainerState,\n * InitialConstruct,\n * Initializer,\n * Point,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n * Construct and its state.\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {InitialConstruct} */\nexport const document = {\n tokenize: initializeDocument\n};\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeDocument(effects) {\n const self = this;\n /** @type {Array} */\n const stack = [];\n let continued = 0;\n /** @type {TokenizeContext | undefined} */\n let childFlow;\n /** @type {Token | undefined} */\n let childToken;\n /** @type {number} */\n let lineStartOffset;\n return start;\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued];\n self.containerState = item[1];\n return effects.attempt(item[0].continuation, documentContinue, checkNewContainers)(code);\n }\n\n // Done.\n return checkNewContainers(code);\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++;\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined;\n if (childFlow) {\n closeFlow();\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {Point | undefined} */\n let point;\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n let index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they’re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n return checkNewContainers(code);\n }\n return start(code);\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code);\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code);\n }\n\n // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack);\n }\n\n // Check if there is a new container.\n self.containerState = {};\n return effects.check(containerConstruct, thereIsANewContainer, thereIsNoNewContainer)(code);\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow();\n exitContainers(continued);\n return documentContinued(code);\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length;\n lineStartOffset = self.now().offset;\n return flowStart(code);\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {};\n return effects.attempt(containerConstruct, containerContinue, flowStart)(code);\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++;\n stack.push([self.currentConstruct, self.containerState]);\n // Try another.\n return documentContinued(code);\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow();\n exitContainers(0);\n effects.consume(code);\n return;\n }\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter(\"chunkFlow\", {\n _tokenizer: childFlow,\n contentType: \"flow\",\n previous: childToken\n });\n return flowContinue(code);\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit(\"chunkFlow\"), true);\n exitContainers(0);\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n writeToChild(effects.exit(\"chunkFlow\"));\n // Get ready for the next line.\n continued = 0;\n self.interrupt = undefined;\n return start;\n }\n effects.consume(code);\n return flowContinue;\n }\n\n /**\n * @param {Token} token\n * Token.\n * @param {boolean | undefined} [endOfFile]\n * Whether the token is at the end of the file (default: `false`).\n * @returns {undefined}\n * Nothing.\n */\n function writeToChild(token, endOfFile) {\n const stream = self.sliceStream(token);\n if (endOfFile) stream.push(null);\n token.previous = childToken;\n if (childToken) childToken.next = token;\n childToken = token;\n childFlow.defineSkip(token.start);\n childFlow.write(stream);\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length;\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && (\n // …and either is not ended yet…\n !childFlow.events[index][1].end ||\n // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return;\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {boolean | undefined} */\n let seen;\n /** @type {Point | undefined} */\n let point;\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n seen = true;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they’re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n }\n }\n\n /**\n * @param {number} size\n * Size.\n * @returns {undefined}\n * Nothing.\n */\n function exitContainers(size) {\n let index = stack.length;\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index];\n self.containerState = entry[1];\n entry[0].exit.call(self, effects);\n }\n stack.length = size;\n }\n function closeFlow() {\n childFlow.write([null]);\n childToken = undefined;\n childFlow = undefined;\n self.containerState._closeFlow = undefined;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n * Tokenizer.\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), \"linePrefix\", this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4);\n}","/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport { markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n if (unicodePunctuation(code)) {\n return 2;\n }\n}","/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = {\n ...events[open][1].end\n };\n const end = {\n ...events[index][1].start\n };\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: {\n ...events[open][1].end\n }\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: {\n ...events[index][1].start\n },\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: {\n ...events[open][1].end\n },\n end: {\n ...events[index][1].start\n }\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: {\n ...openingSequence.start\n },\n end: {\n ...closingSequence.end\n }\n };\n events[open][1].end = {\n ...openingSequence.start\n };\n events[index][1].start = {\n ...closingSequence.end\n };\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLine(effects, ok, nok) {\n return start;\n\n /**\n * Start of blank line.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n return markdownSpace(code) ? factorySpace(effects, after, \"linePrefix\")(code) : after(code);\n }\n\n /**\n * At eof/eol, after optional whitespace.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blockQuote = {\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit,\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of block quote.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 62) {\n const state = self.containerState;\n if (!state.open) {\n effects.enter(\"blockQuote\", {\n _container: true\n });\n state.open = true;\n }\n effects.enter(\"blockQuotePrefix\");\n effects.enter(\"blockQuoteMarker\");\n effects.consume(code);\n effects.exit(\"blockQuoteMarker\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `>`, before optional whitespace.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter(\"blockQuotePrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"blockQuotePrefixWhitespace\");\n effects.exit(\"blockQuotePrefix\");\n return ok;\n }\n effects.exit(\"blockQuotePrefix\");\n return ok(code);\n }\n}\n\n/**\n * Start of block quote continuation.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n const self = this;\n return contStart;\n\n /**\n * Start of block quote continuation.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contStart(code) {\n if (markdownSpace(code)) {\n // Always populated by defaults.\n\n return factorySpace(effects, contBefore, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n return contBefore(code);\n }\n\n /**\n * At `>`, after optional whitespace.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contBefore(code) {\n return effects.attempt(blockQuote, ok, nok)(code);\n }\n}\n\n/** @type {Exiter} */\nfunction exit(effects) {\n effects.exit(\"blockQuote\");\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (``, ``, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n partial: true,\n tokenize: tokenizeCloseStart\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n};\n\n/** @type {Construct} */\nconst furtherStart = {\n partial: true,\n tokenize: tokenizeFurtherStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of code (indented).\n *\n * > **Parsing note**: it is not needed to check if this first line is a\n * > filled line (that it has a non-whitespace character), because blank lines\n * > are parsed already, so we never run into that.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: manually check if interrupting like `markdown-rs`.\n\n effects.enter(\"codeIndented\");\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? atBreak(code) : nok(code);\n }\n\n /**\n * At a break.\n *\n * ```markdown\n * > | aaa\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === null) {\n return after(code);\n }\n if (markdownLineEnding(code)) {\n return effects.attempt(furtherStart, atBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return inside(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * > | aaa\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return atBreak(code);\n }\n effects.consume(code);\n return inside;\n }\n\n /** @type {State} */\n function after(code) {\n effects.exit(\"codeIndented\");\n // To do: allow interrupting like `markdown-rs`.\n // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeFurtherStart(effects, ok, nok) {\n const self = this;\n return furtherStart;\n\n /**\n * At eol, trying to parse another indent.\n *\n * ```markdown\n * > | aaa\n * ^\n * | bbb\n * ```\n *\n * @type {State}\n */\n function furtherStart(code) {\n // To do: improve `lazy` / `pierce` handling.\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return furtherStart;\n }\n\n // To do: the code here in `micromark-js` is a bit different from\n // `markdown-rs` because there it can attempt spaces.\n // We can’t yet.\n //\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok(code) : markdownLineEnding(code) ? furtherStart(code) : nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n};\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}","/**\n * Some of the internal operations of micromark do lots of editing\n * operations on very large arrays. This runs into problems with two\n * properties of most circa-2020 JavaScript interpreters:\n *\n * - Array-length modifications at the high end of an array (push/pop) are\n * expected to be common and are implemented in (amortized) time\n * proportional to the number of elements added or removed, whereas\n * other operations (shift/unshift and splice) are much less efficient.\n * - Function arguments are passed on the stack, so adding tens of thousands\n * of elements to an array with `arr.push(...newElements)` will frequently\n * cause stack overflows. (see )\n *\n * SpliceBuffers are an implementation of gap buffers, which are a\n * generalization of the \"queue made of two stacks\" idea. The splice buffer\n * maintains a cursor, and moving the cursor has cost proportional to the\n * distance the cursor moves, but inserting, deleting, or splicing in\n * new information at the cursor is as efficient as the push/pop operation.\n * This allows for an efficient sequence of splices (or pushes, pops, shifts,\n * or unshifts) as long such edits happen at the same part of the array or\n * generally sweep through the array from the beginning to the end.\n *\n * The interface for splice buffers also supports large numbers of inputs by\n * passing a single array argument rather passing multiple arguments on the\n * function call stack.\n *\n * @template T\n * Item type.\n */\nexport class SpliceBuffer {\n /**\n * @param {ReadonlyArray | null | undefined} [initial]\n * Initial items (optional).\n * @returns\n * Splice buffer.\n */\n constructor(initial) {\n /** @type {Array} */\n this.left = initial ? [...initial] : [];\n /** @type {Array} */\n this.right = [];\n }\n\n /**\n * Array access;\n * does not move the cursor.\n *\n * @param {number} index\n * Index.\n * @return {T}\n * Item.\n */\n get(index) {\n if (index < 0 || index >= this.left.length + this.right.length) {\n throw new RangeError('Cannot access index `' + index + '` in a splice buffer of size `' + (this.left.length + this.right.length) + '`');\n }\n if (index < this.left.length) return this.left[index];\n return this.right[this.right.length - index + this.left.length - 1];\n }\n\n /**\n * The length of the splice buffer, one greater than the largest index in the\n * array.\n */\n get length() {\n return this.left.length + this.right.length;\n }\n\n /**\n * Remove and return `list[0]`;\n * moves the cursor to `0`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n shift() {\n this.setCursor(0);\n return this.right.pop();\n }\n\n /**\n * Slice the buffer to get an array;\n * does not move the cursor.\n *\n * @param {number} start\n * Start.\n * @param {number | null | undefined} [end]\n * End (optional).\n * @returns {Array}\n * Array of items.\n */\n slice(start, end) {\n /** @type {number} */\n const stop = end === null || end === undefined ? Number.POSITIVE_INFINITY : end;\n if (stop < this.left.length) {\n return this.left.slice(start, stop);\n }\n if (start > this.left.length) {\n return this.right.slice(this.right.length - stop + this.left.length, this.right.length - start + this.left.length).reverse();\n }\n return this.left.slice(start).concat(this.right.slice(this.right.length - stop + this.left.length).reverse());\n }\n\n /**\n * Mimics the behavior of Array.prototype.splice() except for the change of\n * interface necessary to avoid segfaults when patching in very large arrays.\n *\n * This operation moves cursor is moved to `start` and results in the cursor\n * placed after any inserted items.\n *\n * @param {number} start\n * Start;\n * zero-based index at which to start changing the array;\n * negative numbers count backwards from the end of the array and values\n * that are out-of bounds are clamped to the appropriate end of the array.\n * @param {number | null | undefined} [deleteCount=0]\n * Delete count (default: `0`);\n * maximum number of elements to delete, starting from start.\n * @param {Array | null | undefined} [items=[]]\n * Items to include in place of the deleted items (default: `[]`).\n * @return {Array}\n * Any removed items.\n */\n splice(start, deleteCount, items) {\n /** @type {number} */\n const count = deleteCount || 0;\n this.setCursor(Math.trunc(start));\n const removed = this.right.splice(this.right.length - count, Number.POSITIVE_INFINITY);\n if (items) chunkedPush(this.left, items);\n return removed.reverse();\n }\n\n /**\n * Remove and return the highest-numbered item in the array, so\n * `list[list.length - 1]`;\n * Moves the cursor to `length`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n pop() {\n this.setCursor(Number.POSITIVE_INFINITY);\n return this.left.pop();\n }\n\n /**\n * Inserts a single item to the high-numbered side of the array;\n * moves the cursor to `length`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n push(item) {\n this.setCursor(Number.POSITIVE_INFINITY);\n this.left.push(item);\n }\n\n /**\n * Inserts many items to the high-numbered side of the array.\n * Moves the cursor to `length`.\n *\n * @param {Array} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n pushMany(items) {\n this.setCursor(Number.POSITIVE_INFINITY);\n chunkedPush(this.left, items);\n }\n\n /**\n * Inserts a single item to the low-numbered side of the array;\n * Moves the cursor to `0`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n unshift(item) {\n this.setCursor(0);\n this.right.push(item);\n }\n\n /**\n * Inserts many items to the low-numbered side of the array;\n * moves the cursor to `0`.\n *\n * @param {Array} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n unshiftMany(items) {\n this.setCursor(0);\n chunkedPush(this.right, items.reverse());\n }\n\n /**\n * Move the cursor to a specific position in the array. Requires\n * time proportional to the distance moved.\n *\n * If `n < 0`, the cursor will end up at the beginning.\n * If `n > length`, the cursor will end up at the end.\n *\n * @param {number} n\n * Position.\n * @return {undefined}\n * Nothing.\n */\n setCursor(n) {\n if (n === this.left.length || n > this.left.length && this.right.length === 0 || n < 0 && this.left.length === 0) return;\n if (n < this.left.length) {\n // Move cursor to the this.left\n const removed = this.left.splice(n, Number.POSITIVE_INFINITY);\n chunkedPush(this.right, removed.reverse());\n } else {\n // Move cursor to the this.right\n const removed = this.right.splice(this.left.length + this.right.length - n, Number.POSITIVE_INFINITY);\n chunkedPush(this.left, removed.reverse());\n }\n }\n}\n\n/**\n * Avoid stack overflow by pushing items onto the stack in segments\n *\n * @template T\n * Item type.\n * @param {Array} list\n * List to inject into.\n * @param {ReadonlyArray} right\n * Items to inject.\n * @return {undefined}\n * Nothing.\n */\nfunction chunkedPush(list, right) {\n /** @type {number} */\n let chunkStart = 0;\n if (right.length < 10000) {\n list.push(...right);\n } else {\n while (chunkStart < right.length) {\n list.push(...right.slice(chunkStart, chunkStart + 10000));\n chunkStart += 10000;\n }\n }\n}","/**\n * @import {Chunk, Event, Token} from 'micromark-util-types'\n */\n\nimport { splice } from 'micromark-util-chunked';\nimport { SpliceBuffer } from './lib/splice-buffer.js';\n\n// Hidden API exposed for testing.\nexport { SpliceBuffer } from './lib/splice-buffer.js';\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array} eventsArray\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\n// eslint-disable-next-line complexity\nexport function subtokenize(eventsArray) {\n /** @type {Record} */\n const jumps = {};\n let index = -1;\n /** @type {Event} */\n let event;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number} */\n let otherIndex;\n /** @type {Event} */\n let otherEvent;\n /** @type {Array} */\n let parameters;\n /** @type {Array} */\n let subevents;\n /** @type {boolean | undefined} */\n let more;\n const events = new SpliceBuffer(eventsArray);\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index];\n }\n event = events.get(index);\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (index && event[1].type === \"chunkFlow\" && events.get(index - 1)[1].type === \"listItemPrefix\") {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"lineEndingBlank\") {\n otherIndex += 2;\n }\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"content\") {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === \"content\") {\n break;\n }\n if (subevents[otherIndex][1].type === \"chunkText\") {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index));\n index = jumps[index];\n more = true;\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index;\n lineIndex = undefined;\n while (otherIndex--) {\n otherEvent = events.get(otherIndex);\n if (otherEvent[1].type === \"lineEnding\" || otherEvent[1].type === \"lineEndingBlank\") {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events.get(lineIndex)[1].type = \"lineEndingBlank\";\n }\n otherEvent[1].type = \"lineEnding\";\n lineIndex = otherIndex;\n }\n } else if (otherEvent[1].type === \"linePrefix\" || otherEvent[1].type === \"listItemIndent\") {\n // Move past.\n } else {\n break;\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = {\n ...events.get(lineIndex)[1].start\n };\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index);\n parameters.unshift(event);\n events.splice(lineIndex, index - lineIndex + 1, parameters);\n }\n }\n }\n\n // The changes to the `events` buffer must be copied back into the eventsArray\n splice(eventsArray, 0, Number.POSITIVE_INFINITY, events.slice(0));\n return !more;\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {SpliceBuffer} events\n * Events.\n * @param {number} eventIndex\n * Index.\n * @returns {Record}\n * Gaps.\n */\nfunction subcontent(events, eventIndex) {\n const token = events.get(eventIndex)[1];\n const context = events.get(eventIndex)[2];\n let startPosition = eventIndex - 1;\n /** @type {Array} */\n const startPositions = [];\n let tokenizer = token._tokenizer;\n if (!tokenizer) {\n tokenizer = context.parser[token.contentType](token.start);\n if (token._contentTypeTextTrailing) {\n tokenizer._contentTypeTextTrailing = true;\n }\n }\n const childEvents = tokenizer.events;\n /** @type {Array<[number, number]>} */\n const jumps = [];\n /** @type {Record} */\n const gaps = {};\n /** @type {Array} */\n let stream;\n /** @type {Token | undefined} */\n let previous;\n let index = -1;\n /** @type {Token | undefined} */\n let current = token;\n let adjust = 0;\n let start = 0;\n const breaks = [start];\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events.get(++startPosition)[1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition);\n if (!current._tokenizer) {\n stream = context.sliceStream(current);\n if (!current.next) {\n stream.push(null);\n }\n if (previous) {\n tokenizer.defineSkip(current.start);\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n tokenizer.write(stream);\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined;\n }\n }\n\n // Unravel the next token.\n previous = current;\n current = current.next;\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token;\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' && childEvents[index - 1][0] === 'enter' && childEvents[index][1].type === childEvents[index - 1][1].type && childEvents[index][1].start.line !== childEvents[index][1].end.line) {\n start = index + 1;\n breaks.push(start);\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n current = current.next;\n }\n }\n\n // Help GC.\n tokenizer.events = [];\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n } else {\n breaks.pop();\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length;\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1]);\n const start = startPositions.pop();\n jumps.push([start, start + slice.length - 1]);\n events.splice(start, 2, slice);\n }\n jumps.reverse();\n index = -1;\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1];\n adjust += jumps[index][1] - jumps[index][0] - 1;\n }\n return gaps;\n}","/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { subtokenize } from 'micromark-util-subtokenize';\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n resolve: resolveContent,\n tokenize: tokenizeContent\n};\n\n/** @type {Construct} */\nconst continuationConstruct = {\n partial: true,\n tokenize: tokenizeContinuation\n};\n\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContent(effects, ok) {\n /** @type {Token | undefined} */\n let previous;\n return chunkStart;\n\n /**\n * Before a content chunk.\n *\n * ```markdown\n * > | abc\n * ^\n * ```\n *\n * @type {State}\n */\n function chunkStart(code) {\n effects.enter(\"content\");\n previous = effects.enter(\"chunkContent\", {\n contentType: \"content\"\n });\n return chunkInside(code);\n }\n\n /**\n * In a content chunk.\n *\n * ```markdown\n * > | abc\n * ^^^\n * ```\n *\n * @type {State}\n */\n function chunkInside(code) {\n if (code === null) {\n return contentEnd(code);\n }\n\n // To do: in `markdown-rs`, each line is parsed on its own, and everything\n // is stitched together resolving.\n if (markdownLineEnding(code)) {\n return effects.check(continuationConstruct, contentContinue, contentEnd)(code);\n }\n\n // Data.\n effects.consume(code);\n return chunkInside;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentEnd(code) {\n effects.exit(\"chunkContent\");\n effects.exit(\"content\");\n return ok(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentContinue(code) {\n effects.consume(code);\n effects.exit(\"chunkContent\");\n previous.next = effects.enter(\"chunkContent\", {\n contentType: \"content\",\n previous\n });\n previous = previous.next;\n return chunkInside;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this;\n return startLookahead;\n\n /**\n *\n *\n * @type {State}\n */\n function startLookahead(code) {\n effects.exit(\"chunkContent\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, prefixed, \"linePrefix\");\n }\n\n /**\n *\n *\n * @type {State}\n */\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n // Always populated by defaults.\n\n const tail = self.events[self.events.length - 1];\n if (!self.parser.constructs.disable.null.includes('codeIndented') && tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4) {\n return ok(code);\n }\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);\n }\n}","/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { asciiControl, markdownLineEndingOrSpace, markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * \n * b>\n * \n * \n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (` ` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (` `).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */\nexport function factoryDestination(effects, ok, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n const limit = max || Number.POSITIVE_INFINITY;\n let balance = 0;\n return start;\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | \n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n return enclosedBefore;\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || asciiControl(code)) {\n return nok(code);\n }\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return raw(code);\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return enclosed(code);\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n return enclosedBefore(code);\n }\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? enclosedEscape : enclosed;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code);\n return enclosed;\n }\n return enclosed(code);\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (!balance && (code === null || code === 41 || markdownLineEndingOrSpace(code))) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n if (balance < limit && code === 40) {\n effects.consume(code);\n balance++;\n return raw;\n }\n if (code === 41) {\n effects.consume(code);\n balance--;\n return raw;\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (code === null || code === 32 || code === 40 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? rawEscape : raw;\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code);\n return raw;\n }\n return raw(code);\n }\n}","/**\n * @import {\n * Effects,\n * State,\n * TokenizeContext,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this;\n let size = 0;\n /** @type {boolean} */\n let seen;\n return start;\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (size > 999 || code === null || code === 91 || code === 93 && !seen ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n code === 94 && !size && '_hiddenFootnoteSupport' in self.parser.constructs) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return atBreak;\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return labelInside(code);\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (code === null || code === 91 || code === 93 || markdownLineEnding(code) || size++ > 999) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n if (!seen) seen = !markdownSpace(code);\n return code === 92 ? labelEscape : labelInside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return labelInside;\n }\n return labelInside(code);\n }\n}","/**\n * @import {\n * Code,\n * Effects,\n * State,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n marker = code === 40 ? 41 : code;\n return begin;\n }\n return nok(code);\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n return atBreak(code);\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType);\n return begin(marker);\n }\n if (code === null) {\n return nok(code);\n }\n\n // Note: blank lines can’t exist in content.\n if (markdownLineEnding(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, atBreak, \"linePrefix\");\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return inside(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n return code === 92 ? escape : inside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code);\n return inside;\n }\n return inside(code);\n }\n}","/**\n * @import {Effects, State} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns {State}\n * Start state.\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n seen = true;\n return start;\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, start, seen ? \"linePrefix\" : \"lineSuffix\")(code);\n }\n return ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factorySpace } from 'micromark-factory-space';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n};\n\n/** @type {Construct} */\nconst titleBefore = {\n partial: true,\n tokenize: tokenizeTitleBefore\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this;\n /** @type {string} */\n let identifier;\n return start;\n\n /**\n * At start of a definition.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Do not interrupt paragraphs (but do follow definitions).\n // To do: do `interrupt` the way `markdown-rs` does.\n // To do: parse whitespace the way `markdown-rs` does.\n effects.enter(\"definition\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `[`.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n // To do: parse whitespace the way `markdown-rs` does.\n\n return factoryLabel.call(self, effects, labelAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok, \"definitionLabel\", \"definitionLabelMarker\", \"definitionLabelString\")(code);\n }\n\n /**\n * After label.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n identifier = normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1));\n if (code === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code);\n effects.exit(\"definitionMarker\");\n return markerAfter;\n }\n return nok(code);\n }\n\n /**\n * After marker.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function markerAfter(code) {\n // Note: whitespace is optional.\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, destinationBefore)(code) : destinationBefore(code);\n }\n\n /**\n * Before destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationBefore(code) {\n return factoryDestination(effects, destinationAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok, \"definitionDestination\", \"definitionDestinationLiteral\", \"definitionDestinationLiteralMarker\", \"definitionDestinationRaw\", \"definitionDestinationString\")(code);\n }\n\n /**\n * After destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationAfter(code) {\n return effects.attempt(titleBefore, after, after)(code);\n }\n\n /**\n * After definition.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return markdownSpace(code) ? factorySpace(effects, afterWhitespace, \"whitespace\")(code) : afterWhitespace(code);\n }\n\n /**\n * After definition, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function afterWhitespace(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"definition\");\n\n // Note: we don’t care about uniqueness.\n // It’s likely that that doesn’t happen very frequently.\n // It is more likely that it wastes precious time.\n self.parser.defined.push(identifier);\n\n // To do: `markdown-rs` interrupt.\n // // You’d be interrupting.\n // tokenizer.interrupt = true\n return ok(code);\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeTitleBefore(effects, ok, nok) {\n return titleBefore;\n\n /**\n * After destination, at whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, beforeMarker)(code) : nok(code);\n }\n\n /**\n * At title.\n *\n * ```markdown\n * | [a]: b\n * > | \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeMarker(code) {\n return factoryTitle(effects, titleAfter, nok, \"definitionTitle\", \"definitionTitleMarker\", \"definitionTitleString\")(code);\n }\n\n /**\n * After title.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfter(code) {\n return markdownSpace(code) ? factorySpace(effects, titleAfterOptionalWhitespace, \"whitespace\")(code) : titleAfterOptionalWhitespace(code);\n }\n\n /**\n * After title, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfterOptionalWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n resolve: resolveHeadingAtx,\n tokenize: tokenizeHeadingAtx\n};\n\n/** @type {Resolver} */\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2;\n let contentStart = 3;\n /** @type {Token} */\n let content;\n /** @type {Token} */\n let text;\n\n // Prefix whitespace, part of the opening.\n if (events[contentStart][1].type === \"whitespace\") {\n contentStart += 2;\n }\n\n // Suffix whitespace, part of the closing.\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === \"whitespace\") {\n contentEnd -= 2;\n }\n if (events[contentEnd][1].type === \"atxHeadingSequence\" && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === \"whitespace\")) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n if (contentEnd > contentStart) {\n content = {\n type: \"atxHeadingText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text = {\n type: \"chunkText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: \"text\"\n };\n splice(events, contentStart, contentEnd - contentStart + 1, [['enter', content, context], ['enter', text, context], ['exit', text, context], ['exit', content, context]]);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of a heading (atx).\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n effects.enter(\"atxHeading\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `#`.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code);\n return sequenceOpen;\n }\n\n // Always at least one `#`.\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n return nok(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === 35) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceFurther(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"atxHeading\");\n // To do: interrupt like `markdown-rs`.\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, \"whitespace\")(code);\n }\n\n // To do: generate `data` tokens, add the `text` token later.\n // Needs edit map, see: `markdown.rs`.\n effects.enter(\"atxHeadingText\");\n return data(code);\n }\n\n /**\n * In further sequence (after whitespace).\n *\n * Could be normal “visible” hashes in the heading or a final sequence.\n *\n * ```markdown\n * > | ## aa ##\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceFurther(code) {\n if (code === 35) {\n effects.consume(code);\n return sequenceFurther;\n }\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n\n /**\n * In text.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingText\");\n return atBreak(code);\n }\n effects.consume(code);\n return data;\n }\n}","/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * .\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { htmlBlockNames, htmlRawNames } from 'micromark-util-html-tag-name';\nimport { blankLine } from './blank-line.js';\n\n/** @type {Construct} */\nexport const htmlFlow = {\n concrete: true,\n name: 'htmlFlow',\n resolveTo: resolveToHtmlFlow,\n tokenize: tokenizeHtmlFlow\n};\n\n/** @type {Construct} */\nconst blankLineBefore = {\n partial: true,\n tokenize: tokenizeBlankLineBefore\n};\nconst nonLazyContinuationStart = {\n partial: true,\n tokenize: tokenizeNonLazyContinuationStart\n};\n\n/** @type {Resolver} */\nfunction resolveToHtmlFlow(events) {\n let index = events.length;\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === \"htmlFlow\") {\n break;\n }\n }\n if (index > 1 && events[index - 2][1].type === \"linePrefix\") {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start;\n // Add the prefix start to the HTML line token.\n events[index + 1][1].start = events[index - 2][1].start;\n // Remove the line prefix.\n events.splice(index - 2, 2);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this;\n /** @type {number} */\n let marker;\n /** @type {boolean} */\n let closingTag;\n /** @type {string} */\n let buffer;\n /** @type {number} */\n let index;\n /** @type {Code} */\n let markerB;\n return start;\n\n /**\n * Start of HTML (flow).\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * At `<`, after optional whitespace.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"htmlFlow\");\n effects.enter(\"htmlFlowData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n closingTag = true;\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n marker = 3;\n // To do:\n // tokenizer.concrete = true\n // To do: use `markdown-rs` style interrupt.\n // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After ` | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n marker = 2;\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n marker = 5;\n index = 0;\n return cdataOpenInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n marker = 4;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After ` | \n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After ` | &<]]>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n if (index === value.length) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * After ``, in closing tag, at tag name.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * In tag name.\n *\n * ```markdown\n * > | \n * ^^\n * > | \n * ^^\n * ```\n *\n * @type {State}\n */\n function tagName(code) {\n if (code === null || code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n const slash = code === 47;\n const name = buffer.toLowerCase();\n if (!slash && !closingTag && htmlRawNames.includes(name)) {\n marker = 1;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n marker = 6;\n if (slash) {\n effects.consume(code);\n return basicSelfClosing;\n }\n\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n marker = 7;\n // Do not support complete HTML when interrupting.\n return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code) : closingTag ? completeClosingTagAfter(code) : completeAttributeNameBefore(code);\n }\n\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a basic tag name.\n *\n * ```markdown\n * > |
\n * ^\n * ```\n *\n * @type {State}\n */\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a complete tag name.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeClosingTagAfter;\n }\n return completeEnd(code);\n }\n\n /**\n * At an attribute name.\n *\n * At first, this state is used after a complete tag name, after whitespace,\n * where it expects optional attributes or the end of the tag.\n * It is also reused after attributes, when expecting more optional\n * attributes.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code);\n return completeEnd;\n }\n\n // ASCII alphanumerical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameBefore;\n }\n return completeEnd(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeName(code) {\n // ASCII alphanumerical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n return completeAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, at an optional initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameAfter;\n }\n return completeAttributeNameBefore(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n markerB = code;\n return completeAttributeValueQuoted;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n return completeAttributeValueUnquoted(code);\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuoted(code) {\n if (code === markerB) {\n effects.consume(code);\n markerB = null;\n return completeAttributeValueQuotedAfter;\n }\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return completeAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 47 || code === 60 || code === 61 || code === 62 || code === 96 || markdownLineEndingOrSpace(code)) {\n return completeAttributeNameAfter(code);\n }\n effects.consume(code);\n return completeAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the\n * end of the tag.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a complete tag where only an `>` is allowed.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * After `>` in a complete tag.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return continuation(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * In continuation of any HTML kind.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuation(code) {\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationCommentInside;\n }\n if (code === 60 && marker === 1) {\n effects.consume(code);\n return continuationRawTagOpen;\n }\n if (code === 62 && marker === 4) {\n effects.consume(code);\n return continuationClose;\n }\n if (code === 63 && marker === 3) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n if (code === 93 && marker === 5) {\n effects.consume(code);\n return continuationCdataInside;\n }\n if (markdownLineEnding(code) && (marker === 6 || marker === 7)) {\n effects.exit(\"htmlFlowData\");\n return effects.check(blankLineBefore, continuationAfter, continuationStart)(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationStart(code);\n }\n effects.consume(code);\n return continuation;\n }\n\n /**\n * In continuation, at eol.\n *\n * ```markdown\n * > |