@rohal12/spindle 0.59.6 → 0.59.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- window.storyFormat({"name":"spindle","version":"0.59.6","author":"Rohal12","description":"A Preact-based story format for Twine 2.","image":"","url":"","license":"Unlicense","proofing":false,"source":"<!doctype html>\n<html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\"\n />\n <title>{{STORY_NAME}}</title>\n <link\n id=\"favicon\"\n rel=\"icon\"\n type=\"image/svg+xml\"\n href=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='sg' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='50%25' stop-color='%238b5cf6'/%3E%3Cstop offset='100%25' stop-color='%235b21b6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%237c3aed' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(55,16,16)'/%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%238b5cf6' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(-55,16,16)'/%3E%3Cpath d='M16 3Q19.5 9 20.5 16 19.5 23 16 29 12.5 23 11.5 16 12.5 9 16 3Z' fill='url(%23sg)'/%3E%3C/svg%3E\"\n />\n <script type=\"module\" crossorigin>var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel=\"modulepreload\"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n,r,i,a,o,s,c,l,u,d,f,p,m={},h=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function v(e,t){for(var n in t)e[n]=t[n];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function b(e,t,r){var i,a,o,s={};for(o in t)o==`key`?i=t[o]:o==`ref`?a=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?n.call(arguments,2):r),typeof e==`function`&&e.defaultProps!=null)for(o in e.defaultProps)s[o]===void 0&&(s[o]=e.defaultProps[o]);return x(e,s,i,a,null)}function x(e,t,n,a,o){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++i,__i:-1,__u:0};return o==null&&r.vnode!=null&&r.vnode(s),s}function S(e){return e.children}function C(e,t){this.props=e,this.context=t}function w(e,t){if(t==null)return e.__?w(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?w(e):null}function T(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,i=[],a=[],o=v({},t);o.__v=t.__v+1,r.vnode&&r.vnode(o),ce(e.__P,o,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,i,n??w(t),!!(32&t.__u),a),o.__v=t.__v,o.__.__k[o.__i]=o,ue(i,o,a),t.__e=t.__=null,o.__e!=n&&E(o)}}function E(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),E(e)}function ee(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!D.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(D)}function D(){try{for(var e,t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,T(e)}finally{a.length=D.__r=0}}function te(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,g,_,v,y,b=r&&r.__k||h,x=t.length;for(c=ne(n,t,b,c,x),d=0;d<x;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&b[p.__i]||m,p.__i=d,v=ce(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&pe(f.ref,null,p),u.push(p.ref,p.__c||g,p)),_==null&&g!=null&&(_=g),(y=!!(4&p.__u))||f.__k===p.__k?c=re(p,c,e,y):typeof p.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),p.__u&=-7);return n.__e=_,c}function ne(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=x(null,o,null,null,null):_(o)?o=e.__k[a]=x(S,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=O(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=w(s)),me(s,s));return r}function re(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=re(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=w(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function ie(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){ie(e,t)}):t.push(e)),t}function O(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function ae(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function oe(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||ae(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||ae(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(l,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=u,e.addEventListener(t,a?f:d,a)):e.removeEventListener(t,a?f:d,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function se(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=u++;else if(t.t<n.u)return;return n(r.event?r.event(t):t)}}}function ce(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,E,ee,D,ne,re,ie,O=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),o=[c=t.__e=n.__e]),(d=r.__b)&&d(t);n:if(typeof O==`function`)try{if(w=t.props,T=O.prototype&&O.prototype.render,E=(d=O.contextType)&&i[d.__c],ee=d?E?E.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new O(w,ee):(t.__c=f=new C(w,ee),f.constructor=O,f.render=he),E&&E.sub(f),f.state||(f.state={}),f.__n=i,p=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&O.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,O.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&O.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&O.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,ee),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,ee)){t.__v!=n.__v&&(f.props=w,f.state=f.__s,f.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),h.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,ee),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=ee,f.props=w,f.__P=e,f.__e=!1,D=r.__r,ne=0,T)f.state=f.__s,f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++ne<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),re=d!=null&&d.type===S&&d.key==null?de(d.props.children):d,c=te(e,_(re)?re:[re],t,n,i,a,o,s,c,l,u),f.base=t.__e,t.__u&=-161,f.__h.length&&s.push(f),x&&(f.__E=f.__=null)}catch(e){if(t.__v=null,l||o!=null)if(e.then){for(t.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,t.__e=c}else{for(ie=o.length;ie--;)y(o[ie]);le(t)}else t.__e=n.__e,t.__k=n.__k,e.then||le(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=fe(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function ue(e,t,n){for(var i=0;i<n.length;i++)pe(n[i],n[++i],n[++i]);r.__c&&r.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){r.__e(e,t.__v)}})}function de(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(de):v({},e)}function fe(e,t,i,a,o,s,c,l,u){var d,f,p,h,g,v,b,x=i.props||m,S=t.props,C=t.type;if(C==`svg`?o=`http://www.w3.org/2000/svg`:C==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||(o=`http://www.w3.org/1999/xhtml`),s!=null){for(d=0;d<s.length;d++)if((g=s[d])&&`setAttribute`in g==!!C&&(C?g.localName==C:g.nodeType==3)){e=g,s[d]=null;break}}if(e==null){if(C==null)return document.createTextNode(S);e=document.createElementNS(o,C,S.is&&S),l&&(r.__m&&r.__m(t,s),l=!1),s=null}if(C==null)x===S||l&&e.data==S||(e.data=S);else{if(s=s&&n.call(e.childNodes),!l&&s!=null)for(x={},d=0;d<e.attributes.length;d++)x[(g=e.attributes[d]).name]=g.value;for(d in x)g=x[d],d==`dangerouslySetInnerHTML`?p=g:d==`children`||d in S||d==`value`&&`defaultValue`in S||d==`checked`&&`defaultChecked`in S||oe(e,d,null,g,o);for(d in S)g=S[d],d==`children`?h=g:d==`dangerouslySetInnerHTML`?f=g:d==`value`?v=g:d==`checked`?b=g:l&&typeof g!=`function`||x[d]===g||oe(e,d,g,x[d],o);if(f)l||p&&(f.__html==p.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(p&&(e.innerHTML=``),te(t.type==`template`?e.content:e,_(h)?h:[h],t,i,a,C==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&w(i,0),l,u),s!=null)for(d=s.length;d--;)y(s[d]);l||(d=`value`,C==`progress`&&v==null?e.removeAttribute(`value`):v!=null&&(v!==e[d]||C==`progress`&&!v||C==`option`&&v!=x[d])&&oe(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&oe(e,d,b,x[d],o))}return e}function pe(e,t,n){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&t==null||(e.__u=e(t))}else e.current=t}catch(e){r.__e(e,n)}}function me(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||pe(i,null,t)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){r.__e(e,t)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&me(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function he(e,t,n){return this.constructor(e,n)}function ge(e,t,i){var a,o,s,c;t==document&&(t=document.documentElement),r.__&&r.__(e,t),o=(a=typeof i==`function`)?null:i&&i.__k||t.__k,s=[],c=[],ce(t,e=(!a&&i||t).__k=b(S,null,[e]),o||m,m,t.namespaceURI,!a&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,s,!a&&i?i:o?o.__e:t.firstChild,a,c),ue(s,e,c)}function _e(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,ee(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ p++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}n=h.slice,r={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},i=0,C.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=v({},this.state);typeof e==`function`&&(e=e(v({},n),this.props)),e&&v(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),ee(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ee(this))},C.prototype.render=S,a=[],s=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},D.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=se(!1),f=se(!0),p=0;var ve,k,ye,be,xe=0,Se=[],A=r,Ce=A.__b,we=A.__r,Te=A.diffed,Ee=A.__c,De=A.unmount,Oe=A.__;function ke(e,t){A.__h&&A.__h(k,e,xe||t),xe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Ae(e){return xe=1,je(Ue,e)}function je(e,t,n){var r=ke(ve++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ue(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=k,!k.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};k.__f=!0;var a=k.shouldComponentUpdate,o=k.componentWillUpdate;k.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},k.shouldComponentUpdate=i}return r.__N||r.__}function Me(e,t){var n=ke(ve++,3);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Ne(e,t){var n=ke(ve++,4);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function j(e){return xe=5,Pe(function(){return{current:e}},[])}function Pe(e,t){var n=ke(ve++,7);return He(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Fe(e,t){return xe=8,Pe(function(){return e},t)}function Ie(e){var t=k.context[e.__c],n=ke(ve++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(k)),t.props.value):e.__}function Le(){for(var e;e=Se.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Be),t.__h.some(Ve),t.__h=[]}catch(n){t.__h=[],A.__e(n,e.__v)}}}A.__b=function(e){k=null,Ce&&Ce(e)},A.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Oe&&Oe(e,t)},A.__r=function(e){we&&we(e),ve=0;var t=(k=e.__c).__H;t&&(ye===k?(t.__h=[],k.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Be),t.__h.some(Ve),t.__h=[],ve=0)),ye=k},A.diffed=function(e){Te&&Te(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Se.push(t)!==1&&be===A.requestAnimationFrame||((be=A.requestAnimationFrame)||ze)(Le)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),ye=k=null},A.__c=function(e,t){t.some(function(e){try{e.__h.some(Be),e.__h=e.__h.filter(function(e){return!e.__||Ve(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],A.__e(n,e.__v)}}),Ee&&Ee(e,t)},A.unmount=function(e){De&&De(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Be(e)}catch(e){t=e}}),n.__H=void 0,t&&A.__e(t,n.__v))};var Re=typeof requestAnimationFrame==`function`;function ze(e){var t,n=function(){clearTimeout(r),Re&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Re&&(t=requestAnimationFrame(n))}function Be(e){var t=k,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),k=t}function Ve(e){var t=k;e.__c=e.__(),k=t}function He(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Ue(e,t){return typeof t==`function`?t(e):t}function We(e,t){for(var n in t)e[n]=t[n];return e}function Ge(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function Ke(e,t){var n=t(),r=Ae({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ne(function(){i.__=n,i.u=t,qe(i)&&a({t:i})},[e,n,t]),Me(function(){return qe(i)&&a({t:i}),e(function(){qe(i)&&a({t:i})})},[e]),n}function qe(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function Je(e,t){this.props=e,this.context=t}(Je.prototype=new C).isPureReactComponent=!0,Je.prototype.shouldComponentUpdate=function(e,t){return Ge(this.props,e)||Ge(this.state,t)};var Ye=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ye&&Ye(e)},typeof Symbol<`u`&&Symbol.for;var Xe=r.__e;r.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}Xe(e,t,n,r)};var Ze=r.unmount;function Qe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=We({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Qe(e,t,n)})),e}function $e(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return $e(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function et(){this.__u=0,this.o=null,this.__b=null}function tt(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function nt(){this.i=null,this.l=null}r.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ze&&Ze(e)},(et.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=tt(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=$e(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},et.prototype.componentWillUnmount=function(){this.o=[]},et.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=Qe(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&b(S,null,e.fallback);return i&&(i.__u&=-33),[b(S,null,t.__a?null:e.children),i]};var rt=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(nt.prototype=new C).__a=function(e){var t=this,n=tt(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),rt(t,e,r)):i()};n?n(a):a()}},nt.prototype.render=function(e){this.i=null,this.l=new Map;var t=ie(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},nt.prototype.componentDidUpdate=nt.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){rt(e,n,t)})};var it=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,at=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ot=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,st=/[A-Z0-9]/g,ct=typeof document<`u`,lt=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};C.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(C.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var ut=r.event;r.event=function(e){return ut&&(e=ut(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var dt={configurable:!0,get:function(){return this.class}},ft=r.vnode;r.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||ct&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||lt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:ot.test(a)&&(a=s):s=a=`oninput`:i&&at.test(a)?a=a.replace(st,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=ie(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=ie(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,dt)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=it,ft&&ft(e)};var pt=r.__r;r.__r=function(e){pt&&pt(e),e.__c};var mt=r.diffed;r.diffed=function(e){mt&&mt(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var ht=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},gt=(e=>e?ht(e):ht),_t=e=>e;function vt(e){function t(t=_t){let n=Fe(()=>t(e.getState()),[t]);return Ke(e.subscribe,n)}return Object.assign(t,e)}function yt(){return e=>vt(gt()(e))}function bt(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`));return[t.slice(0,4).join(``),t.slice(4,6).join(``),t.slice(6,8).join(``),t.slice(8,10).join(``),t.slice(10).join(``)].join(`-`)}var xt=Symbol.for(`immer-nothing`),St=Symbol.for(`immer-draftable`),M=Symbol.for(`immer-state`);function Ct(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wt=Object,Tt=wt.getPrototypeOf,Et=`constructor`,Dt=`prototype`,Ot=`configurable`,kt=`enumerable`,At=`writable`,jt=`value`,Mt=e=>!!e&&!!e[M];function Nt(e){return e?It(e)||Ut(e)||!!e[St]||!!e[Et]?.[St]||Wt(e)||Gt(e):!1}var Pt=wt[Dt][Et].toString(),Ft=new WeakMap;function It(e){if(!e||!Kt(e))return!1;let t=Tt(e);if(t===null||t===wt[Dt])return!0;let n=wt.hasOwnProperty.call(t,Et)&&t[Et];if(n===Object)return!0;if(!qt(n))return!1;let r=Ft.get(n);return r===void 0&&(r=Function.toString.call(n),Ft.set(n,r)),r===Pt}function Lt(e,t,n=!0){Rt(e)===0?(n?Reflect.ownKeys(e):wt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Rt(e){let t=e[M];return t?t.type_:Ut(e)?1:Wt(e)?2:Gt(e)?3:0}var zt=(e,t,n=Rt(e))=>n===2?e.has(t):wt[Dt].hasOwnProperty.call(e,t),Bt=(e,t,n=Rt(e))=>n===2?e.get(t):e[t],Vt=(e,t,n,r=Rt(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ht(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ut=Array.isArray,Wt=e=>e instanceof Map,Gt=e=>e instanceof Set,Kt=e=>typeof e==`object`,qt=e=>typeof e==`function`,Jt=e=>typeof e==`boolean`;function Yt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Xt=e=>Kt(e)?e?.[M]:null,Zt=e=>e.copy_||e.base_,Qt=e=>{let t=Xt(e);return t?t.copy_??t.base_:e},$t=e=>e.modified_?e.copy_:e.base_;function en(e,t){if(Wt(e))return new Map(e);if(Gt(e))return new Set(e);if(Ut(e))return Array[Dt].slice.call(e);let n=It(e);if(t===!0||t===`class_only`&&!n){let t=wt.getOwnPropertyDescriptors(e);delete t[M];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[At]===!1&&(a[At]=!0,a[Ot]=!0),(a.get||a.set)&&(t[i]={[Ot]:!0,[At]:!0,[kt]:a[kt],[jt]:e[i]})}return wt.create(Tt(e),t)}else{let t=Tt(e);if(t!==null&&n)return{...e};let r=wt.create(t);return wt.assign(r,e)}}function tn(e,t=!1){return nn(e)||Mt(e)||!Nt(e)?e:(Rt(e)>1&&wt.defineProperties(e,{set:P,add:P,clear:P,delete:P}),wt.freeze(e),t&&Lt(e,(e,t)=>{tn(t,!0)},!1),e)}function N(){Ct(2)}var P={[jt]:N};function nn(e){return e===null||!Kt(e)?!0:wt.isFrozen(e)}var rn=`MapSet`,an=`Patches`,F=`ArrayMethods`,on={};function sn(e){let t=on[e];return t||Ct(0,e),t}var cn=e=>!!on[e];function ln(e,t){on[e]||(on[e]=t)}var un,dn=()=>un,fn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:cn(rn)?sn(rn):void 0,arrayMethodsPlugin_:cn(F)?sn(F):void 0});function pn(e,t){t&&(e.patchPlugin_=sn(an),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function mn(e){hn(e),e.drafts_.forEach(I),e.drafts_=null}function hn(e){e===un&&(un=e.parent_)}var gn=e=>un=fn(un,e);function I(e){let t=e[M];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function _n(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[M].modified_&&(mn(t),Ct(4)),Nt(e)&&(e=vn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[M].base_,e,t)}else e=vn(t,n);return yn(t,e,!0),mn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===xt?void 0:e}function vn(e,t){if(nn(t))return t;let n=t[M];if(!n)return Dn(t,e.handledSet_,e);if(!xn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Tn(n,e)}return n.copy_}function yn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tn(t,n)}function bn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xn=(e,t)=>e.scope_===t,Sn=[];function Cn(e,t,n,r){let i=Zt(e),a=e.type_;if(r!==void 0&&Bt(i,r,a)===t){Vt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Lt(i,(e,n)=>{if(Mt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Sn;for(let e of o)Vt(i,e,n,a)}function wn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!xn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=$t(i);Cn(e,i.draft_??i,a,n),Tn(i,r)})}function Tn(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}bn(e)}}function En(e,t,n){let{scope_:r}=e;if(Mt(n)){let i=n[M];xn(i,r)&&i.callbacks_.push(function(){Fn(e),Cn(e,n,$t(i),t)})}else Nt(n)&&e.callbacks_.push(function(){let i=Zt(e);e.type_===3?i.has(n)&&Dn(n,r.handledSet_,r):Bt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Dn(Bt(e.copy_,t,e.type_),r.handledSet_,r)})}function Dn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Mt(e)||t.has(e)||!Nt(e)||nn(e)?e:(t.add(e),Lt(e,(r,i)=>{if(Mt(i)){let t=i[M];xn(t,n)&&(Vt(e,r,$t(t),e.type_),bn(t))}else Nt(i)&&Dn(i,t,n)}),e)}function On(e,t){let n=Ut(e),r={type_:n?1:0,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=kn;n&&(i=[r],a=An);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var kn={get(e,t){if(t===M)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Zt(e);if(!zt(i,t,e.type_))return Mn(e,i,t);let a=i[t];if(e.finalized_||!Nt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Yt(t))return a;if(a===jn(e.base_,t)){Fn(e);let n=e.type_===1?+t:t,r=Ln(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Zt(e)},ownKeys(e){return Reflect.ownKeys(Zt(e))},set(e,t,n){let r=Nn(Zt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=jn(Zt(e),t),i=r?.[M];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Ht(n,r)&&(n!==void 0||zt(e.base_,t,e.type_)))return!0;Fn(e),Pn(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),En(e,t,n),!0)},deleteProperty(e,t){return Fn(e),jn(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Pn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Zt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[At]:!0,[Ot]:e.type_!==1||t!==`length`,[kt]:r[kt],[jt]:n[t]}},defineProperty(){Ct(11)},getPrototypeOf(e){return Tt(e.base_)},setPrototypeOf(){Ct(12)}},An={};for(let e in kn){let t=kn[e];An[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}An.deleteProperty=function(e,t){return An.set.call(this,e,t,void 0)},An.set=function(e,t,n){return kn.set.call(this,e[0],t,n,e[0])};function jn(e,t){let n=e[M];return(n?Zt(n):e)[t]}function Mn(e,t,n){let r=Nn(t,n);return r?jt in r?r[jt]:r.get?.call(e.draft_):void 0}function Nn(e,t){if(!(t in e))return;let n=Tt(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Tt(n)}}function Pn(e){e.modified_||(e.modified_=!0,e.parent_&&Pn(e.parent_))}function Fn(e){e.copy_||(e.assigned_=new Map,e.copy_=en(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var In=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(qt(e)&&!qt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}qt(t)||Ct(6),n!==void 0&&!qt(n)&&Ct(7);let r;if(Nt(e)){let i=gn(this),a=Ln(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?mn(i):hn(i)}return pn(i,n),_n(r,i)}else if(!e||!Kt(e)){if(r=t(e),r===void 0&&(r=e),r===xt&&(r=void 0),this.autoFreeze_&&tn(r,!0),n){let t=[],i=[];sn(an).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else Ct(1,e)},this.produceWithPatches=(e,t)=>{if(qt(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Jt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Jt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Jt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Nt(e)||Ct(8),Mt(e)&&(e=Rn(e));let t=gn(this),n=Ln(t,e,void 0);return n[M].isManual_=!0,hn(t),n}finishDraft(e,t){let n=e&&e[M];(!n||!n.isManual_)&&Ct(9);let{scope_:r}=n;return pn(r,t),_n(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=sn(an).applyPatches_;return Mt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ln(e,t,n,r){let[i,a]=Wt(t)?sn(rn).proxyMap_(t,n):Gt(t)?sn(rn).proxySet_(t,n):On(t,n);return(n?.scope_??dn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?wn(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Rn(e){return Mt(e)||Ct(10,e),zn(e)}function zn(e){if(!Nt(e)||nn(e))return e;let t=e[M],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=en(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=en(e,!0);return Lt(n,(e,t)=>{Vt(n,e,zn(t))},r),t&&(t.finalized_=!1),n}function Bn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Xt(Bt(e,n.key_)),i=Bt(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||zt(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Bt(n,r),!Kt(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[M];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;Lt(e.assigned_,(e,l)=>{let u=Bt(o,e,c),f=Bt(s,e,c),p=l?zt(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===xt?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=Rt(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Et)&&Ct(19),qt(o)&&n===Dt&&Ct(19),o=Bt(o,n),Kt(o)||Ct(18,i.join(`/`))}let s=Rt(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:Ct(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:Ct(17,a)}}),e}function u(e){if(!Nt(e))return e;if(Ut(e))return e.map(u);if(Wt(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Gt(e))return new Set(Array.from(e).map(u));let t=Object.create(Tt(e));for(let n in e)t[n]=u(e[n]);return zt(e,St)&&(t[St]=e[St]),t}function d(e){return Mt(e)?u(e):e}ln(an,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}function Vn(){class e extends Map{constructor(e,t){super(),this[M]={type_:2,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:e,draft_:this,isManual_:!1,revoked_:!1,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){return Zt(this[M]).has(e)}set(e,t){let r=this[M];return o(r),(!Zt(r).has(e)||Zt(r).get(e)!==t)&&(n(r),Pn(r),r.assigned_.set(e,!0),r.copy_.set(e,t),r.assigned_.set(e,!0),En(r,e,t)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),n(t),Pn(t),t.base_.has(e)?t.assigned_.set(e,!1):t.assigned_.delete(e),t.copy_.delete(e),!0}clear(){let e=this[M];o(e),Zt(e).size&&(n(e),Pn(e),e.assigned_=new Map,Lt(e.base_,t=>{e.assigned_.set(t,!1)}),e.copy_.clear())}forEach(e,t){let n=this[M];Zt(n).forEach((n,r,i)=>{e.call(t,this.get(r),r,this)})}get(e){let t=this[M];o(t);let r=Zt(t).get(e);if(t.finalized_||!Nt(r)||r!==t.base_.get(e))return r;let i=Ln(t.scope_,r,t,e);return n(t),t.copy_.set(e,i),i}keys(){return Zt(this[M]).keys()}values(){let e=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}}entries(){let e=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let t=e.next();if(t.done)return t;let n=this.get(t.value);return{done:!1,value:[t.value,n]}}}}[Symbol.iterator](){return this.entries()}}function t(t,n){let r=new e(t,n);return[r,r[M]]}function n(e){e.copy_||(e.assigned_=new Map,e.copy_=new Map(e.base_))}class r extends Set{constructor(e,t){super(),this[M]={type_:3,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,base_:e,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1,assigned_:void 0,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){let t=this[M];return o(t),t.copy_?!!(t.copy_.has(e)||t.drafts_.has(e)&&t.copy_.has(t.drafts_.get(e))):t.base_.has(e)}add(e){let t=this[M];return o(t),this.has(e)||(a(t),Pn(t),t.copy_.add(e),En(t,e,e)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),a(t),Pn(t),t.copy_.delete(e)||(t.drafts_.has(e)?t.copy_.delete(t.drafts_.get(e)):!1)}clear(){let e=this[M];o(e),Zt(e).size&&(a(e),Pn(e),e.copy_.clear())}values(){let e=this[M];return o(e),a(e),e.copy_.values()}entries(){let e=this[M];return o(e),a(e),e.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(e,t){let n=this.values(),r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}}function i(e,t){let n=new r(e,t);return[n,n[M]]}function a(e){e.copy_||(e.copy_=new Set,e.base_.forEach(t=>{if(Nt(t)){let n=Ln(e.scope_,t,e,t);e.drafts_.set(t,n),e.copy_.add(n)}else e.copy_.add(t)}))}function o(e){e.revoked_&&Ct(3,JSON.stringify(Zt(e)))}function s(e){if(e.type_===3&&e.copy_){let t=new Set(e.copy_);e.copy_.clear(),t.forEach(t=>{e.copy_.add(Qt(t))})}}ln(rn,{proxyMap_:t,proxySet_:i,fixSetContents:s})}var Hn=new In().produce,Un=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Hn(e):e,n,...r),e(r.setState,n,r)),Wn={$:`variable`,_:`temporary`,\"@\":`local`,\"%\":`transient`},Gn=Object.fromEntries(Object.entries(Wn).map(([e,t])=>[t,e])),Kn=new Set(Object.keys(Wn));function qn(e){return e!==void 0&&Kn.has(e)}function Jn(e,t){return t.className&&(e.className=t.className),t.id&&(e.id=t.id),e}var Yn={SIGIL_SCOPES:Wn,withSelectors:Jn},Xn=`{`,Zn=`}`,{SIGIL_SCOPES:Qn,withSelectors:$n}=Yn,er=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),tr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},nr=new Set([`if`,`switch`,`timed`]),rr=[[`|`,!1],[`->`,!1],[`<-`,!0]],ir={};function ar(e,t){let n=(n,r)=>{let i=e.slice(n,r),a=i.trim(),o=t+n+(a?i.indexOf(a):0);return{value:a,start:o,end:o+a.length}};for(let[t,r]of rr){let i=e.indexOf(t);if(i===-1)continue;let a=n(0,i),o=n(i+t.length,e.length),[s,c]=r?[o,a]:[a,o];return{display:s.value,target:c.value,targetStart:c.start,targetEnd:c.end}}let r=n(0,e.length);return{display:r.value,target:r.value,targetStart:r.start,targetEnd:r.end}}function or(e){return`\"`+e.replace(/[\\\\\"]/g,`\\\\$&`)+`\"`}function sr(e){let t=[],n=``;for(let[r,i]of e)i&&(r===`.`?t.push(i):n=i);return $n({},{className:t.join(` `),id:n})}function cr(e){return e.lex===`html`?(e.isClose?`</`:`<`)+e.tag+`>`:Xn+(e.isClose?`/`:``)+e.name+Zn}function lr(e){return e.lex===`html`?`</`+e.tag+`>`:Xn+`/`+e.name+Zn}function ur(e){return`line `+e.start.line+`, column `+e.start.column}function dr(e,t){return e.lex===t.lex&&e.lower===t.lower}function fr(e,t,n){return n.lex=e,n.start=t.start.offset,n.end=t.end.offset,n.loc=t,n}function pr(e){switch(e.lex){case`text`:return{type:`text`,value:e.value};case`link`:return $n({type:`macro`,name:`link`,rawArgs:or(e.display)+` `+or(e.target),children:[]},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope},e);case`expression`:return $n({type:`expression`,expression:e.expression},e);default:return e}}function mr(e){let t={start:e.start,end:e.end};switch(e.lex){case`text`:return{type:`text`,value:e.value,...t};case`link`:return $n({type:`link`,display:e.display,target:e.target,targetStart:e.targetStart,targetEnd:e.targetEnd,...t},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope,...t},e);case`expression`:return $n({type:`expression`,expression:e.expression,...t},e);case`macro`:return $n({type:`macro`,name:e.name,rawArgs:e.rawArgs,isClose:e.isClose,...t},e);case`html`:return{type:`html`,tag:e.tag,attributes:e.attributes,isClose:e.isClose,isSelfClose:e.isSelfClose,...t}}}function hr(e,t){let n=[],r=null,i=e=>{if(e!=null){if(Array.isArray(e))return e.forEach(i);if(e.lex===`text`&&!e.escape&&r&&r.lex===`text`&&!r.escape&&r.end===e.start){r.value+=e.value,r.end=e.end;return}n.push(e),r=e}};return i(e),t?n.map(t):n}var gr=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\\r\\n|\\n|\\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`\n --> `+o+`\n`+r+` |\n`+a.line+` | `+s+`\n`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`\n at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\\\p{C}\\\\p{Mn}\\\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}function o(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\\]/g,`\\\\]`).replace(/\\^/g,`\\\\^`).replace(/-/g,`\\\\-`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}let s={literal(e){return`\"`+a(e.text)+`\"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`\"`+a(e)+`\"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function _r(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Markup:yn,Tokens:jn,SelectorsPrefix:Vn},a=yn,o=/^[^\\\\{[<]/,s=/^[{}]/,c=/^[$_@%(!\\/a-zA-Z]/,l=/^[.#]/,u=/^[a-zA-Z0-9_\\-]/,d=/^[$_@%]/,f=/^[a-zA-Z0-9_.]/,p=/^[$_@%(!]/,m=/^[a-zA-Z]/,h=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF}]/,g=/^[\\t-\\r \\/>\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,_=/^[a-zA-Z0-9\\-]/,v=/^[\\t-\\r \"'\\/<->{}\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,y=/^[^\"]/,b=/^[^']/,x=/^[\"']/,S=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF>]/,C=/^[ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,w=pn(),T=fn([`\\\\`,`{`,`[`,`<`],!0,!1,!1),E=dn(`\\\\`,!1),ee=fn([`{`,`}`],!1,!1,!1),D=dn(`{`,!1),te=fn([`$`,`_`,`@`,`%`,`(`,`!`,`/`,[`a`,`z`],[`A`,`Z`]],!1,!1,!1),ne=dn(`<`,!1),re=dn(`[`,!1),ie=dn(`[[`,!1),O=dn(`]]`,!1),ae=dn(` `,!1),oe=fn([`.`,`#`],!1,!1,!1),se=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`-`],!1,!1,!1),ce=fn([`$`,`_`,`@`,`%`],!1,!1,!1),le=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`.`],!1,!1,!1),ue=dn(`}`,!1),de=fn([`$`,`_`,`@`,`%`,`(`,`!`],!1,!1,!1),fe=dn(`/`,!1),pe=fn([[`a`,`z`],[`A`,`Z`]],!1,!1,!1),me=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`}`],!0,!1,!1),he=dn(`>`,!1),ge=fn([[`\t`,`\\r`],` `,`/`,`>`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),_e=dn(`</`,!1),ve=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`-`],!1,!1,!1),k=fn([[`\t`,`\\r`],` `,`\"`,`'`,`/`,[`<`,`>`],`{`,`}`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),ye=dn(`=`,!1),be=dn(`\"`,!1),xe=fn([`\"`],!0,!1,!1),Se=dn(`'`,!1),A=fn([`'`],!0,!1,!1),Ce=fn([`\"`,`'`],!1,!1,!1),we=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`>`],!0,!1,!1),Te=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``],!1,!1,!1);function Ee(e){return e}function De(e){Or(cr(e)+` must be directly inside {`+tr[e.lower]+Zn,e.loc)}function Oe(e){Or(cr(e)+` closes nothing: no `+(e.lex===`html`?`<`+e.tag+`>`:Xn+e.name+Zn)+` is open here`,e.loc)}function ke(e){return hr(e,pr)}function Ae(e){return e.kind===`open`}function je(e){return Er=e.lower,Cr.isRaw(Er)}function Me(e,t){return t}function Ne(e){return Cr.isBlock(e.lower)}function j(e,t){return t}function Pe(e){return null}function Fe(e,t){return jr(e,t)}function Ie(){return!Sr}function Le(e){return!e.isSelfClose}function Re(e,t){return t}function ze(e,t){let n={type:`html`,tag:e.tag,attributes:e.attributes,children:[]};return t&&(Ar(e,t),n.children=t.children),n}function Be(e,t,n){return{children:e,branches:t,end:n}}function Ve(e,t){return{tag:e,children:t}}function He(){return null}function Ue(e){return e.kind===`branch`}function We(e){return e}function Ge(e){return e.kind===`close`}function Ke(e){return e}function qe(){return!Sr}function Je(e){return e}function Ye(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function Xe(e){return wr-sn()}function Ze(e,t,n){return{children:t?[{type:`text`,value:t}]:[],branches:[],end:n}}function Qe(){return{children:[],branches:[],end:null}}function $e(e){return hr(e,mr)}function et(){return!Sr}function tt(e){return e}function nt(){return!Sr}function rt(e){return er.has(e.lower)?null:e}function it(e){return Er=e.lower,e.kind===`open`&&Cr.isRaw(Er)}function at(e,t){return t}function ot(e,t){return t?[e,t]:e}function st(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function ct(e){return wr-sn()}function lt(e,t,n){let r={start:{offset:e},end:{offset:e+t.length}};return[t?fr(`text`,r,{value:t}):null,n]}function ut(){return sn()}function dt(e){return fr(`text`,cn(),{value:e})}function ft(e){return e.length%2==1}function pt(e,t){return t}function mt(t,n){let r=cn(),i=e.charAt(r.end.offset);if(Sr){if(!n&&i!==Xn&&i!==Zn)return fr(`text`,r,{value:t});let e=fr(`text`,r,{value:`\\\\`.repeat(t.length>>1)+(n||``)});return e.escape=!0,e}if(!n)return fr(`text`,r,{value:t});let a=fr(`text`,r,{value:t.slice(1)});a.end=r.end.offset-2;let o=fr(`text`,r,{value:n});return o.start=r.end.offset-2,o.escape=!0,t.length>1?[a,o]:o}function ht(){return fr(`text`,cn(),{value:Xn})}function gt(){return!Sr}function _t(){return fr(`text`,cn(),{value:`<`})}function vt(){return fr(`text`,cn(),{value:`[`})}function yt(){return!Sr}function bt(e,t,n){return $n(fr(`link`,cn(),ar(n,t)),e)}function xt(){return!Sr}function St(){Or(`Unclosed link: [[ without ]]`,cn())}function M(e){return sr(e)}function Ct(){return ir}function wt(e,t){return{...e,end:t}}function Tt(e,t){return[e,t]}function Et(e,t,n){return $n(fr(`variable`,cn(),{name:n,scope:Qn[t]}),e)}function Dt(e,t){return $n(fr(`expression`,cn(),{expression:t}),e)}function Ot(){Or(`Unclosed `+Xn+e.substr(cn().end.offset,1)+`…: no } ends it`,cn())}function kt(t){return Dr(Cr.closeBrace(e,t,t))}function At(e){return wr-sn()}function jt(e,t){return t}function Mt(t,n,r,i,a){return Dr(Cr.closeBrace(e,a,n))}function Nt(e,t,n,r,i){return wr-sn()}function Pt(e,t,n,r,i,a){return a}function Ft(e,t,n,r,i,a){let o=cn(),s=r.toLowerCase(),c=fr(`macro`,o,{name:r,lower:s,rawArgs:``,isClose:!!n});return a===null&&Or(`Unclosed `+Xn+(n?`/`:``)+r+`…: no } ends the macro`,o),c.rawArgs=a.trim(),n?(e!==ir&&Or(`A closing tag takes no selectors: `+cr(c),o),c.rawArgs&&Or(`A closing tag takes no arguments: `+Xn+`/`+r+` `+c.rawArgs+Zn,o),c.kind=`close`):($n(c,e),c.kind=Object.prototype.hasOwnProperty.call(tr,s)?`branch`:`open`),c}function It(e){Or(`A closing tag starts with a letter after `+Xn+`/`,cn())}function Lt(){return!Sr}function Rt(e){return er.has(e.lower)}function zt(e){return null}function Bt(e,t,n){let r=e.toLowerCase();return fr(`html`,cn(),{tag:e,lower:r,attributes:kr(t),isClose:!1,isSelfClose:!!n||er.has(r)})}function Vt(t,n){let r=e.charAt(n);r||Or(`Unclosed tag <`+t+`: no > ends it (write &lt; for a < that starts no tag)`,cn());let i={source:cn().source,start:{offset:n,line:0,column:0},end:{offset:n+1,line:0,column:0}};Or(`Unexpected `+JSON.stringify(r)+` in the tag <`+t+`>: expected an attribute, or > to end the tag`,i)}function Ht(e){return fr(`html`,cn(),{tag:e,lower:e.toLowerCase(),attributes:{},isClose:!0,isSelfClose:!1})}function Ut(e){return Tr=Cr.isCodeAttribute(e),!0}function Wt(e,t){return t}function Gt(e,t){return[e,t??``]}function Kt(e){return e}function qt(e){return e}function Jt(e){Or(`Unclosed attribute value: the `+e+` here has no closing `+e,cn())}function Yt(){return!Tr}function Xt(e){return e.length%2==1}function Zt(){return!Tr}function Qt(t,n){return Dr(Cr.closeBrace(e,n,t))}function $t(e,t){return wr-sn()}function en(){return!Tr}function tn(){return Tr}let N=t.peg$currPos|0,P=N,nn=[{line:1,column:1}],rn=N,an=t.peg$maxFailExpected||[],F=t.peg$silentFails|0,on;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule \"`+t.startRule+`\".`);a=i[t.startRule]}function sn(){return P}function cn(){return gn(P,N)}function ln(e,t){throw t=t===void 0?gn(P,N):t,_n(e,t)}function un(t=N){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function dn(e,t){return{type:`literal`,text:e,ignoreCase:t}}function fn(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function pn(){return{type:`any`}}function mn(){return{type:`end`}}function hn(t){let n=nn[t],r;if(n)return n;if(t>=nn.length)r=nn.length-1;else for(r=t;!nn[--r];);for(n=nn[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return nn[t]=n,n}function gn(e,t,n){let i=hn(e),a=hn(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function I(e){N<rn||(N>rn&&(rn=N,an=[]),an.push(e))}function _n(e,t){return new gr(e,null,null,t)}function vn(e,t,n){return new gr(gr.buildMessage(e,t),e,t,n)}function yn(){let e,t,r;return e=N,t=xn(),r=bn(),r===n?(N=e,e=n):(P=e,e=Ee(t)),e}function bn(){let t,r;return t=N,F++,e.length>N?(r=e.charAt(N),N++):(r=n,F===0&&I(w)),F--,r===n?t=void 0:(N=t,t=n),t===n&&(t=N,r=On(),r!==n&&(P=t,r=De(r)),t=r,t===n&&(t=N,r=kn(),r!==n&&(P=t,r=Oe(r)),t=r)),t}function xn(){let e,t,r;for(e=N,t=[],r=Sn();r!==n;)t.push(r),r=Sn();return P=e,t=ke(t),e=t,e}function Sn(){let e;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=wn(),e===n&&(e=Jn(),e===n&&(e=Wn(),e===n&&(e=Cn(),e===n&&(e=Ln()))))))),e}function Cn(){let e,t,r,i,a,o;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ae(t),r=r?void 0:n,r===n?(N=e,e=n):(i=N,P=N,a=je(t),a=a?void 0:n,a===n?(N=i,i=n):(o=An(),o===n?(N=i,i=n):(P=i,i=Me(t,o))),i===n&&(i=N,P=N,a=Ne(t),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=j(t,o))),i===n&&(i=N,a=``,P=i,a=Pe(t),i=a)),i===n?(N=e,e=n):(P=e,e=Fe(t,i)))),e}function wn(){let e,t,r,i,a,o;return e=N,P=N,t=Ie(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(i=N,P=N,a=Le(r),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=Re(r,o))),i===n&&(i=null),P=e,e=ze(r,i))),e}function Tn(){let e,t,r,i;if(e=N,t=xn(),t!==n){for(r=[],i=En();i!==n;)r.push(i),i=En();i=Dn(),i===n?(N=e,e=n):(P=e,e=Be(t,r,i))}else N=e,e=n;return e}function En(){let e,t,r;return e=N,t=On(),t===n?(N=e,e=n):(r=xn(),r===n?(N=e,e=n):(P=e,e=Ve(t,r))),e}function Dn(){let t,r,i;return t=kn(),t===n&&(t=N,r=N,F++,e.length>N?(i=e.charAt(N),N++):(i=n,F===0&&I(w)),F--,i===n?r=void 0:(N=r,r=n),r!==n&&(P=t,r=He()),t=r),t}function On(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ue(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=We(t))),e}function kn(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ge(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=Ke(t))),e===n&&(e=N,P=N,t=qe(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=Je(r)))),e}function An(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=Ye(r),i=i?void 0:n,i!==n){for(a=N,o=Xe(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=Ze(r,a,o)))}else N=t,t=n;return t===n&&(t=N,r=``,P=t,r=Qe(),t=r),t}function jn(){let e,t,r;for(e=N,t=[],r=Mn();r!==n;)t.push(r),r=Mn();return P=e,t=$e(t),e=t,e}function Mn(){let e,t,r,i,a;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=N,P=N,t=et(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(P=e,e=tt(r))),e===n&&(e=N,P=N,t=nt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=rt(r))),e===n&&(e=Wn(),e===n&&(e=N,t=Kn(),t===n?(N=e,e=n):(r=N,P=N,i=it(t),i=i?void 0:n,i===n?(N=r,r=n):(a=Nn(),a===n?(N=r,r=n):(P=r,r=at(t,a))),r===n&&(r=null),P=e,e=ot(t,r)),e===n&&(e=Ln()))))))),e}function Nn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=st(r),i=i?void 0:n,i!==n){for(a=N,o=ct(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=lt(r,a,o)))}else N=t,t=n;return t}function Pn(){let e,t;return e=N,t=``,P=e,t=ut(),e=t,e}function Fn(){let t,r,i,a;if(t=N,r=N,i=[],a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T));else i=n;return r=i===n?i:e.substring(r,N),r!==n&&(P=t,r=dt(r)),t=r,t}function In(){let t,r,i,a,o;if(t=N,r=N,i=[],e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E)),a!==n)for(;a!==n;)i.push(a),e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(E));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(i=N,P=N,a=ft(r),a=a?void 0:n,a===n?(N=i,i=n):(o=e.charAt(N),s.test(o)?N++:(o=n,F===0&&I(ee)),o===n?(N=i,i=n):(P=i,i=pt(r,o))),i===n&&(i=null),P=t,t=mt(r,i)),t}function Ln(){let t,r,i,a,o,s;return t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=N,F++,a=N,o=Bn(),o===n?(N=a,a=n):(s=e.charAt(N),c.test(s)?N++:(s=n,F===0&&I(te)),s===n?(N=a,a=n):(o=[o,s],a=o)),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=t,t=n):(P=t,t=ht())),t===n&&(t=N,r=N,F++,i=N,P=N,a=gt(),a=a?void 0:n,a===n?(N=i,i=n):(o=rr(),o===n?(N=i,i=n):(a=[a,o],i=a)),F--,i===n?r=void 0:(N=r,r=n),r===n?(N=t,t=n):(e.charCodeAt(N)===60?(i=`<`,N++):(i=n,F===0&&I(ne)),i===n?(N=t,t=n):(P=t,t=_t())),t===n&&(t=N,e.charCodeAt(N)===91?(r=`[`,N++):(r=n,F===0&&I(re)),r!==n&&(P=t,r=vt()),t=r)),t}function Rn(){let t,r,i,a,o,s,c;return t=N,P=N,r=yt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=Pn(),s=N,c=zn(),s=e.substring(s,N),e.substr(N,2)===`]]`?(c=`]]`,N+=2):(c=n,F===0&&I(O)),c===n?(N=t,t=n):(P=t,t=bt(a,o,s))))),t===n&&(t=N,P=N,r=xt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(P=t,t=St()))),t}function zn(){let t,r,i,a;for(t=[],r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));r!==n;)t.push(r),r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));return t}function Bn(){let t,r,i;if(t=N,r=[],i=Hn(),i!==n)for(;i!==n;)r.push(i),i=Hn();else r=n;return r===n?(N=t,t=n):(e.charCodeAt(N)===32?(i=` `,N++):(i=n,F===0&&I(ae)),i===n&&(i=null),P=t,t=M(r)),t===n&&(t=N,r=``,P=t,r=Ct(),t=r),t}function Vn(){let t,r,i,a,o;if(t=N,r=Bn(),r!==n){for(i=Pn(),a=[],e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));o!==n;)a.push(o),e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));P=t,t=wt(r,i)}else N=t,t=n;return t}function Hn(){let t,r,i,a,o;if(t=N,r=e.charAt(N),l.test(r)?N++:(r=n,F===0&&I(oe)),r!==n){for(i=N,a=[],o=Un();o!==n;)a.push(o),o=Un();i=e.substring(i,N),P=t,t=Tt(r,i)}else N=t,t=n;return t}function Un(){let t,r,i,a,o;if(t=e.charAt(N),u.test(t)?N++:(t=n,F===0&&I(se)),t===n)if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=e.charAt(N),d.test(i)?N++:(i=n,F===0&&I(ce)),i!==n){for(a=[],o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));o!==n;)a.push(o),o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));e.charCodeAt(N)===125?(o=`}`,N++):(o=n,F===0&&I(ue)),o===n?(N=t,t=n):(r=[r,i,a,o],t=r)}else N=t,t=n;else N=t,t=n;return t}function Wn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=e.charAt(N),d.test(a)?N++:(a=n,F===0&&I(ce)),a!==n){for(o=N,s=[],c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));c!==n;)s.push(c),c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));o=e.substring(o,N),e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Et(i,a,o))}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Dt(i,o)))))),t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(P=t,t=Ot()))))),t}function Gn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=kt(r),i=i?void 0:n,i!==n){for(a=N,o=At(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(P=t,t=jt(r,a))}else N=t,t=n;return t}function Kn(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=Pn(),e.charCodeAt(N)===47?(o=`/`,N++):(o=n,F===0&&I(fe)),o===n&&(o=null),s=qn(),s!==n){if(c=Pn(),l=N,P=N,u=Mt(i,a,o,s,c),u=u?void 0:n,u!==n){for(d=N,f=Nt(i,a,o,s,c),p=N,m=[],m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));h!==n;)m.push(h),m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));m.length<(f|0)?(N=p,p=n):p=m,f=p,d=f===n?f:e.substring(d,N),d===n?(N=l,l=n):(e.charCodeAt(N)===125?(f=`}`,N++):(f=n,F===0&&I(ue)),f===n?(N=l,l=n):(P=l,l=Pt(i,a,o,s,c,d)))}else N=l,l=n;l===n&&(l=null),P=t,t=Ft(i,a,o,s,c,l)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(e.charCodeAt(N)===47?(a=`/`,N++):(a=n,F===0&&I(fe)),a===n?(N=t,t=n):(P=t,t=It(i))))),t}function qn(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));o!==n;)a.push(o),o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function Jn(){let e,t,r,i;return e=N,P=N,t=Lt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=N,i=Rt(r),i=i?void 0:n,i===n?(N=e,e=n):(P=e,e=zt(r)))),e}function Yn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n){for(a=[],o=_r();o!==n;)a.push(o),o=_r();o=br(),e.charCodeAt(N)===47?(s=`/`,N++):(s=n,F===0&&I(fe)),s===n&&(s=null),e.charCodeAt(N)===62?(c=`>`,N++):(c=n,F===0&&I(he)),c===n?(N=t,t=n):(P=t,t=Bt(i,a,s))}else N=t,t=n;else N=t,t=n;if(t===n)if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n)if(a=N,F++,o=e.charAt(N),g.test(o)?N++:(o=n,F===0&&I(ge)),o===n&&(o=N,F++,e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),F--,s===n?o=void 0:(N=o,o=n)),F--,o===n?a=n:(N=a,a=void 0),a!==n){for(o=[],s=_r();s!==n;)o.push(s),s=_r();s=br(),c=Pn(),P=t,t=Vt(i,c)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t}function rr(){let t,r,i,a;return t=N,e.substr(N,2)===`</`?(r=`</`,N+=2):(r=n,F===0&&I(_e)),r===n?(N=t,t=n):(i=or(),i===n?(N=t,t=n):(br(),e.charCodeAt(N)===62?(a=`>`,N++):(a=n,F===0&&I(he)),a===n?(N=t,t=n):(P=t,t=Ht(i)))),t}function or(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));o!==n;)a.push(o),o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function _r(){let t,r,i,a,o,s,c;if(t=N,br(),r=N,i=[],a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o)),a!==n)for(;a!==n;)i.push(a),a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(P=N,i=Ut(r),i=i?void 0:n,i===n?(N=t,t=n):(a=N,o=br(),e.charCodeAt(N)===61?(s=`=`,N++):(s=n,F===0&&I(ye)),s===n?(N=a,a=n):(br(),c=vr(),c===n?(N=a,a=n):(P=a,a=Wt(r,c))),a===n&&(a=null),P=t,t=Gt(r,a))),t}function vr(){let t,r,i,a,o;if(t=N,e.charCodeAt(N)===34?(r=`\"`,N++):(r=n,F===0&&I(be)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));i=e.substring(i,N),e.charCodeAt(N)===34?(a=`\"`,N++):(a=n,F===0&&I(be)),a===n?(N=t,t=n):(P=t,t=Kt(i))}else N=t,t=n;if(t===n){if(t=N,e.charCodeAt(N)===39?(r=`'`,N++):(r=n,F===0&&I(Se)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));i=e.substring(i,N),e.charCodeAt(N)===39?(a=`'`,N++):(a=n,F===0&&I(Se)),a===n?(N=t,t=n):(P=t,t=qt(i))}else N=t,t=n;if(t===n&&(t=N,r=e.charAt(N),x.test(r)?N++:(r=n,F===0&&I(Ce)),r!==n&&(P=t,r=Jt(r)),t=r,t===n)){for(t=N,r=[],i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));i!==n;)r.push(i),i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));t=e.substring(t,N)}}return t}function yr(){let t,r,i,a,o,c,l,u,f,p,h,g,_,v;if(t=N,P=N,r=Yt(),r=r?void 0:n,r!==n){if(i=N,a=[],e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E)),o!==n)for(;o!==n;)a.push(o),e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(E));else a=n;i=a===n?a:e.substring(i,N),i===n?(N=t,t=n):(a=N,P=N,o=Xt(i),o=o?void 0:n,o===n?(N=a,a=n):(c=e.charAt(N),s.test(c)?N++:(c=n,F===0&&I(ee)),c===n?(N=a,a=n):(o=[o,c],a=o)),a===n&&(a=null),r=[r,i,a],t=r)}else N=t,t=n;if(t===n){if(t=N,P=N,r=Zt(),r=r?void 0:n,r!==n)if(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i!==n)if(a=Bn(),a!==n)if(o=Pn(),e.charCodeAt(N)===47?(c=`/`,N++):(c=n,F===0&&I(fe)),c===n&&(c=null),l=qn(),l!==n)if(u=Pn(),P=N,f=Qt(o,u),f=f?void 0:n,f!==n){for(p=N,h=$t(o,u),g=N,_=[],_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));v!==n;)_.push(v),_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));_.length<(h|0)?(N=g,g=n):g=_,h=g,p=h===n?h:e.substring(p,N),p===n?(N=t,t=n):(e.charCodeAt(N)===125?(h=`}`,N++):(h=n,F===0&&I(ue)),h===n?(N=t,t=n):(r=[r,i,a,o,c,l,u,f,p,h],t=r))}else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;t===n&&(t=N,P=N,r=en(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=N,F++,c=N,e.charCodeAt(N)===47?(l=`/`,N++):(l=n,F===0&&I(fe)),l===n&&(l=null),u=e.charAt(N),m.test(u)?N++:(u=n,F===0&&I(pe)),u===n?(N=c,c=n):(l=[l,u],c=l),F--,c===n?o=void 0:(N=o,o=n),o===n?(N=t,t=n):(c=Gn(),c===n?(N=t,t=n):(e.charCodeAt(N)===125?(l=`}`,N++):(l=n,F===0&&I(ue)),l===n?(N=t,t=n):(r=[r,i,a,o,c,l],t=r)))))),t===n&&(t=N,P=N,r=tn(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),d.test(o)?N++:(o=n,F===0&&I(ce)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(c=`}`,N++):(c=n,F===0&&I(ue)),c===n?(N=t,t=n):(r=[r,i,a,o,c],t=r)))))))}return t}function br(){let e,t;for(e=[],t=xr();t!==n;)e.push(t),t=xr();return e}function xr(){let t;return t=e.charAt(N),C.test(t)?N++:(t=n,F===0&&I(Te)),t}let Sr=t.text===!0,Cr=t.hooks,wr=-1,Tr=!1,Er=``;function Dr(e){return wr=e,e>=0}function Or(e,t){ln(e,t)}function kr(e){let t={},n=new Set;for(let[r,i]of e){let e=r.toLowerCase();n.has(e)||(n.add(e),Object.defineProperty(t,r,{value:i,enumerable:!0,writable:!0,configurable:!0}))}return t}function Ar(e,t){for(let n of t.branches){let t=tr[n.tag.lower];(e.lex!==`macro`||e.lower!==t)&&Or(cr(n.tag)+` must be directly inside {`+t+Zn+`, not inside `+cr(e),n.tag.loc)}t.end||Or(`Unclosed `+cr(e)+`: no `+lr(e)+` closes it`,e.loc),dr(e,t.end)||Or(cr(t.end)+` found where `+lr(e)+` should close the `+cr(e)+` opened at `+ur(e.loc),t.end.loc)}function jr(e,t){let n={type:`macro`,name:e.lower,rawArgs:e.rawArgs,children:[]};if(!t)return $n(n,e);if(Ar(e,t),n.children=t.children,nr.has(e.lower)){n.branches=[$n({rawArgs:e.rawArgs,children:t.children},e)];for(let e of t.branches)n.branches.push($n({rawArgs:e.tag.rawArgs,children:e.children},e.tag));n.children=[]}else $n(n,e);return n}on=a();let Mr=on!==n&&N===e.length;function Nr(){throw on!==n&&N<e.length&&I(mn()),vn(an,rn<e.length?un(rn):null,rn<e.length?gn(rn,rn+1):gn(rn,rn))}if(t.peg$library)return{peg$result:on,peg$currPos:N,peg$FAILED:n,peg$maxFailExpected:an,peg$maxFailPos:rn,peg$success:Mr,peg$throw:Mr?void 0:Nr};if(Mr)return on;Nr()}var vr=class extends Map{get(e){return super.get(e.toLowerCase())}set(e,t){return super.set(e.toLowerCase(),t)}has(e){return super.has(e.toLowerCase())}delete(e){return super.delete(e.toLowerCase())}},yr=class{constructor(e=[]){this.names=new vr;for(let t of e)this.add(t)}add(e){this.names.set(e,!0)}has(e){return this.names.has(e)}delete(e){this.names.delete(e)}},br=new yr([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function xr(e){return br.has(e)}function Sr(e){br.add(e)}var Cr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,31,4,33,15,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,7,0,259,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,481,1,61,4,4,5,9,7,3,6,31,3,149,2,12,2,9,1,3,0,33,1,1357,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239],wr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,13,65,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,18,21,18,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,18,0,182,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,22,0,239,18,16,0,2,12,2,33,125,0,80,921,103,111,6,206,13,310,2314,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7386,37,33,96,114,14,913,15,50,7710,3,2,6,2,1,2,296,10,0,30,2,3,0,15,4,8,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,340,2,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,129,15,6,55,50,49,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4382,2,5773,3,7472,16,621,2467,541,1507,4938,6,8489,39815,11327],Tr=`‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄ-׉ؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୓-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫰ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・`,Er=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆ՘ՙՠ-ֈ֋֌א-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿ₏-₟ℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-꟝꟢꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩ꭬꭭ꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,Dr={3:`abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile`,5:`class enum extends super const export import`,6:`enum`,strict:`implements interface let package private protected public static yield`,strictBind:`eval arguments`},Or=`break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this`,kr={5:Or,\"5module\":Or+` export import`,6:Or+` const class extends export import super`},Ar=/^in(stanceof)?$/,jr=RegExp(`[`+Er+`]`),Mr=RegExp(`[`+Er+Tr+`]`);function Nr(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Pr(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)}function Fr(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Mr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)||Nr(e,Cr)}var L=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Ir(e,t){return new L(e,{beforeExpr:!0,binop:t})}var Lr={beforeExpr:!0},Rr={startsExpr:!0},zr={};function R(e,t){return t===void 0&&(t={}),t.keyword=e,zr[e]=new L(e,t)}var z={num:new L(`num`,Rr),regexp:new L(`regexp`,Rr),string:new L(`string`,Rr),name:new L(`name`,Rr),privateId:new L(`privateId`,Rr),eof:new L(`eof`),bracketL:new L(`[`,{beforeExpr:!0,startsExpr:!0}),bracketR:new L(`]`),braceL:new L(`{`,{beforeExpr:!0,startsExpr:!0}),braceR:new L(`}`),parenL:new L(`(`,{beforeExpr:!0,startsExpr:!0}),parenR:new L(`)`),comma:new L(`,`,Lr),semi:new L(`;`,Lr),colon:new L(`:`,Lr),dot:new L(`.`),question:new L(`?`,Lr),questionDot:new L(`?.`),arrow:new L(`=>`,Lr),template:new L(`template`),invalidTemplate:new L(`invalidTemplate`),ellipsis:new L(`...`,Lr),backQuote:new L(\"`\",Rr),dollarBraceL:new L(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new L(`=`,{beforeExpr:!0,isAssign:!0}),assign:new L(`_=`,{beforeExpr:!0,isAssign:!0}),incDec:new L(`++/--`,{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new L(`!/~`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ir(`||`,1),logicalAND:Ir(`&&`,2),bitwiseOR:Ir(`|`,3),bitwiseXOR:Ir(`^`,4),bitwiseAND:Ir(`&`,5),equality:Ir(`==/!=/===/!==`,6),relational:Ir(`</>/<=/>=`,7),bitShift:Ir(`<</>>/>>>`,8),plusMin:new L(`+/-`,{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ir(`%`,10),star:Ir(`*`,10),slash:Ir(`/`,10),starstar:new L(`**`,{beforeExpr:!0}),coalesce:Ir(`??`,1),_break:R(`break`),_case:R(`case`,Lr),_catch:R(`catch`),_continue:R(`continue`),_debugger:R(`debugger`),_default:R(`default`,Lr),_do:R(`do`,{isLoop:!0,beforeExpr:!0}),_else:R(`else`,Lr),_finally:R(`finally`),_for:R(`for`,{isLoop:!0}),_function:R(`function`,Rr),_if:R(`if`),_return:R(`return`,Lr),_switch:R(`switch`),_throw:R(`throw`,Lr),_try:R(`try`),_var:R(`var`),_const:R(`const`),_while:R(`while`,{isLoop:!0}),_with:R(`with`),_new:R(`new`,{beforeExpr:!0,startsExpr:!0}),_this:R(`this`,Rr),_super:R(`super`,Rr),_class:R(`class`,Rr),_extends:R(`extends`,Lr),_export:R(`export`),_import:R(`import`,Rr),_null:R(`null`,Rr),_true:R(`true`,Rr),_false:R(`false`,Rr),_in:R(`in`,{beforeExpr:!0,binop:7}),_instanceof:R(`instanceof`,{beforeExpr:!0,binop:7}),_typeof:R(`typeof`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:R(`void`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:R(`delete`,{beforeExpr:!0,prefix:!0,startsExpr:!0})},Br=/\\r\\n?|\\n|\\u2028|\\u2029/,Vr=new RegExp(Br.source,`g`);function Hr(e){return e===10||e===13||e===8232||e===8233}function Ur(e,t,n){n===void 0&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(Hr(i))return r<n-1&&i===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var Wr=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,Gr=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,Kr=Object.prototype,qr=Kr.hasOwnProperty,Jr=Kr.toString,Yr=Object.hasOwn||(function(e,t){return qr.call(e,t)}),Xr=Array.isArray||(function(e){return Jr.call(e)===`[object Array]`}),Zr=Object.create(null);function Qr(e){return Zr[e]||(Zr[e]=RegExp(`^(?:`+e.replace(/ /g,`|`)+`)$`))}function $r(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var ei=/(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/,ti=function(e,t){this.line=e,this.column=t};ti.prototype.offset=function(e){return new ti(this.line,this.column+e)};var ni=function(e,t,n){this.start=t,this.end=n,e.sourceFile!==null&&(this.source=e.sourceFile)};function ri(e,t){for(var n=1,r=0;;){var i=Ur(e,r,t);if(i<0)return new ti(n,t-r);++n,r=i}}var ii={ecmaVersion:null,sourceType:`script`,strict:!1,onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,startLocation:null,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},ai=!1;function oi(e){var t={};for(var n in ii)t[n]=e&&Yr(e,n)?e[n]:ii[n];if(t.ecmaVersion===`latest`?t.ecmaVersion=1e8:t.ecmaVersion==null?(!ai&&typeof console==`object`&&console.warn&&(ai=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved??(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Xr(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(Xr(t.onComment)&&(t.onComment=si(t,t.onComment)),t.sourceType===`commonjs`&&t.allowAwaitOutsideFunction)throw Error(`Cannot use allowAwaitOutsideFunction with sourceType: commonjs`);return t}function si(e,t){return function(n,r,i,a,o,s){var c={type:n?`Block`:`Line`,value:r,start:i,end:a};e.locations&&(c.loc=new ni(this,o,s)),e.ranges&&(c.range=[i,a]),t.push(c)}}var ci=1,li=2,ui=4,di=8,fi=16,pi=32,mi=64,hi=128,gi=256,_i=512,vi=1024,yi=ci|li|gi;function bi(e,t){return li|(e?ui:0)|(t?di:0)}var xi=0,Si=1,Ci=2,wi=3,Ti=4,Ei=5,Di=function(e,t,n){this.options=e=oi(e),this.sourceFile=e.sourceFile,this.keywords=Qr(kr[e.ecmaVersion>=6?6:e.sourceType===`module`?`5module`:5]);var r=``;e.allowReserved!==!0&&(r=Dr[e.ecmaVersion>=6?6:e.ecmaVersion===5?5:3],e.sourceType===`module`&&(r+=` await`)),this.reservedWords=Qr(r);var i=(r?r+` `:``)+Dr.strict;this.reservedWordsStrict=Qr(i),this.reservedWordsStrictBind=Qr(i+` `+Dr.strictBind),this.input=String(t),this.containsEsc=!1,this.pos=n||0,this.curLine=1,e.startLocation?(this.lineStart=this.pos-e.startLocation.column,this.curLine=e.startLocation.line):n?(this.lineStart=this.input.lastIndexOf(`\n`,n-1)+1,this.options.locations&&(this.curLine=this.input.slice(0,this.lineStart).split(Br).length)):this.lineStart=0,this.type=z.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType===`module`,this.strict=this.inModule||e.strict===!0||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&e.allowHashBang&&this.input.slice(0,2)===`#!`&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(this.options.sourceType===`commonjs`?li:ci),this.regexpState=null,this.privateNameStack=[]},Oi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowReturn:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},allowUsing:{configurable:!0},inClassStaticBlock:{configurable:!0}};Di.prototype.parse=function(){var e=this,t=this.options.program||this.startNode();return this.nextToken(),this.catchStackOverflow(function(){return e.parseTopLevel(t)})},Oi.inFunction.get=function(){return(this.currentVarScope().flags&li)>0},Oi.inGenerator.get=function(){return(this.currentVarScope().flags&di)>0},Oi.inAsync.get=function(){return(this.currentVarScope().flags&ui)>0},Oi.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i))return!1;if(t&li)return(t&ui)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},Oi.allowReturn.get=function(){return!!(this.inFunction||this.options.allowReturnOutsideFunction&&this.currentVarScope().flags&ci)},Oi.allowSuper.get=function(){return(this.currentThisScope().flags&mi)>0||this.options.allowSuperOutsideMethod},Oi.allowDirectSuper.get=function(){return(this.currentThisScope().flags&hi)>0},Oi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Oi.allowNewDotTarget.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i)||t&li&&!(t&fi))return!0}return!1},Oi.allowUsing.get=function(){var e=this.currentScope().flags;return!(e&vi||!this.inModule&&e&ci)},Oi.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&gi)>0},Di.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r<e.length;r++)n=e[r](n);return n},Di.parse=function(e,t){return new this(t,e).parse()},Di.parseExpressionAt=function(e,t,n){var r=new this(n,e,t);return r.nextToken(),r.parseExpression()},Di.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(Di.prototype,Oi);var ki=Di.prototype,Ai=/^(?:'((?:\\\\[^]|[^'\\\\])*?)'|\"((?:\\\\[^]|[^\"\\\\])*?)\")/;ki.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length;var t=Ai.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])===`use strict`){Gr.lastIndex=e+t[0].length;var n=Gr.exec(this.input),r=n.index+n[0].length,i=this.input.charAt(r);return i===`;`||i===`}`||Br.test(n[0])&&!(/[(`.[+\\-/*%<>=,?^&]/.test(i)||i===`!`&&this.input.charAt(r+1)===`=`||i===`i`&&ji(this,r))}e+=t[0].length,Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length,this.input[e]===`;`&&e++}};function ji(e,t){for(var n=t+1,r=Math.min(e.input.length,t+11);n<r;){var i=e.fullCharCodeAt(n);if(!Fr(i,!0))break;n+=i<=65535?1:2}return n===t+2&&e.input.slice(t,n)===`in`||n===t+10&&e.input.slice(t,n)===`instanceof`}ki.eat=function(e){return this.type===e?(this.next(),!0):!1},ki.isContextual=function(e){return this.type===z.name&&this.value===e&&!this.containsEsc},ki.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},ki.catchStackOverflow=function(e){try{return e()}catch(e){if(e instanceof Error&&(/\\bstack\\b.*\\b(exceeded|overflow)\\b/i.test(e.message)||/\\btoo much recursion\\b/i.test(e.message)))this.raise(this.start,`Not enough stack space to parse input`);else throw e}},ki.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ki.canInsertSemicolon=function(){return this.type===z.eof||this.type===z.braceR||Br.test(this.input.slice(this.lastTokEnd,this.start))},ki.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ki.semicolon=function(){!this.eat(z.semi)&&!this.insertSemicolon()&&this.unexpected()},ki.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ki.expect=function(e){this.eat(e)||this.unexpected()},ki.unexpected=function(e){this.raise(e??this.start,`Unexpected token`)};var Mi=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ki.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,`Comma is not permitted after the rest element`);var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?`Assigning to rvalue`:`Parenthesized pattern`)}},ki.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,`Shorthand property assignments are valid only in destructuring patterns`),r>=0&&this.raiseRecoverable(r,`Redefinition of __proto__ property`)},ki.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,`Yield expression cannot be a default value`),this.awaitPos&&this.raise(this.awaitPos,`Await expression cannot be a default value`)},ki.isSimpleAssignTarget=function(e){return e.type===`ParenthesizedExpression`?this.isSimpleAssignTarget(e.expression):e.type===`Identifier`||e.type===`MemberExpression`};var B=Di.prototype;B.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==z.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var r=0,i=Object.keys(this.undefinedExports);r<i.length;r+=1){var a=i[r];this.raiseRecoverable(this.undefinedExports[a].start,`Export '`+a+`' is not defined`)}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType===`commonjs`?`script`:this.options.sourceType,this.finishNode(e,`Program`)};var Ni={kind:`loop`},Pi={kind:`switch`};B.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual(`let`))return!1;Gr.lastIndex=this.pos;var t=Gr.exec(this.input),n=this.pos+t[0].length,r=this.fullCharCodeAt(n);if(r===91||r===92)return!0;if(e)return!1;if(r===123)return!0;if(Pr(r)){var i=n;do n+=r<=65535?1:2;while(Fr(r=this.fullCharCodeAt(n)));if(r===92)return!0;var a=this.input.slice(i,n);if(!Ar.test(a))return!0}return!1},B.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(`async`))return!1;Gr.lastIndex=this.pos;var e=Gr.exec(this.input),t=this.pos+e[0].length,n;return!Br.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)===`function`&&(t+8===this.input.length||!(Fr(n=this.fullCharCodeAt(t+8))||n===92))},B.isUsingKeyword=function(e,t){if(this.options.ecmaVersion<17||!this.isContextual(e?`await`:`using`))return!1;Gr.lastIndex=this.pos;var n=Gr.exec(this.input),r=this.pos+n[0].length;if(Br.test(this.input.slice(this.pos,r)))return!1;if(e){var i=r+5,a;if(this.input.slice(r,i)!==`using`||i===this.input.length||Fr(a=this.fullCharCodeAt(i))||a===92)return!1;Gr.lastIndex=i;var o=Gr.exec(this.input);if(r=i+o[0].length,o&&Br.test(this.input.slice(i,r)))return!1}var s=this.fullCharCodeAt(r);if(!Pr(s)&&s!==92)return!1;var c=r;do r+=s<=65535?1:2;while(Fr(s=this.fullCharCodeAt(r)));if(s===92)return!0;var l=this.input.slice(c,r);if(Ar.test(l))return!1;if(t&&!e&&l===`of`){Gr.lastIndex=r;var u=Gr.exec(this.input);if(r+=u[0].length,this.input.charCodeAt(r)!==61||(s=this.input.charCodeAt(r+1))===61||s===62)return!1}return!0},B.isAwaitUsing=function(e){return this.isUsingKeyword(!0,e)},B.isUsing=function(e){return this.isUsingKeyword(!1,e)},B.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),a;switch(this.isLet(e)&&(r=z._var,a=`let`),r){case z._break:case z._continue:return this.parseBreakContinueStatement(i,r.keyword);case z._debugger:return this.parseDebuggerStatement(i);case z._do:return this.parseDoStatement(i);case z._for:return this.parseForStatement(i);case z._function:return e&&(this.strict||e!==`if`&&e!==`label`)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case z._class:return e&&this.unexpected(),this.parseClass(i,!0);case z._if:return this.parseIfStatement(i);case z._return:return this.parseReturnStatement(i);case z._switch:return this.parseSwitchStatement(i);case z._throw:return this.parseThrowStatement(i);case z._try:return this.parseTryStatement(i);case z._const:case z._var:return a=a||this.value,e&&a!==`var`&&this.unexpected(),this.parseVarStatement(i,a);case z._while:return this.parseWhileStatement(i);case z._with:return this.parseWithStatement(i);case z.braceL:return this.parseBlock(!0,i);case z.semi:return this.parseEmptyStatement(i);case z._export:case z._import:if(this.options.ecmaVersion>10&&r===z._import){Gr.lastIndex=this.pos;var o=Gr.exec(this.input),s=this.pos+o[0].length,c=this.input.charCodeAt(s);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,`'import' and 'export' may only appear at the top level`),this.inModule||this.raise(this.start,`'import' and 'export' may appear only with 'sourceType: module'`)),r===z._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.isAwaitUsing(!1)?`await using`:this.isUsing(!1)?`using`:null;if(l)return this.allowUsing||this.raise(this.start,\"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement\"),e&&this.raise(this.start,`Using declaration is not allowed in single-statement positions`),l===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.next(),this.parseVar(i,!1,l),this.semicolon(),this.finishNode(i,`VariableDeclaration`);var u=this.value,d=this.parseExpression();return r===z.name&&d.type===`Identifier`&&this.eat(z.colon)?this.parseLabeledStatement(i,u,d,e):this.parseExpressionStatement(i,d)}},B.parseBreakContinueStatement=function(e,t){var n=t===`break`;this.next(),this.eat(z.semi)||this.insertSemicolon()?e.label=null:this.type===z.name?(e.label=this.parseIdent(),this.semicolon()):this.unexpected();for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if((e.label==null||i.name===e.label.name)&&(i.kind!=null&&(n||i.kind===`loop`)||e.label&&n))break}return r===this.labels.length&&this.raise(e.start,`Unsyntactic `+t),this.finishNode(e,n?`BreakStatement`:`ContinueStatement`)},B.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)},B.parseDoStatement=function(e){return this.next(),this.labels.push(Ni),e.body=this.parseStatement(`do`),this.labels.pop(),this.expect(z._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(z.semi):this.semicolon(),this.finishNode(e,`DoWhileStatement`)},B.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual(`await`)?this.lastTokStart:-1;if(this.labels.push(Ni),this.enterScope(0),this.expect(z.parenL),this.type===z.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===z._var||this.type===z._const||n){var r=this.startNode(),i=n?`let`:this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,`VariableDeclaration`),this.parseForAfterInit(e,r,t)}var a=this.isContextual(`let`),o=!1,s=this.isUsing(!0)?`using`:this.isAwaitUsing(!0)?`await using`:null;if(s){var c=this.startNode();return this.next(),s===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.parseVar(c,!0,s),this.finishNode(c,`VariableDeclaration`),this.parseForAfterInit(e,c,t)}var l=this.containsEsc,u=new Mi,d=this.start,f=t>-1?this.parseExprSubscripts(u,`await`):this.parseExpression(!0,u);return this.type===z._in||(o=this.options.ecmaVersion>=6&&this.isContextual(`of`))?(t>-1?(this.type===z._in&&this.unexpected(t),e.await=!0):o&&this.options.ecmaVersion>=8&&(f.start===d&&!l&&f.type===`Identifier`&&f.name===`async`?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),a&&o&&this.raise(f.start,`The left-hand side of a for-of loop may not start with 'let'.`),this.toAssignable(f,!1,u),this.checkLValPattern(f),this.parseForIn(e,f)):(this.checkExpressionErrors(u,!0),t>-1&&this.unexpected(t),this.parseFor(e,f))},B.parseForAfterInit=function(e,t,n){return(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))&&t.declarations.length===1?(this.type===z._in?((t.kind===`using`||t.kind===`await using`)&&!t.declarations[0].init&&this.raise(this.start,`Using declaration is not allowed in for-in loops`),this.options.ecmaVersion>=9&&n>-1&&this.unexpected(n)):this.options.ecmaVersion>=9&&(e.await=n>-1),this.parseForIn(e,t)):(n>-1&&this.unexpected(n),this.parseFor(e,t))},B.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,Ii|(n?0:Li),!1,t)},B.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(`if`),e.alternate=this.eat(z._else)?this.parseStatement(`if`):null,this.finishNode(e,`IfStatement`)},B.parseReturnStatement=function(e){return this.allowReturn||this.raise(this.start,`'return' outside of function`),this.next(),this.eat(z.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)},B.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(z.braceL),this.labels.push(Pi),this.enterScope(vi);for(var t,n=!1;this.type!==z.braceR;)if(this.type===z._case||this.type===z._default){var r=this.type===z._case;t&&this.finishNode(t,`SwitchCase`),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,`Multiple default clauses`),n=!0,t.test=null),this.expect(z.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,`SwitchCase`),this.next(),this.labels.pop(),this.finishNode(e,`SwitchStatement`)},B.parseThrowStatement=function(e){return this.next(),Br.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,`Illegal newline after throw`),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)};var Fi=[];B.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type===`Identifier`;return this.enterScope(t?pi:0),this.checkLValPattern(e,t?Ti:Ci),this.expect(z.parenR),e},B.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===z._catch){var t=this.startNode();this.next(),this.eat(z.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(z._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,`Missing catch or finally clause`),this.finishNode(e,`TryStatement`)},B.parseVarStatement=function(e,t,n){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)},B.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ni),e.body=this.parseStatement(`while`),this.labels.pop(),this.finishNode(e,`WhileStatement`)},B.parseWithStatement=function(e){return this.strict&&this.raise(this.start,`'with' in strict mode`),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(`with`),this.finishNode(e,`WithStatement`)},B.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,`EmptyStatement`)},B.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i<a.length;i+=1)a[i].name===t&&this.raise(n.start,`Label '`+t+`' is already declared`);for(var o=this.type.isLoop?`loop`:this.type===z._switch?`switch`:null,s=this.labels.length-1;s>=0;s--){var c=this.labels[s];if(c.statementStart===e.start)c.statementStart=this.start,c.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf(`label`)===-1?r+`label`:r:`label`),this.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)},B.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)},B.parseBlock=function(e,t,n){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(z.braceL),e&&this.enterScope(0);this.type!==z.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,`BlockStatement`)},B.parseFor=function(e,t){return e.init=t,this.expect(z.semi),e.test=this.type===z.semi?null:this.parseExpression(),this.expect(z.semi),e.update=this.type===z.parenR?null:this.parseExpression(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,`ForStatement`)},B.parseForIn=function(e,t){var n=this.type===z._in;return this.next(),t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(t.start,(n?`for-in`:`for-of`)+` loop variable declaration may not have an initializer`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,n?`ForInStatement`:`ForOfStatement`)},B.parseVar=function(e,t,n,r){for(e.declarations=[],e.kind=n;;){var i=this.startNode();if(this.parseVarId(i,n),this.eat(z.eq)?i.init=this.parseMaybeAssign(t):!r&&n===`const`&&!(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))?this.unexpected():!r&&(n===`using`||n===`await using`)&&this.options.ecmaVersion>=17&&this.type!==z._in&&!this.isContextual(`of`)?this.raise(this.lastTokEnd,`Missing initializer in `+n+` declaration`):!r&&i.id.type!==`Identifier`&&!(t&&(this.type===z._in||this.isContextual(`of`)))?this.raise(this.lastTokEnd,`Complex binding patterns require an initialization value`):i.init=null,e.declarations.push(this.finishNode(i,`VariableDeclarator`)),!this.eat(z.comma))break}return e},B.parseVarId=function(e,t){e.id=t===`using`||t===`await using`?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(e.id,t===`var`?Si:Ci,!1)};var Ii=1,Li=2,Ri=4;B.parseFunction=function(e,t,n,r,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===z.star&&t&Li&&this.unexpected(),e.generator=this.eat(z.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Ii&&(e.id=t&Ri&&this.type!==z.name?null:this.parseIdent(),e.id&&!(t&Li)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Si:Ci:wi));var a=this.yieldPos,o=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(e.async,e.generator)),t&Ii||(e.id=this.type===z.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,i),this.yieldPos=a,this.awaitPos=o,this.awaitIdentPos=s,this.finishNode(e,t&Ii?`FunctionDeclaration`:`FunctionExpression`)},B.parseFunctionParams=function(e){this.expect(z.parenL),e.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},B.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),i=this.startNode(),a=!1;for(i.body=[],this.expect(z.braceL);this.type!==z.braceR;){var o=this.parseClassElement(e.superClass!==null);o&&(i.body.push(o),o.type===`MethodDefinition`&&o.kind===`constructor`?(a&&this.raiseRecoverable(o.start,`Duplicate constructor in the same class`),a=!0):o.key&&o.key.type===`PrivateIdentifier`&&zi(r,o)&&this.raiseRecoverable(o.key.start,`Identifier '#`+o.key.name+`' has already been declared`))}return this.strict=n,this.next(),e.body=this.finishNode(i,`ClassBody`),this.exitClassBody(),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)},B.parseClassElement=function(e){if(this.eat(z.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),r=``,i=!1,a=!1,o=`method`,s=!1;if(this.eatContextual(`static`)){if(t>=13&&this.eat(z.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===z.star?s=!0:r=`static`}if(n.static=s,!r&&t>=8&&this.eatContextual(`async`)&&((this.isClassElementNameStart()||this.type===z.star)&&!this.canInsertSemicolon()?a=!0:r=`async`),!r&&(t>=9||!a)&&this.eat(z.star)&&(i=!0),!r&&!a&&!i){var c=this.value;(this.eatContextual(`get`)||this.eatContextual(`set`))&&(this.isClassElementNameStart()?o=c:r=c)}if(r?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=r,this.finishNode(n.key,`Identifier`)):this.parseClassElementName(n),t<13||this.type===z.parenL||o!==`method`||i||a){var l=!n.static&&Bi(n,`constructor`),u=l&&e;l&&o!==`method`&&this.raise(n.key.start,`Constructor can't have get/set modifier`),n.kind=l?`constructor`:o,this.parseClassMethod(n,i,a,u)}else this.parseClassField(n);return n},B.isClassElementNameStart=function(){return this.type===z.name||this.type===z.privateId||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword},B.parseClassElementName=function(e){this.type===z.privateId?(this.value===`constructor`&&this.raise(this.start,`Classes can't have an element named '#constructor'`),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},B.parseClassMethod=function(e,t,n,r){var i=e.key;e.kind===`constructor`?(t&&this.raise(i.start,`Constructor can't be a generator`),n&&this.raise(i.start,`Constructor can't be an async method`)):e.static&&Bi(e,`prototype`)&&this.raise(i.start,`Classes may not have a static property named prototype`);var a=e.value=this.parseMethod(t,n,r);return e.kind===`get`&&a.params.length!==0&&this.raiseRecoverable(a.start,`getter should have no params`),e.kind===`set`&&a.params.length!==1&&this.raiseRecoverable(a.start,`setter should have exactly one param`),e.kind===`set`&&a.params[0].type===`RestElement`&&this.raiseRecoverable(a.params[0].start,`Setter cannot use rest params`),this.finishNode(e,`MethodDefinition`)},B.parseClassField=function(e){return Bi(e,`constructor`)?this.raise(e.key.start,`Classes can't have a field named 'constructor'`):e.static&&Bi(e,`prototype`)&&this.raise(e.key.start,`Classes can't have a static field named 'prototype'`),this.eat(z.eq)?(this.enterScope(_i|mi),e.value=this.parseMaybeAssign(),this.exitScope()):e.value=null,this.semicolon(),this.finishNode(e,`PropertyDefinition`)},B.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(gi|mi);this.type!==z.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,`StaticBlock`)},B.parseClassId=function(e,t){this.type===z.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Ci,!1)):(t===!0&&this.unexpected(),e.id=null)},B.parseClassSuper=function(e){e.superClass=this.eat(z._extends)?this.parseExprSubscripts(null,!1):null},B.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},B.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,n=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,i=r===0?null:this.privateNameStack[r-1],a=0;a<n.length;++a){var o=n[a];Yr(t,o.name)||(i?i.used.push(o):this.raiseRecoverable(o.start,`Private field '#`+o.name+`' must be declared in an enclosing class`))}};function zi(e,t){var n=t.key.name,r=e[n],i=`true`;return t.type===`MethodDefinition`&&(t.kind===`get`||t.kind===`set`)&&(i=(t.static?`s`:`i`)+t.kind),r===`iget`&&i===`iset`||r===`iset`&&i===`iget`||r===`sget`&&i===`sset`||r===`sset`&&i===`sget`?(e[n]=`true`,!1):r?!0:(e[n]=i,!1)}function Bi(e,t){var n=e.computed,r=e.key;return!n&&(r.type===`Identifier`&&r.name===t||r.type===`Literal`&&r.value===t)}B.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual(`as`)?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual(`from`),this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ExportAllDeclaration`)},B.parseExport=function(e,t){if(this.next(),this.eat(z.star))return this.parseExportAllDeclaration(e,t);if(this.eat(z._default))return this.checkExport(t,`default`,this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,`ExportDefaultDeclaration`);if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type===`VariableDeclaration`?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[]);else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(`from`))this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var n=0,r=e.specifiers;n<r.length;n+=1){var i=r[n];this.checkUnreserved(i.local),this.checkLocalExport(i.local),i.local.type===`Literal`&&this.raise(i.local.start,\"A string literal cannot be used as an exported binding without `from`.\")}e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[])}this.semicolon()}return this.finishNode(e,`ExportNamedDeclaration`)},B.parseExportDeclaration=function(e){return this.parseStatement(null)},B.parseExportDefaultDeclaration=function(){var e;if(this.type===z._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,Ii|Ri,!1,e)}else if(this.type===z._class){var n=this.startNode();return this.parseClass(n,`nullableID`)}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},B.checkExport=function(e,t,n){e&&(typeof t!=`string`&&(t=t.type===`Identifier`?t.name:t.value),Yr(e,t)&&this.raiseRecoverable(n,`Duplicate export '`+t+`'`),e[t]=!0)},B.checkPatternExport=function(e,t){var n=t.type;if(n===`Identifier`)this.checkExport(e,t,t.start);else if(n===`ObjectPattern`)for(var r=0,i=t.properties;r<i.length;r+=1){var a=i[r];this.checkPatternExport(e,a)}else if(n===`ArrayPattern`)for(var o=0,s=t.elements;o<s.length;o+=1){var c=s[o];c&&this.checkPatternExport(e,c)}else n===`Property`?this.checkPatternExport(e,t.value):n===`AssignmentPattern`?this.checkPatternExport(e,t.left):n===`RestElement`&&this.checkPatternExport(e,t.argument)},B.checkVariableExport=function(e,t){if(e)for(var n=0,r=t;n<r.length;n+=1){var i=r[n];this.checkPatternExport(e,i.id)}},B.shouldParseExportStatement=function(){return this.type.keyword===`var`||this.type.keyword===`const`||this.type.keyword===`class`||this.type.keyword===`function`||this.isLet()||this.isAsyncFunction()},B.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual(`as`)?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,`ExportSpecifier`)},B.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(z.braceL);!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;t.push(this.parseExportSpecifier(e))}return t},B.parseImport=function(e){return this.next(),this.type===z.string?(e.specifiers=Fi,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual(`from`),e.source=this.type===z.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ImportDeclaration`)},B.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual(`as`)?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportSpecifier`)},B.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportDefaultSpecifier`)},B.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual(`as`),e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportNamespaceSpecifier`)},B.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===z.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(z.comma)))return e;if(this.type===z.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(z.braceL);!this.eat(z.braceR);){if(t)t=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;e.push(this.parseImportSpecifier())}return e},B.parseWithClause=function(){var e=[];if(!this.eat(z._with))return e;this.expect(z.braceL);for(var t={},n=!0;!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;var r=this.parseImportAttribute(),i=r.key.type===`Identifier`?r.key.name:r.key.value;Yr(t,i)&&this.raiseRecoverable(r.key.start,`Duplicate attribute key '`+i+`'`),t[i]=!0,e.push(r)}return e},B.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`),this.expect(z.colon),this.type!==z.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,`ImportAttribute`)},B.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===z.string){var e=this.parseLiteral(this.value);return ei.test(e.value)&&this.raise(e.start,`An export name cannot include a lone surrogate.`),e}return this.parseIdent(!0)},B.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},B.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&(this.input[e.start]===`\"`||this.input[e.start]===`'`)};var Vi=Di.prototype;Vi.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case`Identifier`:this.inAsync&&e.name===`await`&&this.raise(e.start,`Cannot use 'await' as identifier inside an async function`);break;case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:break;case`ObjectExpression`:e.type=`ObjectPattern`,n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.toAssignable(a,t),a.type===`RestElement`&&(a.argument.type===`ArrayPattern`||a.argument.type===`ObjectPattern`)&&this.raise(a.argument.start,`Unexpected token`)}break;case`Property`:e.kind!==`init`&&this.raise(e.key.start,`Object pattern can't contain getter or setter`),this.toAssignable(e.value,t);break;case`ArrayExpression`:e.type=`ArrayPattern`,n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case`SpreadElement`:e.type=`RestElement`,this.toAssignable(e.argument,t),e.argument.type===`AssignmentPattern`&&this.raise(e.argument.start,`Rest elements cannot have a default value`);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(e.left.end,`Only '=' operator can be used for specifying default value.`),e.type=`AssignmentPattern`,delete e.operator,this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(e.expression,t,n);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:if(!t)break;default:this.raise(e.start,`Assigning to rvalue`)}else n&&this.checkPatternErrors(n,!0);return e},Vi.toAssignableList=function(e,t){for(var n=e.length,r=0;r<n;r++){var i=e[r];i&&this.toAssignable(i,t)}if(n){var a=e[n-1];this.options.ecmaVersion===6&&t&&a&&a.type===`RestElement`&&a.argument.type!==`Identifier`&&this.unexpected(a.argument.start)}return e},Vi.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,`SpreadElement`)},Vi.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==z.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,`RestElement`)},Vi.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case z.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(z.bracketR,!0,!0),this.finishNode(e,`ArrayPattern`);case z.braceL:return this.parseObj(!0)}return this.parseIdent()},Vi.parseBindingList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);)if(a?a=!1:this.expect(z.comma),t&&this.type===z.comma)i.push(null);else if(n&&this.afterTrailingComma(e))break;else if(this.type===z.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),i.push(o),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.expect(e);break}else i.push(this.parseAssignableListItem(r));return i},Vi.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Vi.parseBindingListItem=function(e){return e},Vi.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(z.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,`AssignmentPattern`)},Vi.checkLValSimple=function(e,t,n){t===void 0&&(t=xi);var r=t!==xi;switch(e.type){case`Identifier`:this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?`Binding `:`Assigning to `)+e.name+` in strict mode`),r&&(t===Ci&&e.name===`let`&&this.raiseRecoverable(e.start,`let is disallowed as a lexically bound name`),n&&(Yr(n,e.name)&&this.raiseRecoverable(e.start,`Argument name clash`),n[e.name]=!0),t!==Ei&&this.declareName(e.name,t,e.start));break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:r&&this.raiseRecoverable(e.start,`Binding member expression`);break;case`ParenthesizedExpression`:return r&&this.raiseRecoverable(e.start,`Binding parenthesized expression`),this.checkLValSimple(e.expression,t,n);default:this.raise(e.start,(r?`Binding`:`Assigning to`)+` rvalue`)}},Vi.checkLValPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`ObjectPattern`:for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,t,n)}break;case`ArrayPattern`:for(var o=0,s=e.elements;o<s.length;o+=1){var c=s[o];c&&this.checkLValInnerPattern(c,t,n)}break;default:this.checkLValSimple(e,t,n)}},Vi.checkLValInnerPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`Property`:this.checkLValInnerPattern(e.value,t,n);break;case`AssignmentPattern`:this.checkLValPattern(e.left,t,n);break;case`RestElement`:this.checkLValPattern(e.argument,t,n);break;default:this.checkLValPattern(e,t,n)}};var Hi=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},V={b_stat:new Hi(`{`,!1),b_expr:new Hi(`{`,!0),b_tmpl:new Hi(\"${\",!1),p_stat:new Hi(`(`,!1),p_expr:new Hi(`(`,!0),q_tmpl:new Hi(\"`\",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Hi(`function`,!1),f_expr:new Hi(`function`,!0),f_expr_gen:new Hi(`function`,!0,!1,null,!0),f_gen:new Hi(`function`,!1,!1,null,!0)},Ui=Di.prototype;Ui.initialContext=function(){return[V.b_stat]},Ui.curContext=function(){return this.context[this.context.length-1]},Ui.braceIsBlock=function(e){var t=this.curContext();return t===V.f_expr||t===V.f_stat?!0:e===z.colon&&(t===V.b_stat||t===V.b_expr)?!t.isExpr:e===z._return||e===z.name&&this.exprAllowed?Br.test(this.input.slice(this.lastTokEnd,this.start)):e===z._else||e===z.semi||e===z.eof||e===z.parenR||e===z.arrow?!0:e===z.braceL?t===V.b_stat:e===z._var||e===z._const||e===z.name?!1:!this.exprAllowed},Ui.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},Ui.updateContext=function(e){var t,n=this.type;n.keyword&&e===z.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Ui.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},z.parenR.updateContext=z.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===V.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},z.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?V.b_stat:V.b_expr),this.exprAllowed=!0},z.dollarBraceL.updateContext=function(){this.context.push(V.b_tmpl),this.exprAllowed=!0},z.parenL.updateContext=function(e){var t=e===z._if||e===z._for||e===z._with||e===z._while;this.context.push(t?V.p_stat:V.p_expr),this.exprAllowed=!0},z.incDec.updateContext=function(){},z._function.updateContext=z._class.updateContext=function(e){e.beforeExpr&&e!==z._else&&!(e===z.semi&&this.curContext()!==V.p_stat)&&!(e===z._return&&Br.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===z.colon||e===z.braceL)&&this.curContext()===V.b_stat)?this.context.push(V.f_expr):this.context.push(V.f_stat),this.exprAllowed=!1},z.colon.updateContext=function(){this.curContext().token===`function`&&this.context.pop(),this.exprAllowed=!0},z.backQuote.updateContext=function(){this.curContext()===V.q_tmpl?this.context.pop():this.context.push(V.q_tmpl),this.exprAllowed=!1},z.star.updateContext=function(e){if(e===z._function){var t=this.context.length-1;this.context[t]===V.f_expr?this.context[t]=V.f_expr_gen:this.context[t]=V.f_gen}this.exprAllowed=!0},z.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==z.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var H=Di.prototype;H.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&e.type===`SpreadElement`)&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,i;switch(r.type){case`Identifier`:i=r.name;break;case`Literal`:i=String(r.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6){i===`__proto__`&&a===`init`&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,`Redefinition of __proto__ property`)),t.proto=!0);return}i=`$`+i;var o=t[i];o?(a===`init`?this.strict&&o.init||o.get||o.set:o.init||o[a])&&this.raiseRecoverable(r.start,`Redefinition of property`):o=t[i]={init:!1,get:!1,set:!1},o[a]=!0}},H.parseExpression=function(e,t){var n=this;return this.catchStackOverflow(function(){var r=n.start,i=n.startLoc,a=n.parseMaybeAssign(e,t);if(n.type===z.comma){var o=n.startNodeAt(r,i);for(o.expressions=[a];n.eat(z.comma);)o.expressions.push(n.parseMaybeAssign(e,t));return n.finishNode(o,`SequenceExpression`)}return a})},H.parseMaybeAssign=function(e,t,n){if(this.isContextual(`yield`)){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1,o=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,o=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Mi,r=!0);var s=this.start,c=this.startLoc;(this.type===z.parenL||this.type===z.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e===`await`);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,s,c)),this.type.isAssign){var u=this.startNodeAt(s,c);return u.operator=this.value,this.type===z.eq&&(l=this.toAssignable(l,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=-1,t.shorthandAssign>=l.start&&(t.shorthandAssign=-1),t.doubleProto>=l.start&&(t.doubleProto=-1)),this.type===z.eq?this.checkLValPattern(l):this.checkLValSimple(l),u.left=l,this.next(),u.right=this.parseMaybeAssign(e),o>-1&&(t.doubleProto=o),this.finishNode(u,`AssignmentExpression`)}else r&&this.checkExpressionErrors(t,!0);return i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),l},H.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(!(i.type===`ArrowFunctionExpression`&&i.start===n)&&this.eat(z.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(z.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,`ConditionalExpression`)}return i},H.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||i.start===n&&i.type===`ArrowFunctionExpression`?i:this.parseExprOp(i,n,r,-1,e)},H.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(a!=null&&(!i||this.type!==z._in)&&a>r){var o=this.type===z.logicalOR||this.type===z.logicalAND,s=this.type===z.coalesce;s&&(a=z.logicalAND.binop);var c=this.value;this.next();var l=this.start,u=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,i),l,u,a,i),f=this.buildBinary(t,n,e,d,c,o||s);return(o&&this.type===z.coalesce||s&&(this.type===z.logicalOR||this.type===z.logicalAND))&&this.raiseRecoverable(this.start,`Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses`),this.parseExprOp(f,t,n,r,i)}return e},H.buildBinary=function(e,t,n,r,i,a){r.type===`PrivateIdentifier`&&this.raise(r.start,`Private identifier can only be left side of binary expression`);var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?`LogicalExpression`:`BinaryExpression`)},H.parseMaybeUnary=function(e,t,n,r){var i=this.start,a=this.startLoc,o;if(this.isContextual(`await`)&&this.canAwait)o=this.parseAwait(r),t=!0;else if(this.type.prefix){var s=this.startNode(),c=this.type===z.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(s.argument):this.strict&&s.operator===`delete`&&Wi(s.argument)?this.raiseRecoverable(s.start,`Deleting local variable in strict mode`):s.operator===`delete`&&Gi(s.argument)?this.raiseRecoverable(s.start,`Private fields can not be deleted`):t=!0,o=this.finishNode(s,c?`UpdateExpression`:`UnaryExpression`)}else if(!t&&this.type===z.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),o=this.parsePrivateIdent(),this.type!==z._in&&this.unexpected();else{if(o=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return o;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(i,a);l.operator=this.value,l.prefix=!1,l.argument=o,this.checkLValSimple(o),this.next(),o=this.finishNode(l,`UpdateExpression`)}}if(!n&&!(o.type===`ArrowFunctionExpression`&&o.start===i)&&this.eat(z.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(i,a,o,this.parseMaybeUnary(null,!1,!1,r),`**`,!1);else return o};function Wi(e){return e.type===`Identifier`||e.type===`ParenthesizedExpression`&&Wi(e.expression)}function Gi(e){return e.type===`MemberExpression`&&e.property.type===`PrivateIdentifier`||e.type===`ChainExpression`&&Gi(e.expression)||e.type===`ParenthesizedExpression`&&Gi(e.expression)}H.parseExprSubscripts=function(e,t){var n=this.start,r=this.startLoc,i=-1,a=-1;e&&(i=e.doubleProto,a=e.shorthandAssign,e.doubleProto=e.shorthandAssign=-1);var o=this.parseExprAtom(e,t);if(o.type===`ArrowFunctionExpression`&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==`)`)return o;var s=this.parseSubscripts(o,n,r,!1,t);return e&&(s.end>o.end&&(this.checkExpressionErrors(e,!0),e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),i>-1&&(e.doubleProto=i),a>-1&&(e.shorthandAssign=a)),s},H.parseSubscripts=function(e,t,n,r,i){for(var a=this.options.ecmaVersion>=8&&e.type===`Identifier`&&e.name===`async`&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,o=!1;;){var s=this.parseSubscript(e,t,n,r,a,o,i);if(s.optional&&(o=!0),s.end===e.end||s.type===`ArrowFunctionExpression`){if(o){var c=this.startNodeAt(t,n);c.expression=s,s=this.finishNode(c,`ChainExpression`)}return s}e=s,a=!1}},H.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(z.arrow)},H.parseSubscriptAsyncArrow=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!0,r)},H.parseSubscript=function(e,t,n,r,i,a,o){var s=this.options.ecmaVersion>=11,c=s&&this.eat(z.questionDot);r&&c&&this.raise(this.lastTokStart,`Optional chaining cannot appear in the callee of new expressions`);var l=this.eat(z.bracketL);if(l||c&&this.type!==z.parenL&&this.type!==z.backQuote||this.eat(z.dot)){var u=this.startNodeAt(t,n);u.object=e,l?(u.property=this.parseExpression(),this.expect(z.bracketR)):this.type===z.privateId&&e.type!==`Super`?u.property=this.parsePrivateIdent():u.property=this.parseIdent(this.options.allowReserved!==`never`),u.computed=!!l,s&&(u.optional=c),e=this.finishNode(u,`MemberExpression`)}else if(!r&&this.eat(z.parenL)){var d=new Mi,f=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var h=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1,d);if(i&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,`Cannot use 'await' as identifier inside an async function`),this.yieldPos=f,this.awaitPos=p,this.awaitIdentPos=m,this.parseSubscriptAsyncArrow(t,n,h,o);this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,this.awaitIdentPos=m||this.awaitIdentPos;var g=this.startNodeAt(t,n);g.callee=e,g.arguments=h,s&&(g.optional=c),e=this.finishNode(g,`CallExpression`)}else if(this.type===z.backQuote){(c||a)&&this.raise(this.start,`Optional chaining cannot appear in the tag of tagged template expressions`);var _=this.startNodeAt(t,n);_.tag=e,_.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(_,`TaggedTemplateExpression`)}return e},H.parseExprAtom=function(e,t,n){this.type===z.slash&&this.readRegexp();var r,i=this.potentialArrowAt===this.start;switch(this.type){case z._super:return this.allowSuper||this.raise(this.start,`'super' keyword outside a method`),r=this.startNode(),this.next(),this.type===z.parenL&&!this.allowDirectSuper&&this.raise(r.start,`super() call outside constructor of a subclass`),this.type!==z.dot&&this.type!==z.bracketL&&this.type!==z.parenL&&this.unexpected(),this.finishNode(r,`Super`);case z._this:return r=this.startNode(),this.next(),this.finishNode(r,`ThisExpression`);case z.name:var a=this.start,o=this.startLoc,s=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&c.name===`async`&&!this.canInsertSemicolon()&&this.eat(z._function))return this.overrideContext(V.f_expr),this.parseFunction(this.startNodeAt(a,o),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(z.arrow))return this.parseArrowExpression(this.startNodeAt(a,o),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name===`async`&&this.type===z.name&&!s&&(!this.potentialArrowInForAwait||this.value!==`of`||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(z.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,o),[c],!0,t)}return c;case z.regexp:var l=this.value;return r=this.parseLiteral(l.value),r.regex={pattern:l.pattern,flags:l.flags},r;case z.num:case z.string:return this.parseLiteral(this.value);case z._null:case z._true:case z._false:return r=this.startNode(),r.value=this.type===z._null?null:this.type===z._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,`Literal`);case z.parenL:var u=this.start,d=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(d)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),d;case z.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(z.bracketR,!0,!0,e),this.finishNode(r,`ArrayExpression`);case z.braceL:return this.overrideContext(V.b_expr),this.parseObj(!1,e);case z._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case z._class:return this.parseClass(this.startNode(),!1);case z._new:return this.parseNew();case z.backQuote:return this.parseTemplate();case z._import:return this.options.ecmaVersion>=11?this.parseExprImport(n):this.unexpected();default:return this.parseExprAtomDefault()}},H.parseExprAtomDefault=function(){this.unexpected()},H.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword import`),this.next(),this.type===z.parenL&&!e)return this.parseDynamicImport(t);if(this.type===z.dot){var n=this.startNodeAt(t.start,t.loc&&t.loc.start);return n.name=`import`,t.meta=this.finishNode(n,`Identifier`),this.parseImportMeta(t)}else this.unexpected()},H.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(z.parenR)?e.options=null:(this.expect(z.comma),this.afterTrailingComma(z.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(z.parenR)||(this.expect(z.comma),this.afterTrailingComma(z.parenR)||this.unexpected())));else if(!this.eat(z.parenR)){var t=this.start;this.eat(z.comma)&&this.eat(z.parenR)?this.raiseRecoverable(t,`Trailing comma is not allowed in import()`):this.unexpected(t)}return this.finishNode(e,`ImportExpression`)},H.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`meta`&&this.raiseRecoverable(e.property.start,`The only valid meta property for import is 'import.meta'`),t&&this.raiseRecoverable(e.start,`'import.meta' must not contain escaped characters`),this.options.sourceType!==`module`&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,`Cannot use 'import.meta' outside a module`),this.finishNode(e,`MetaProperty`)},H.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.value==null?t.raw.slice(0,-1).replace(/_/g,``):t.value.toString()),this.next(),this.finishNode(t,`Literal`)},H.parseParenExpression=function(){this.expect(z.parenL);var e=this.parseExpression();return this.expect(z.parenR),e},H.shouldParseArrow=function(e){return!this.canInsertSemicolon()},H.parseParenAndDistinguishExpression=function(e,t){var n=this.start,r=this.startLoc,i,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o=this.start,s=this.startLoc,c=[],l=!0,u=!1,d=new Mi,f=this.yieldPos,p=this.awaitPos,m;for(this.yieldPos=0,this.awaitPos=0;this.type!==z.parenR;)if(l?l=!1:this.expect(z.comma),a&&this.afterTrailingComma(z.parenR,!0)){u=!0;break}else if(this.type===z.ellipsis){m=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`);break}else c.push(this.parseMaybeAssign(!1,d,this.parseParenItem));var h=this.lastTokEnd,g=this.lastTokEndLoc;if(this.expect(z.parenR),e&&this.shouldParseArrow(c)&&this.eat(z.arrow))return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=f,this.awaitPos=p,this.parseParenArrowList(n,r,c,t);(!c.length||u)&&this.unexpected(this.lastTokStart),m&&this.unexpected(m),this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,c.length>1?(i=this.startNodeAt(o,s),i.expressions=c,this.finishNodeAt(i,`SequenceExpression`,h,g)):i=c[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var _=this.startNodeAt(n,r);return _.expression=i,this.finishNode(_,`ParenthesizedExpression`)}else return i},H.parseParenItem=function(e){return e},H.parseParenArrowList=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,r)};var Ki=[];H.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword new`);var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===z.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name=`new`,e.meta=this.finishNode(t,`Identifier`),this.next();var n=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`target`&&this.raiseRecoverable(e.property.start,`The only valid meta property for new is 'new.target'`),n&&this.raiseRecoverable(e.start,`'new.target' must not contain escaped characters`),this.allowNewDotTarget||this.raiseRecoverable(e.start,`'new.target' can only be used in functions and class static block`),this.finishNode(e,`MetaProperty`)}var r=this.start,i=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,i,!0,!1),e.callee.type===`Super`&&this.raiseRecoverable(r,`Invalid use of 'super'`),this.eat(z.parenL)?e.arguments=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ki,this.finishNode(e,`NewExpression`)},H.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===z.invalidTemplate?(t||this.raiseRecoverable(this.start,`Bad escape sequence in untagged template literal`),n.value={raw:this.value.replace(/\\r\\n?/g,`\n`),cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,`\n`),cooked:this.value},this.next(),n.tail=this.type===z.backQuote,this.finishNode(n,`TemplateElement`)},H.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===z.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(z.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(z.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},H.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===z.name||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===z.star)&&!Br.test(this.input.slice(this.lastTokEnd,this.start))},H.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(z.braceR);){if(r)r=!1;else if(this.expect(z.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(z.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},H.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(z.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(n.argument=this.parseMaybeAssign(!1,t),this.type===z.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(z.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(z.star),this.parsePropertyName(n)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},H.parseGetterSetter=function(e){var t=e.key.name;this.parsePropertyName(e),e.value=this.parseMethod(!1),e.kind=t;var n=e.kind===`get`?0:1;if(e.value.params.length!==n){var r=e.value.start;e.kind===`get`?this.raiseRecoverable(r,`getter should have no params`):this.raiseRecoverable(r,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)},H.parsePropertyValue=function(e,t,n,r,i,a,o,s){(n||r)&&this.type===z.colon&&this.unexpected(),this.eat(z.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`):this.options.ecmaVersion>=6&&this.type===z.parenL?(t&&this.unexpected(),e.method=!0,e.value=this.parseMethod(n,r),e.kind=`init`):!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==z.comma&&this.type!==z.braceR&&this.type!==z.eq?((n||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),t?e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key)):this.type===z.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.kind=`init`,e.shorthand=!0):this.unexpected()},H.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(z.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(z.bracketR),e.key;e.computed=!1}return e.key=this.type===z.num||this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},H.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},H.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(t,r.generator)|mi|(n?hi:0)),this.expect(z.parenL),r.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},H.parseArrowExpression=function(e,t,n,r){var i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(bi(n,!1)|fi),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,`ArrowFunctionExpression`)},H.parseFunctionBody=function(e,t,n,r){var i=t&&this.type!==z.braceL,a=this.strict,o=!1;if(i)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!a||s)&&(o=this.strictDirective(this.end),o&&s&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(e,!a&&!o&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ei),e.body=this.parseBlock(!1,void 0,o&&!a),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()},H.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},H.checkParams=function(e,t){for(var n=Object.create(null),r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,Si,t?null:n)}},H.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(z.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===z.comma?o=null:this.type===z.ellipsis?(o=this.parseSpread(r),r&&this.type===z.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},H.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),!(this.currentThisScope().flags&yi)&&r===`arguments`&&this.raiseRecoverable(t,`Cannot use 'arguments' in class field initializer`),this.inClassStaticBlock&&(r===`arguments`||r===`await`)&&this.raise(t,`Cannot use `+r+` in class static initialization block`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},H.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,`Identifier`),e||(this.checkUnreserved(t),t.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},H.parseIdentNode=function(){var e=this.startNode();return this.type===z.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name===`class`||e.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=z.name):this.unexpected(),e},H.parsePrivateIdent=function(){var e=this.startNode();return this.type===z.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,`PrivateIdentifier`),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,`Private field '#`+e.name+`' must be declared in an enclosing class`):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},H.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===z.semi||this.canInsertSemicolon()||this.type!==z.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(z.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},H.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,`AwaitExpression`)};var qi=Di.prototype;qi.raise=function(e,t){var n=ri(this.input,e);t+=` (`+n.line+`:`+n.column+`)`,this.sourceFile&&(t+=` in `+this.sourceFile);var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},qi.raiseRecoverable=qi.raise,qi.curPosition=function(){if(this.options.locations)return new ti(this.curLine,this.pos-this.lineStart)};var Ji=Di.prototype,Yi=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};Ji.enterScope=function(e){this.scopeStack.push(new Yi(e))},Ji.exitScope=function(){this.scopeStack.pop()},Ji.treatFunctionsAsVarInScope=function(e){return e.flags&li||!this.inModule&&e.flags&ci},Ji.declareName=function(e,t,n){var r=!1;if(t===Ci){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&ci&&delete this.undefinedExports[e]}else if(t===Ti)this.currentScope().lexical.push(e);else if(t===wi){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&pi&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&ci&&delete this.undefinedExports[e],s.flags&yi)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},Ji.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi))return t}},Ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi)&&!(t.flags&fi))return t}};var Xi=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new ni(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Zi=Di.prototype;Zi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Zi.startNodeAt=function(e,t){return new Xi(this,e,t)};function Qi(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}Zi.finishNode=function(e,t){return Qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Zi.finishNodeAt=function(e,t,n,r){return Qi.call(this,e,t,n,r)},Zi.copyNode=function(e){var t=new Xi(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var $i=`Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz`,ea=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,ta=ea+` Extended_Pictographic`,na=ta,ra=na+` EBase EComp EMod EPres ExtPict`,ia=ra,aa=ia,oa={9:ea,10:ta,11:na,12:ra,13:ia,14:aa},sa=`Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji`,ca={9:``,10:``,11:``,12:``,13:``,14:sa},la=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,ua=`Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,da=ua+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,fa=da+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`,pa=fa+` Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi`,ma=pa+` Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith`,ha=ma+` `+$i,ga={9:ua,10:da,11:fa,12:pa,13:ma,14:ha},_a={};function va(e){var t=_a[e]={binary:Qr(oa[e]+` `+la),binaryOfStrings:Qr(ca[e]),nonBinary:{General_Category:Qr(la),Script:Qr(ga[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var ya=0,ba=[9,10,11,12,13,14];ya<ba.length;ya+=1){var xa=ba[ya];va(xa)}var U=Di.prototype,Sa=function(e,t){this.parent=e,this.base=t||this};Sa.prototype.separatedFrom=function(e){for(var t=this;t;t=t.parent)for(var n=e;n;n=n.parent)if(t.base===n.base&&t!==n)return!0;return!1},Sa.prototype.sibling=function(){return new Sa(this.parent,this.base)};var Ca=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``)+(e.options.ecmaVersion>=13?`d`:``)+(e.options.ecmaVersion>=15?`v`:``),this.unicodeProperties=_a[e.options.ecmaVersion>=14?14:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};Ca.prototype.reset=function(e,t,n){var r=n.indexOf(`v`)!==-1,i=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,r&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=i&&this.parser.options.ecmaVersion>=9)},Ca.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Ca.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Ca.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Ca.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Ca.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Ca.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Ca.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1},Ca.prototype.eatChars=function(e,t){t===void 0&&(t=!1);for(var n=this.pos,r=0,i=e;r<i.length;r+=1){var a=i[r],o=this.at(n,t);if(o===-1||o!==a)return!1;n=this.nextIndex(n,t)}return this.pos=n,!0},U.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=!1,i=!1,a=0;a<n.length;a++){var o=n.charAt(a);t.indexOf(o)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(o,a+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`),o===`u`&&(r=!0),o===`v`&&(i=!0)}this.options.ecmaVersion>=15&&r&&i&&this.raise(e.start,`Invalid regular expression flag`)};function wa(e){for(var t in e)return!0;return!1}U.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&wa(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},U.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames[r]||e.raise(`Invalid named capture referenced`)}},U.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new Sa(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},U.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},U.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},U.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},U.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},U.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},U.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},U.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},U.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},U.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var n=this.regexp_eatModifiers(e),r=e.eat(45);if(n||r){for(var i=0;i<n.length;i++){var a=n.charAt(i);n.indexOf(a,i+1)>-1&&e.raise(`Duplicate regular expression modifiers`)}if(r){var o=this.regexp_eatModifiers(e);!n&&!o&&e.current()===58&&e.raise(`Invalid regular expression modifiers`);for(var s=0;s<o.length;s++){var c=o.charAt(s);(o.indexOf(c,s+1)>-1||n.indexOf(c)>-1)&&e.raise(`Duplicate regular expression modifiers`)}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}}e.pos=t}return!1},U.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},U.regexp_eatModifiers=function(e){for(var t=``,n=0;(n=e.current())!==-1&&Ta(n);)t+=$r(n),e.advance();return t};function Ta(e){return e===105||e===109||e===115}U.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},U.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},U.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ea(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ea(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}U.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Ea(n);)e.advance();return e.pos!==t},U.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},U.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise(`Invalid group`);var t=this.options.ecmaVersion>=16,n=e.groupNames[e.lastStringValue];if(n)if(t)for(var r=0,i=n;r<i.length;r+=1)i[r].separatedFrom(e.branchID)||e.raise(`Duplicate capture group name`);else e.raise(`Duplicate capture group name`);t?(n||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},U.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},U.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=$r(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=$r(e.lastIntValue);return!0}return!1},U.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Da(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Da(e){return Pr(e,!0)||e===36||e===95}U.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Oa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Oa(e){return Fr(e,!0)||e===36||e===95||e===8204||e===8205}U.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},U.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},U.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},U.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},U.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},U.regexp_eatZero=function(e){return e.current()===48&&!Ba(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},U.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},U.regexp_eatControlLetter=function(e){var t=e.current();return ka(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ka(e){return e>=65&&e<=90||e>=97&&e<=122}U.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Aa(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Aa(e){return e>=0&&e<=1114111}U.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},U.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var ja=0,Ma=1,Na=2;U.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Pa(t))return e.lastIntValue=-1,e.advance(),Ma;var n=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((n=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return n&&r===Na&&e.raise(`Invalid property name`),r;e.raise(`Invalid property name`)}return ja};function Pa(e){return e===100||e===68||e===115||e===83||e===119||e===87}U.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),Ma}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i)}return ja},U.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Yr(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},U.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Ma;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return Na;e.raise(`Invalid property name`)},U.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Fa(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Fa(e){return ka(e)||e===95}U.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;Ia(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Ia(e){return Fa(e)||Ba(e)}U.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},U.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),n=this.regexp_classContents(e);return e.eat(93)||e.raise(`Unterminated character class`),t&&n===Na&&e.raise(`Negated character class may contain strings`),!0}return!1},U.regexp_classContents=function(e){return e.current()===93?Ma:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Ma)},U.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},U.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||Ua(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},U.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},U.regexp_classSetExpression=function(e){var t=Ma,n;if(!this.regexp_eatClassSetRange(e))if(n=this.regexp_eatClassSetOperand(e)){n===Na&&(t=Na);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(n=this.regexp_eatClassSetOperand(e))){n!==Na&&(t=Ma);continue}e.raise(`Invalid character in character class`)}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise(`Invalid character in character class`);if(r!==e.pos)return t}else e.raise(`Invalid character in character class`);for(;;)if(!this.regexp_eatClassSetRange(e)){if(n=this.regexp_eatClassSetOperand(e),!n)return t;n===Na&&(t=Na)}},U.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var n=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return n!==-1&&r!==-1&&n>r&&e.raise(`Range out of order in character class`),!0}e.pos=t}return!1},U.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Ma:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},U.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var n=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return n&&r===Na&&e.raise(`Negated character class may contain strings`),r;e.pos=t}if(e.eat(92)){var i=this.regexp_eatCharacterClassEscape(e);if(i)return i;e.pos=t}return null},U.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var n=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return n}else e.raise(`Invalid escape`);e.pos=t}return null},U.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===Na&&(t=Na);return t},U.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Ma:Na},U.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var n=e.current();return n<0||n===e.lookahead()&&La(n)||Ra(n)?!1:(e.advance(),e.lastIntValue=n,!0)};function La(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Ra(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}U.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return za(t)?(e.lastIntValue=t,e.advance(),!0):!1};function za(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}U.regexp_eatClassControlLetter=function(e){var t=e.current();return Ba(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},U.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},U.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Ba(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Ba(e){return e>=48&&e<=57}U.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Va(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ha(n),e.advance();return e.pos!==t};function Va(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ha(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}U.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},U.regexp_eatOctalDigit=function(e){var t=e.current();return Ua(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Ua(e){return e>=48&&e<=55}U.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Va(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ha(i),e.advance()}return!0};var Wa=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ni(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},W=Di.prototype;W.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Wa(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},W.getToken=function(){return this.next(),new Wa(this)},typeof Symbol<`u`&&(W[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===z.eof,value:t}}}}),W.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(z.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},W.readToken=function(e){return Pr(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},W.fullCharCodeAt=function(e){var t=this.input.charCodeAt(e);if(t<=55295||t>=56320)return t;var n=this.input.charCodeAt(e+1);return n<=56319||n>=57344?t:(t<<10)+n-56613888},W.fullCharCodeAtPos=function(){return this.fullCharCodeAt(this.pos)},W.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations)for(var r=void 0,i=t;(r=Ur(this.input,i,this.pos))>-1;)++this.curLine,i=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},W.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!Hr(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},W.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&Wr.test(String.fromCharCode(e)))++this.pos;else break loop}}},W.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},W.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(z.ellipsis)):(++this.pos,this.finishToken(z.dot))},W.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(z.assign,2):this.finishOp(z.slash,1)},W.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?z.star:z.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=z.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(z.assign,n+1):this.finishOp(r,n)},W.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(e===124?z.logicalOR:z.logicalAND,2):t===61?this.finishOp(z.assign,2):this.finishOp(e===124?z.bitwiseOR:z.bitwiseAND,1)},W.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(z.assign,2):this.finishOp(z.bitwiseXOR,1)},W.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||Br.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(z.incDec,2):t===61?this.finishOp(z.assign,2):this.finishOp(z.plusMin,1)},W.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(z.assign,n+1):this.finishOp(z.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(z.relational,n))},W.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(z.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(z.arrow)):this.finishOp(e===61?z.eq:z.prefix,1)},W.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(z.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(z.coalesce,2)}return this.finishOp(z.question,1)},W.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),Pr(t,!0)||t===92))return this.finishToken(z.privateId,this.readWord1());this.raise(this.pos,`Unexpected character '`+$r(t)+`'`)},W.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(z.parenL);case 41:return++this.pos,this.finishToken(z.parenR);case 59:return++this.pos,this.finishToken(z.semi);case 44:return++this.pos,this.finishToken(z.comma);case 91:return++this.pos,this.finishToken(z.bracketL);case 93:return++this.pos,this.finishToken(z.bracketR);case 123:return++this.pos,this.finishToken(z.braceL);case 125:return++this.pos,this.finishToken(z.braceR);case 58:return++this.pos,this.finishToken(z.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(z.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(z.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,`Unexpected character '`+$r(e)+`'`)},W.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},W.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(Br.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||(this.regexpState=new Ca(this));s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(z.regexp,{pattern:i,flags:o,value:c})},W.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Ga(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ka(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}W.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ka(this.input.slice(t,this.pos)),++this.pos):Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,n)},W.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ka(this.input.slice(t,this.pos));return++this.pos,Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Ga(this.input.slice(t,this.pos),n);return this.finishToken(z.num,a)},W.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t},W.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,`Unterminated string constant`),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Hr(r)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(z.string,t)};var qa={};W.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===qa)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},W.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw qa;this.raise(e,t)},W.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===z.template||this.type===z.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(z.dollarBraceL)):(++this.pos,this.finishToken(z.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(z.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Hr(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`\n`;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},W.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case\"`\":return this.finishToken(z.invalidTemplate,this.input.slice(this.start,this.pos));case`\\r`:this.input[this.pos+1]===`\n`&&++this.pos;case`\n`:case`\\u2028`:case`\\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},W.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`\n`;case 114:return`\\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return $r(this.readCodePoint());case 116:return`\t`;case 98:return`\\b`;case 118:return`\\v`;case 102:return`\\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return Hr(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},W.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},W.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Fr(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\\\uXXXX`),++this.pos;var o=this.readCodePoint();(t?Pr:Fr)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=$r(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},W.readWord=function(){var e=this.readWord1(),t=z.name;return this.keywords.test(e)&&(t=zr[e]),this.finishToken(t,e)},Di.acorn={Parser:Di,version:`8.19.0`,defaultOptions:ii,Position:ti,SourceLocation:ni,getLineInfo:ri,Node:Xi,TokenType:L,tokTypes:z,keywordTypes:zr,TokContext:Hi,tokContexts:V,isIdentifierChar:Fr,isIdentifierStart:Pr,Token:Wa,isNewLine:Hr,lineBreak:Br,lineBreakG:Vr,nonASCIIwhitespace:Wr};var Ja={ecmaVersion:`latest`,sourceType:`script`,allowReturnOutsideFunction:!0},Ya=/\\w+(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Xa=/[A-Za-z_]\\w*(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Za=/^[$_]\\w+$/,Qa=/[\\n\\r\\u2028\\u2029]/,$a=/\\s*(?:[;},:)]|=(?![=>]))/y;function eo(e,t){return $a.lastIndex=t,$a.test(e)}var to=new Set([z.name,z.num,z.string,z.regexp,z.backQuote,z.bracketR,z.braceR,z.parenR,z.incDec,z._this,z._null,z._true,z._false]),no=class extends Di{constructor(...e){super(...e),this.operandBeforeLast=!0,this.operandHere=!0,this.breakBeforeLast=!1,this.breakHere=!1,this.ternaries=[],this.colonEndsTernary=!1,this.closedBlock=!1,this.lookahead=!0}readToken(e){let t=this;if(t.lastTokEnd=t.end,this.operandBeforeLast=this.operandHere,this.operandHere=t.exprAllowed,this.breakBeforeLast=this.breakHere,this.breakHere=Qa.test(t.input.slice(t.end,t.pos)),e===64||e===37){let n=t.pos,r=e===64?Ya:Xa;r.lastIndex=n+1;let i=r.exec(t.input)?.[0];if(i){let r=n+1+i.length,a=t.type===z.incDec&&(this.operandBeforeLast||this.breakBeforeLast),o=e===37?this.percentAt?.get(n):void 0;if(e===64||(o??(t.exprAllowed||a||this.lookahead&&ro(t,r)))){e===37&&this.transientsRead?.add(n),t.pos=r,t.finishToken(z.name,t.input.charAt(n)+i);return}}}super.readToken(e)}finishToken(e,t){let{context:n}=this,r=n.length;if(e===z.braceR){let e=n[r-1];this.closedBlock=e.token===`{`&&!e.isExpr}else if(e===z.question)this.ternaries[r]=(this.ternaries[r]??0)+1;else if(e===z.colon){let e=this.ternaries[r]??0;this.colonEndsTernary=e>0,e>0&&(this.ternaries[r]=e-1)}let i=this,a=i.type;this.prevValue=i.value;let o=e.keyword!==void 0&&(a===z.dot||a===z.questionDot)||(e===z._function||e===z._class)&&eo(i.input,i.pos);super.finishToken(o?z.name:e,t),e===z.name&&t===`of`&&(a===z._const||a===z._var||this.prevValue===`let`)&&(i.exprAllowed=!1)}braceIsBlock(e){if(e===z.colon&&this.colonEndsTernary)return!1;if(e===z.braceR&&this.closedBlock||e===z.name&&this.prevValue===`static`)return!0;if(this.breakHere&&to.has(e)){let{context:e}=this,t=e[e.length-1];if(t.token===`{`&&!t.isExpr)return!0}return super.braceIsBlock(e)}};function ro(e,t){if(!Qa.test(e.input.slice(e.end,e.pos)))return!1;let n=oo(e.input,t,`statements`,{afterOperand:!0});n.lookahead=!1;let r=0;try{for(;;){n.nextToken();let e=n.type;if(e===z.eof)return!1;if(r>0)io.has(e)?r++:ao.has(e)&&r--;else if(e===z.bracketL)r=1;else if(e===z.dot){if(n.nextToken(),n.type!==z.name&&!n.type.keyword)return!1}else return e===z.eq||e===z.assign}}catch{return!1}}var io=new Set([z.parenL,z.bracketL,z.braceL,z.dollarBraceL]),ao=new Set([z.parenR,z.bracketR,z.braceR]);function oo(e,t,n,{onComment:r,afterOperand:i=!1}={}){let a=new no(r?{...Ja,onComment:r}:Ja,e,t);return n===`expression`&&(a.type=z.parenL),i&&(a.exprAllowed=!1),a}var so=class extends SyntaxError{constructor(e,t,n,r){super(`${e} ${uo(t,n)}`+co(r,e=>lo(t,e))),this.reason=e,this.source=t,this.pos=n,this.bracket=r,this.name=`SyntaxError`}reasonIn(e,t){return this.reason+co(this.bracket,n=>{let{line:r,column:i}=ri(e,t+n);return`at line ${r}, column ${i+1}`})}};function co(e,t){return e?` (missing \"${e.closer}\" for the \"${e.open}\" ${t(e.pos)})`:``}function lo(e,t){let{line:n,column:r}=ri(e,t);return Qa.test(e)?`at line ${n}, column ${r+1}`:`at column ${r+1}`}function uo(e,t){let{column:n}=ri(e,t),r=t-n,i=e.slice(r).search(Qa),a=i<0?e.length:r+i,o=Math.max(r,t-30),s=Math.min(a,t+30),c=(o>r?`…`:``)+e.slice(o,t)+`▶`+e.slice(t,s)+(s<a?`…`:``);return`${lo(e,t)}: ${c.trim()}`}var fo=e=>e[e.length-1],po={\"(\":`)`,\"[\":`]`,\"{\":`}`,\"${\":`}`};function mo(e,t){if(!(t instanceof SyntaxError)||!(`pos`in t))throw t;let n=t.pos,r=t.message.replace(/ \\(\\d+:\\d+\\)$/,``),{open:i,token:a}=ho(e,n),o=n>=e.length||a===``,s=!1;r===`Unexpected token`?(r=o?`Unexpected end of code`:`Unexpected \"${a}\"`,s=!!i&&po[i.text]!==a&&(o||[`)`,`]`,`}`,`;`,`{`].includes(a))):r.startsWith(`Unterminated template`)&&(s=i?.text===\"${\");let c=s&&i?{open:i.text,closer:po[i.text],pos:i.pos}:void 0;return new so(r,e,n,c)}function ho(e,t){let n=[];for(let r of ko(e,0,`statements`)){if(`error`in r)break;if(r.start>=t||r.type===z.eof)return{open:fo(n),token:e.slice(r.start,r.end)};let i=e.slice(r.start,r.end);i in po?n.push({text:i,pos:r.start}):n.length&&po[fo(n).text]===i&&n.pop()}return{open:fo(n),token:e.charAt(t)}}function go(e,t=`expression`){let n=new Map;for(;;){let r=new Set;try{let i=_o(e,t,n,r),a={refs:[],strings:[]};return So(i,e,a,!1,!1),a.refs.sort((e,t)=>e.start-t.start),a}catch(t){let i=t.pos??-1;if(!(t instanceof SyntaxError)||n.has(i)||(Xa.lastIndex=i+1,e.charAt(i)!==`%`||!Xa.test(e)))throw t;n.set(i,!r.has(i))}}}function _o(e,t,n,r){try{let i=oo(e,0,t);if(i.percentAt=n,i.transientsRead=r,t===`statements`)return i.parse();i.nextToken();let a=i.parseExpression();if(i.type!==z.eof)throw Object.assign(SyntaxError(`Unexpected token`),{pos:i.start});return a}catch(t){throw mo(e,t)}}var vo=e=>typeof e==`object`&&!!e&&typeof e.type==`string`,yo={$:`story`,_:`temporary`,\"@\":`local`,\"%\":`transient`};function bo(e,t){let n=e.name,r=t.charAt(e.start);return r===n.charAt(0)&&(r===`@`||r===`%`||(r===`$`||r===`_`)&&Za.test(n))?[r,n.slice(1)]:null}function xo(e,t){if(!vo(e)||e.type!==`Identifier`)return;let n=t.charAt(e.start);if(n===`@`||n===`%`)throw new so(`\"${e.name}\" can't be a property name`,t,e.start)}function So(e,t,n,r,i){if(Array.isArray(e)){for(let i of e)So(i,t,n,r,!1);return}if(!vo(e))return;let a=(e,r=!1,i=!1)=>So(e,t,n,r,i);switch(e.type){case`Identifier`:{let a=bo(e,t);if(!a)return;if(r)throw new so(`\"${e.name}\" is a ${yo[a[0]]} variable and can't be declared`,t,e.start);n.refs.push({sigil:a[0],name:a[1],start:e.start,end:e.end,shorthand:i});return}case`Literal`:typeof e.value==`string`&&n.strings.push(t.slice(e.start+1,e.end-1));return;case`TemplateElement`:n.strings.push(e.value.raw);return;case`MemberExpression`:a(e.object),e.computed?a(e.property):xo(e.property,t);return;case`Property`:if(e.computed?a(e.key):e.shorthand||xo(e.key,t),e.shorthand){let t=e.value;t.type===`AssignmentPattern`?(a(t.left,r,!0),a(t.right)):a(t,r,!0)}else a(e.value,r);return;case`MethodDefinition`:case`PropertyDefinition`:e.computed?a(e.key):xo(e.key,t),a(e.value);return;case`LabeledStatement`:a(e.body);return;case`BreakStatement`:case`ContinueStatement`:case`MetaProperty`:case`PrivateIdentifier`:return;case`VariableDeclarator`:a(e.id,!0),a(e.init);return;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:a(e.id,!0);for(let t of e.params)a(t,!0);a(e.body);return;case`ClassDeclaration`:case`ClassExpression`:a(e.id,!0),a(e.superClass),a(e.body);return;case`CatchClause`:a(e.param,!0),a(e.body);return;case`AssignmentPattern`:a(e.left,r),a(e.right);return;case`ObjectPattern`:case`ArrayPattern`:case`RestElement`:for(let t of[`properties`,`elements`,`argument`])a(e[t],r);return;default:for(let t in e){if(t===`type`||t===`start`||t===`end`)continue;let n=e[t];typeof n==`object`&&n&&a(n)}}}var Co=/[\\p{ID_Continue}$.]*/uy,wo=/[\\p{ID_Continue}$]*/uy,To=new Set([`of`,`get`,`set`,`static`,`async`]);function Eo(e,t,{goal:n=`expression`,stop:r}={}){let i=Oo(e,t,n,r);return i<0&&!r?Do(e,t,n):i}function Do(e,t,n){let r=oo(e,t,n);try{if(n===`statements`)r.parse();else if(r.nextToken(),r.parseExpression(),r.type===z.braceR)return r.start}catch(t){let n=t.pos??-1;if(e.charAt(n)===`}`)return n}return-1}function Oo(e,t,n,r){let i=[],a=-1,o=!1,s=t,c=!1,l=!1;for(;;){let t=-1;for(let u of ko(e,s,n,{afterOperand:c})){if(`error`in u){let{message:n}=u.error,a=i.includes(\"${\");if(!/^Unterminated/.test(n)&&!a){if(t=Math.max(u.pos,s)+1,c=!1,t>=e.length)return-1;break}let o=i.lastIndexOf(\"${\");if(!/^Unterminated template/.test(n)||o<0||l||r)return-1;l=!0,i.length=o,t=u.pos,c=!0;break}if(u.restarted&&i.includes(\"${\"))return-1;let n=u.type;if(n===z.eof||n===z.string&&o&&u.start===a)return-1;if(o=n===z.name&&!To.has(u.value)||n===z.num,a=u.end,n===z.braceL){if(r?.(u.start))return u.start;i.push(`{`)}else if(n===z.dollarBraceL)i.push(\"${\");else if(n===z.parenL)i.push(`(`);else if(n===z.bracketL)i.push(`[`);else if(n===z.parenR||n===z.bracketR)fo(i)===(n===z.parenR?`(`:`[`)&&i.pop();else if(n===z.braceR){let e=Math.max(i.lastIndexOf(`{`),i.lastIndexOf(\"${\"));if(e>=0)i.length=e;else if(!r)return u.start}}s=t,o=!1}}function*ko(e,t,n,r={}){let i=oo(e,t,n,r);for(;;){try{i.nextToken()}catch(t){let n=Math.min(t.pos??i.pos,e.length),a=t.message,o=(t,n,a)=>(i=oo(e,a,`statements`,{onComment:r.onComment,afterOperand:!0}),{type:t,start:n,end:a,value:void 0,restarted:!0}),s=e.charAt(i.start),c=/^Unterminated/.test(a);if(/^Unterminated string/.test(a)){let{end:t,closed:r}=Io(e,n);if(r){yield o(z.string,n,t);continue}}else if(!c&&i.start<=n&&(s===`\"`||s===`'`)){let{end:t,closed:n}=Io(e,i.start);if(n){yield o(z.string,i.start,t);continue}}else if(!c&&i.start<=n&&s===`/`){let t=Po(e,i.start);if(t>0){yield o(z.regexp,i.start,t);continue}}else if(!c&&i.start<=n&&/[\\d.]/.test(s)&&/\\d/.test(e.slice(i.start,i.start+2))){Co.lastIndex=i.start,Co.test(e),yield o(z.num,i.start,Co.lastIndex);continue}yield{error:t,pos:n};return}if(yield{type:i.type,start:i.start,end:i.end,value:i.value},i.type===z.eof)return}}function Ao(e,t,n=`expression`){return jo(e,0,t,0,n,!1)}function jo(e,t,n,r,i,a){let o=[],s=(e,t,n,r)=>{o.push([n,r])},c=(t,i)=>{for(let a=t;a<i;a++)n.code?.(e.charAt(a),a,r)},l=(t,i)=>{i>t&&n.literal?.(e.slice(t,i),t,r)},u=(e,t)=>{for(let[n,r]of o)r<=e||n>=t||(c(e,n),l(n,r),e=r);o.length=0,c(e,t)},d=[],f=0,p=ko(e,t,i,{onComment:s}),m=t,h;for(;;){let t=p.next().value;if(`error`in t){let n=Math.max(m,t.pos);if(u(m,n),n>=e.length)return e.length;if(/^Unterminated/.test(t.error.message))return l(n,e.length),e.length;c(n,n+1),m=n+1,p=ko(e,m,i,{onComment:s}),h=void 0;continue}let o=t.type;if(o===z.eof)return u(m,e.length),e.length;if(u(m,t.start),o===z.name){let i=Mo(e,t.start,t.value),a=h===z.dot||h===z.questionDot||(i===`$`||i===`_`)&&No(e,t.end,h);i&&!a?n.variable?.(i,e.slice(t.start+1,t.end),t.start,r):c(t.start,t.end)}else if(o===z.string||o===z.regexp||o===z.template||o===z.invalidTemplate)l(t.start,t.end);else if(o===z.backQuote)if(l(t.start,t.end),h===z.template||h===z.invalidTemplate){if(f--,a&&f===0)return t.end}else f++;else o===z.dollarBraceL?(l(t.start,t.end),d.push(\"${\"),r++):o===z.braceR&&fo(d)===\"${\"?(d.pop(),r--,l(t.start,t.end)):(o===z.braceL||o===z.parenL||o===z.bracketL?d.push(e.charAt(t.start)):(o===z.braceR||o===z.parenR||o===z.bracketR)&&d.length&&fo(d)!==\"${\"&&d.pop(),c(t.start,t.end));h=o,m=t.end}}function Mo(e,t,n){let r=e.charAt(t);return(r===`@`||r===`%`)&&n.charAt(0)===r||(r===`$`||r===`_`)&&Za.test(n)?r:null}function No(e,t,n){if(n!==z.braceL&&n!==z.comma)return!1;let r=/\\S/g;r.lastIndex=t;let i=r.exec(e)?.[0];return i===`:`||i===`(`}function Po(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let t=e.charAt(r);if(Qa.test(t))return-1;if(t===`\\\\`)r++;else if(t===`[`)n=!0;else if(t===`]`)n=!1;else if(t===`/`&&!n)return wo.lastIndex=r+1,wo.test(e),wo.lastIndex}return-1}function Fo(e){if(e[0]!==`\"`&&e[0]!==`'`)return null;try{let t=oo(e,0,`expression`);return t.nextToken(),t.type===z.string&&t.end===e.length?t.value:null}catch{return null}}function Io(e,t){let n=e.charAt(t),r=t+1;for(;r<e.length;){let t=e.charAt(r);if(t===`\\\\`)r+=2;else if(t===n)return{end:r+1,closed:!0};else r++}return{end:e.length,closed:!1}}var Lo=/[\\p{L}\\p{N}_\\\\]/u;function Ro(e,t){let n=e[t],r=n===\"`\";for(let i=t+1;i<e.length;){let t=e[i];if(t===`\\\\`)i+=2;else if(t===n)return i+1;else if(!r&&t===`\n`)return-1;else if(r&&t===`$`&&e[i+1]===`{`){let t=zo(e,i+2);if(t===-1)return-1;i=t+1}else i++}return-1}function zo(e,t){Bo!==e&&(Bo=e,Vo.clear());let n=Vo.get(t);return n===void 0&&(n=Ho(e,t),Vo.set(t,n)),n}var Bo=``,Vo=new Map;function Ho(e,t){let n=0;for(;t<e.length;){let r=e[t];if(r===`{`)n++,t++;else if(r===`}`){if(n===0)return t;n--,t++}else if(r===\"`\"||(r===`\"`||r===`'`)&&!(t>0&&Lo.test(e[t-1]))){let n=Ro(e,t);t=n===-1?t+1:n}else t++}return-1}var Uo={closeBrace(e,t,n){let r=Eo(e,t);return r===-1?zo(e,n):r},rawBodyEnd(e,t,n){let r=`\\\\{/${n}\\\\s*\\\\}`,i=new RegExp(r,`gi`);i.lastIndex=t;let a=i.exec(e)?.index??-1;if(a===-1)return-1;let o=new RegExp(r,`iy`),s=Eo(e,t,{goal:`statements`,stop:t=>(o.lastIndex=t,o.test(e))});return s===-1?a:s}};function Wo(e){let t=e.toLowerCase();return t.startsWith(`on`)||t===`pattern`||t===`srcdoc`}function Go(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`{`,r);if(i===-1){n+=e.slice(r);break}n+=e.slice(r,i),r=i+1;let a=qn(e[r])?Uo.closeBrace(e,r,r):-1;if(a===-1){n+=`{`;continue}n&&t.push({text:n}),n=``;let o=e.slice(r,a);t.push(/^.\\w/.test(o)?{expr:o}:{verbatim:`{${o}}`}),r=a+1}return n&&t.push({text:n}),t}var Ko=new Set([`do`]),qo={...Uo,isBlock:xr,isRaw:e=>Ko.has(e),isCodeAttribute:Wo},Jo=class extends Error{constructor(e,t,n,r){super(`${e} (line ${n}, column ${r})`),this.reason=e,this.offset=t,this.line=n,this.column=r,this.name=`MarkupError`}};function Yo(e,t){let n=1,r=0;for(let i=e.indexOf(`\n`);i!==-1&&i<t;)n++,r=i+1,i=e.indexOf(`\n`,r);return{line:n,column:t-r+1}}function Xo(e,t,n){let r=n.hooks?{...qo,...n.hooks}:qo;try{return _r(e,{startRule:t,text:n.text===!0,hooks:r})}catch(t){let n=t.location;if(t instanceof Error&&t.name===`SyntaxError`&&n){let{offset:r}=n.start,{line:i,column:a}=Yo(e,r);throw new Jo(t.message,r,i,a)}throw t}}function Zo(e,t={}){return Xo(e,`Markup`,t)}function Qo(e,t={}){return Xo(e,`Tokens`,t)}var $o=e=>Symbol.iterator in e,es=e=>`entries`in e,ts=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},ns=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rs(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$o(e)&&$o(t)?es(e)&&es(t)?ts(e,t):ns(e,t):ts({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function is(...e){let t=j();return Q(n=>{let r={};for(let t of e)r[t]=n[t];return rs(t.current,r)?t.current:t.current=r})}function as(){let{variables:e,temporary:t,transient:n}=is(`variables`,`temporary`,`transient`),r=Ie(Pf);return Pe(()=>[e,t,r,n],[e,t,r,n])}var os=1831565813;function ss(e){let t=e|0;return()=>{t=t+os|0;let e=Math.imul(t^t>>>15,t|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function cs(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var ls=!1,us=``,ds=0,fs=null,ps=0;function ms(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,us=n,ds=0,fs=ss(cs(n)),ls=!0,ps++}function hs(e,t){ps++,gs(e,t)}function gs(e,t){us=e;let n=Math.imul(t%4294967296,os);fs=ss(cs(e)+n|0),ls=!0,ds=t}function _s(){ps++,ls=!1,us=``,ds=0,fs=null}function vs(e){let t={generation:ps,seed:us,pull:ds};try{return e()}finally{ls&&ps===t.generation&&ds!==t.pull&&gs(t.seed,t.pull)}}function ys(){return ls?{seed:us,pull:ds}:null}function bs(){return!ls||!fs?Math.random():(ds++,fs())}function xs(e,t){return e>t&&([e,t]=[t,e]),Math.floor(bs()*(t-e+1))+e}function Ss(){return ls}function Cs(){return us}function ws(){return ds}var Ts=`__proto__`;function Es(e,t=e){return e===`__proto__`?`\"${t}\" cannot be used as a variable name (${Ts} is reserved)`:void 0}function Ds(e,t=e){let n=Es(e,t);if(n)throw TypeError(`spindle: ${n}`)}var G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Os=(e,t)=>e&&G(e,t)?e[t]:void 0;function ks(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function As(e,t=()=>!0){let n=Object.create(null);for(let r of e)if(r)for(let e of Object.keys(r)){let i=r[e];t(i)&&(n[e]=i)}return n}var K=(...e)=>As(e),js=e=>Object.getPrototypeOf(e)===null,Ms=e=>js(e)?e:K(e);function Ns(e,t,n){let r=K(e);return r[t]=n,r}var Ps=Object.freeze(K());function Fs(e,t){return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>Os(e,n)!==Os(t,n))}var Is=e=>typeof e==`number`&&Number.isInteger(e)&&e>=0;function Ls(e,t){let n=Os(e,t);return Is(n)?n:0}function Rs(e,t){let n=As([e],Is);return t!==void 0&&(n[t]=Ls(e,t)+1),n}var zs=500,Bs={$:`variables`,_:`temporary`,\"@\":`locals`,\"%\":`transient`},Vs=/[\\p{ID_Continue}$\\u200c\\u200d]$/u;function Hs(e,t=`expression`){let n=t===`statements`?`s`+e:`e`+e,r=Us.get(n);if(r!==void 0)return r;let{refs:i}=go(e,t),a=``,o=0;for(let t of i){let n=Es(t.name,t.sigil+t.name);if(n)throw SyntaxError(`spindle: ${n}`);a+=e.slice(o,t.start),t.shorthand?a+=`${t.name}: `:Vs.test(a.slice(-2))&&(a+=` `),a+=`${Bs[t.sigil]}[\"${t.name}\"]`,o=t.end}return a+=e.slice(o),Us.size>=zs&&Us.delete(Us.keys().next().value),Us.set(n,a),a}var Us=new Map,Ws=500,Gs=new Map,Ks=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function qs(e,t){let n=Gs.get(e);if(n)return Gs.delete(e),Gs.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,Ks+t);if(Gs.set(e,r),Gs.size>Ws){let e=Gs.keys().next().value;e!==void 0&&Gs.delete(e)}return r}function Js(){let e=Q.getState();return e.storyData?.passages.get(e.currentPassage)}function Ys(){let e=Q.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0}function Xs(e){let t=t=>Ls(e(),t??Q.getState().currentPassage);return{count:t,has:e=>t(e)>0,any:(...e)=>e.some(e=>t(e)>0),all:(...e)=>e.every(e=>t(e)>0)}}function Zs(e,t){let n=Xs(e),r=Xs(t);return{currentPassage:Js,previousPassage:Ys,visited:n.count,hasVisited:n.has,hasVisitedAny:n.any,hasVisitedAll:n.all,rendered:r.count,hasRendered:r.has,hasRenderedAny:r.any,hasRenderedAll:r.all}}var Qs=null,$s=null,ec=null;function tc(){let{visitCounts:e,renderCounts:t}=Q.getState();return Qs&&$s===e&&ec===t?Qs:(Qs={...Zs(()=>e,()=>t),random:bs,randomInt:xs},$s=e,ec=t,Qs)}function nc(e){return js(e)?e:Object.isExtensible(e)?(Object.setPrototypeOf(e,null),e):Ms(e)}function rc(e,...[t,n,r=Ps,i=Ps]){return e(nc(t),nc(n),nc(r),tc(),nc(i))}function ic(e,...t){let n=`return (${Hs(e)}\\n);`;return rc(qs(n,n),...t)}function ac(e,...t){let n=Hs(e,`statements`);rc(qs(`exec:`+n,n),...t)}var oc=new vr;function sc(e,t){oc.set(e,t)}function cc(e){return oc.get(e)}var lc=new vr;function uc(e,t){t?lc.set(e,t):lc.delete(e)}function dc(e){return lc.get(e)}var fc=new yr;function pc(e){fc.add(e)}function mc(e){return fc.has(e)}var hc=[`expression`,`statements`,`passage`,`variable`,`string`,`text`,`names`,`delay`,`number`,`flag`,`separator`,`options`],gc=[`markup`,`text`,`passage`,`expression`,`statements`];function _c(e,t){let n=`Give a \\`string\\` or \\`text\\` parameter one of ${gc.join(`, `)} to hold (see docs/custom-macros.md#what-a-string-holds).`;for(let r of t){let t=r.type;if(!hc.includes(t))throw vc(e,r,t===void 0?`has no type`:`has the unknown type ${JSON.stringify(t)}`,`Give it one of the types ${hc.join(`, `)} (see docs/custom-macros.md#parameter-types), or declare no parameters and read props.rawArgs.`);let i=r.holds;if(i!==void 0&&t!==`string`&&t!==`text`)throw vc(e,r,`is of the type ${t}, which holds what it is`,n);if(i!==void 0&&!gc.includes(i))throw vc(e,r,`holds the unknown ${JSON.stringify(i)}`,n);r.parameters&&_c(e,r.parameters)}}function vc(e,t,n,r){return Error(`spindle: The parameter \"${t.name}\" of the macro {${e}} ${n}. ${r}`)}var yc=new vr;function bc(e,t){yc.set(e,t)}function xc(e){return yc.get(e)?.parameters}function Sc(){return Array.from(yc.values())}var Cc=new vr;function wc(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);for(let e of i)e.startsWith(`@`)&&Ds(e.slice(1),e);Cc.set(e,{body:t,params:i,isBlock:r})}function Tc(e){return Cc.get(e)}function Ec(e){return/\\s/.test(e)}function Dc(e){return e===`(`||e===`[`||e===`{`}function Oc(e){return e===`)`||e===`]`||e===`}`}function kc(e){return e.replace(/\\\\([\"'\\\\])/g,`$1`)}function Ac(e,t){let n=e[t];if(n!==`\"`&&n!==`'`)return null;let{end:r,closed:i}=Io(e,t);return i?{value:kc(e.slice(t+1,r-1)),end:r}:null}function jc(e){let t=Ac(e,0);return t&&t.end===e.length?t.value:null}function Mc(e){return/^[\"']?(.+?)[\"']?$/s.exec(e)?.[1]??e}var Nc=/(?:[-+*/%&|^!~=<>?:,.]|(?:^|[^\\w$@.])(?:typeof|void|new|delete|in|instanceof|await|yield))$/;function Pc(e){let t=-1;if(Ao(e,{code(e,n,r){r===0&&!Ec(e)&&(t=n+1)},literal(e,n,r){let i=e.startsWith(`//`)||e.startsWith(`/*`);r===0&&!i&&(t=-1)},variable(e,n,r,i){i===0&&(t=-1)}}),t<0)return!1;let n=e.slice(0,t);return/(?:\\+\\+|--)$/.test(n)?!1:Nc.test(n)}function Fc(e,t){let n=[],r=0;return Ao(e,{code(e,i,a){a>0||(Dc(e)?r++:Oc(e)?r--:r===0&&t(e)&&n.push(i))}}),n}function Ic(e,t){let n=[],r=0;for(let i of Fc(e,t))n.push(e.slice(r,i)),r=i+1;return n.push(e.slice(r)),n}function Lc(e){return Rc(e)&&!Pc(e)}function Rc(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||/^[$_@]\\w|^%[A-Za-z_]/.test(e)||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(?:true|false|null|undefined)(?![\\w$])/.test(e)||t===`!`&&e.length>1&&e[1]!==`=`)}function zc(e){let t=Ic(e,Ec).filter(Boolean);if(t.length<2)return null;for(let e of t)if(!Lc(e))return null;return t}function Bc(e){let t=Ic(e,e=>e===`,`).map(e=>e.trim()),n=t.length>1;if(t[t.length-1]===``&&t.pop(),!n&&t.length===1){let e=zc(t[0]);if(e)return e}return t}function Vc(e){return e==null?``:String(e)}function Hc(e,t,n){return e||t?b(`span`,{id:t,class:e},n):b(S,null,n)}function Uc(e){return e.includes(`{`)||e.includes(`}`)}var Wc=new Map,Gc=2e3;function Kc(e){let t=Wc.get(e);if(t===void 0){try{t={nodes:Zo(e,{text:!0})}}catch(e){t={error:e}}Wc.size>=Gc&&Wc.clear(),Wc.set(e,t)}return t}function qc(e,t){return e.map(e=>{switch(e.type){case`text`:return{type:`text`,value:t(e.value)};case`html`:return{...e,children:qc(e.children,t)};case`macro`:{let n={...e,children:qc(e.children,t)};return e.branches&&(n.branches=e.branches.map(e=>({...e,children:qc(e.children,t)}))),n}default:return e}})}var Jc=100;function Yc(e,t,n){let r=n.split(`.`),i=r[0];Ds(i,Gn[t]+i);let a=Os(t===`variable`?e.variables:t===`temporary`?e.temporary:t===`transient`?e.transient:e.locals,i);for(let e=1;e<r.length;e++){if(a==null)return;a=a[r[e]]}return a}function Xc(e,t){return ic(e,t.variables,t.temporary,t.locals,t.transient)}var Zc=class{constructor(){this.errors=[]}nodes(e,t,n){let r=``;for(let i of e)r+=this.node(i,t,n);return r}node(e,t,n){switch(e.type){case`text`:return e.value;case`variable`:if(e.scope===`local`&&e.name===`children`){let e=t.widgetChildren;return e?this.nested(`children`,e,t,n,{widgetChildren:null}):``}return this.variable(e.scope,e.name,t);case`expression`:try{return Vc(Xc(e.expression,t))}catch(e){return this.errors.push({macro:`expression`,error:e}),``}case`html`:return this.nodes(e.children,t,n);case`macro`:return this.macro(e,t,n);default:return e}}variable(e,t,n){try{return Vc(Yc(n,e,t))}catch(n){return this.errors.push({macro:Gn[e]+t,error:n}),``}}nested(e,t,n,r,i={}){return r>=Jc?(this.errors.push({macro:e,error:Error(`markup nested too deeply (a widget using itself?)`)}),``):this.nodes(t,{...n,...i},r+1)}macro(e,t,n){if(mc(e.name))return``;let r=Tc(e.name);if(r){let i=t.locals;if(r.params.length>0){let n=e.rawArgs?Bc(e.rawArgs):[];i=K(t.locals),r.params.forEach((e,r)=>{let a,o=n[r];if(o!==void 0)try{a=Xc(o,t)}catch{a=void 0}i[e.startsWith(`@`)?e.slice(1):e]=a})}return this.nested(e.name,r.body,t,n,{locals:i,widgetChildren:e.children.length>0?e.children:null})}let i=dc(e.name);if(!i){let t=cc(e.name)?`{${e.name}} has no text form, so it can't be used in an attribute value or label`:`unknown macro {${e.name}}`;return this.errors.push({macro:e.name,error:Error(t)}),``}let a={evaluate:e=>Xc(e,t),renderText:(r,i)=>this.nested(e.name,r,t,n,i?{locals:Qc(t.locals,i)}:{})};try{return i({rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},a)}catch(t){return this.errors.push({macro:e.name,error:t}),``}}};function Qc(e,t){for(let e of Object.keys(t))Ds(e,`@${e}`);return K(e,t)}function $c(e,t){let n=new Zc;return{text:n.nodes(e,t,0),errors:n.errors}}function el(e,t){if(!Uc(e))return{text:e,errors:[]};let n=Kc(e);return`error`in n?{text:e,errors:[{macro:`markup`,error:n.error}]}:$c(n.nodes,t)}function tl(e,t,n){let r=[],i=``;for(let a of Go(e))if(`text`in a)i+=n?n(a.text):a.text;else if(`verbatim`in a)i+=a.verbatim;else if(/^[$_@%][\\w.]+$/.test(a.expr)){let e=Wn[a.expr[0]];try{i+=Vc(Yc(t,e,a.expr.slice(1)))}catch(e){r.push({macro:a.expr,error:e})}}else try{i+=Vc(Xc(a.expr,t))}catch(e){r.push({macro:`expression`,error:e})}return{text:i,errors:r}}function nl(e,t){return e instanceof Error?e.message||t||String(e):typeof e==`string`&&e!==``?e:t??String(e)}function rl(){let[e,t,n,r]=as(),i=Ie(Hf);return Pe(()=>({variables:e,temporary:t,locals:n,transient:r,widgetChildren:i}),[e,t,n,r,i])}function il(){let e=rl();return Fe(t=>{if(t===void 0||!Uc(t))return t;let{text:n,errors:r}=el(t,e);for(let{macro:e,error:n}of r)console.error(`spindle: {${e}} error in \"${t}\": ${nl(n)}`);return n},[e])}var al=0;Array.isArray;function q(e,t,n,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--al,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return r.vnode&&r.vnode(u),u}var ol={variable:`variables`,temporary:`temporary`,transient:`transient`};function sl({node:e}){let{name:t,scope:n}=e,r=il(),i=r(e.className),a=r(e.id),o=Ie(Pf),s=t.split(`.`),c=s[0],l=Q(e=>n===`local`?void 0:Os(e[ol[n]],c)),u=Gn[n],d=Es(c,u+c);if(d)return q(`span`,{class:`error`,children:`{${u}${t} error: ${d}}`});let f;f=n===`local`?Os(o,c):l;for(let e=1;e<s.length;e++){if(f==null){f=void 0;break}let t=s[e];f=f[t]}return Hc(i,a,Vc(f))}function cl({node:e}){let{expression:t}=e,n=il(),r=n(e.className),i=n(e.id),[a,o,s,c]=as(),l;try{l=Vc(ic(t,a,o,s,c))}catch{l=`{error: ${t}}`}return Hc(r,i,l)}function ll(){return{nobr:Ie(If),inline:Ie(Lf),raw:Ie(Rf),locals:Ie(Pf)}}function ul({body:e,parentValues:t,ownKeys:n}){let r=ll(),[i,a]=Ae({}),o=Pe(()=>K(t,n,i),[t,n,i]),s=j(o);s.current=o;let c=Fe(()=>s.current,[]),l=Fe((e,t)=>{Ds(e,`@${e}`),s.current=Ns(s.current,e,t),a(n=>({...n,[e]:t}))},[]),u=Pe(()=>({update:l,getValues:c}),[l,c]);return q(Ff.Provider,{value:u,children:q(Pf.Provider,{value:o,children:jp(e,{...r,locals:o})})})}function dl({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=ll(),a=i.locals,[o,s,c,l]=as(),u=r?.length?r:null;if(t.length===0)return q(Hf.Provider,{value:u,children:jp(e,i)});let d=n?Bc(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=ic(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=Pe(()=>{let e=K();for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return q(Hf.Provider,{value:u,children:q(ul,{body:e,parentValues:a,ownKeys:p})})}var fl=document.createElement(`i`);function pl(e){let t=`&`+e+`;`;fl.innerHTML=t;let n=fl.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function ml(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function hl(e,t){return e.length>0?(ml(e,e.length,0,t),e):t}var gl={}.hasOwnProperty;function _l(e){let t={},n=-1;for(;++n<e.length;)vl(t,e[n]);return t}function vl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){gl.call(r,a)||(r[a]=[]);let e=i[a];yl(r[a],Array.isArray(e)?e:e?[e]:[])}}}function yl(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);ml(e,0,0,r)}function bl(e){let t={},n=-1;for(;++n<e.length;)xl(t,e[n]);return t}function xl(e,t){let n;for(n in t){let r=(gl.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function Sl(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}var Cl={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function wl(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+Cl[e]+`;`}}function Tl(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var El=Il(/[A-Za-z]/),Dl=Il(/[\\dA-Za-z]/),Ol=Il(/[#-'*+\\--9=?A-Z^-~]/);function kl(e){return e!==null&&(e<32||e===127)}var Al=Il(/\\d/),jl=Il(/[\\dA-Fa-f]/),Ml=Il(/[!-/:-@[-`{-~]/);function J(e){return e!==null&&e<-2}function Nl(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}var Pl=Il(/\\p{P}|\\p{S}/u),Fl=Il(/\\s/);function Il(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ll(e,t){let n=wl(Rl(e||``));if(!t)return n;let r=n.indexOf(`:`),i=n.indexOf(`?`),a=n.indexOf(`#`),o=n.indexOf(`/`);return r<0||o>-1&&r>o||i>-1&&r>i||a>-1&&r>a||t.test(n.slice(0,r))?n:``}function Rl(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Dl(e.charCodeAt(n+1))&&Dl(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=``),i&&(n+=i,i=0)}return t.join(``)+e.slice(r)}var zl={}.hasOwnProperty,Bl=/^(https?|ircs?|mailto|xmpp)$/i,Vl=/^https?$/i;function Hl(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=bl([{enter:{blockQuote:ne,codeFenced:ae,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:ce,codeText:ze,content:we,definition:ye,definitionDestinationString:xe,definitionLabelString:h,definitionTitleString:h,emphasis:Le,htmlFlow:Pe,htmlText:Ie,image:ue,label:h,link:de,listItemMarker:E,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:ie,reference:h,resource:he,resourceDestinationString:ge,resourceTitleString:h,setextHeading:Ee,strong:Re},exit:{atxHeading:Oe,atxHeadingSequence:Te,autolinkEmail:qe,autolinkProtocol:Ke,blockQuote:re,characterEscapeValue:je,characterReferenceMarkerHexadecimal:We,characterReferenceMarkerNumeric:We,characterReferenceValue:Ge,codeFenced:le,codeFencedFence:se,codeFencedFenceInfo:oe,codeFencedFenceMeta:S,codeFlowValue:Ne,codeIndented:le,codeText:Be,codeTextData:je,data:je,definition:Ce,definitionDestinationString:Se,definitionLabelString:be,definitionTitleString:A,emphasis:Ve,hardBreakEscape:j,hardBreakTrailing:j,htmlFlow:Fe,htmlFlowData:je,htmlText:Fe,htmlTextData:je,image:k,label:pe,labelText:fe,lineEnding:Me,link:k,listOrdered:ee,listUnordered:D,paragraph:O,reference:S,referenceString:me,resource:S,resourceDestinationString:_e,resourceTitleString:ve,setextHeading:Ae,setextHeadingLineSequence:ke,setextHeadingText:De,strong:He,thematicBreak:Ue}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===`lineEnding`||e[t][1].type===`lineEndingBlank`)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===`listOrdered`||e[t][1].type===`listUnordered`)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===`definition`&&(e[t][0]===`enter`?(o=hl(o,e.slice(n,t)),n=t):(a=hl(a,e.slice(n,t+1)),n=t+1));a=hl(a,o),a=hl(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];zl.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case`listItemPrefix`:t[0]===`exit`&&(a=!0);break;case`linePrefix`:break;case`lineEndingBlank`:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){return i.pop().join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`\n`)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):null;n===10||n===13||n===null||y()}function x(e){return m(`ignoreEncode`)?e:wl(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function w(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function T(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),10);t!==1&&_(` start=\"`+x(String(t))+`\"`)}}function E(){m(`expectFirstItem`)?_(`>`):te(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function ee(){te(),o.pop(),y(),_(`</ol>`)}function D(){te(),o.pop(),y(),_(`</ul>`)}function te(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function ne(){o.push(!1),b(),_(`<blockquote>`)}function re(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function ie(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function O(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function ae(){b(),_(`<pre><code`),p(`fencesCount`,0)}function oe(){_(` class=\"language-`+g()+`\"`)}function se(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function ce(){b(),_(`<pre><code>`)}function le(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function ue(){a.push({image:!0}),n=void 0}function de(){a.push({})}function fe(e){a[a.length-1].labelId=this.sliceSerialize(e)}function pe(){a[a.length-1].label=g()}function me(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function he(){h(),a[a.length-1].destination=``}function ge(){h(),p(`ignoreEncode`,!0)}function _e(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ve(){a[a.length-1].title=g()}function k(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Tl(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Vl)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Ll(s.destination,t.allowDangerousProtocol?void 0:Bl)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function ye(){h(),a.push({})}function be(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function xe(){h(),p(`ignoreEncode`,!0)}function Se(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function A(){a[a.length-1].title=g()}function Ce(){let e=a[a.length-1],t=Tl(e.labelId);g(),zl.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function we(){p(`slurpAllLineEndings`,!0)}function Te(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function Ee(){h(),p(`slurpAllLineEndings`)}function De(){p(`slurpAllLineEndings`,!0)}function Oe(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function ke(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function Ae(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function je(e){v(x(this.sliceSerialize(e)))}function Me(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ne(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function j(){_(`<br />`)}function Pe(){b(),Ie()}function Fe(){p(`ignoreEncode`)}function Ie(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function Le(){_(`<em>`)}function Re(){_(`<strong>`)}function ze(){p(`inCodeText`,!0),_(`<code>`)}function Be(){p(`inCodeText`),_(`</code>`)}function Ve(){_(`</em>`)}function He(){_(`</strong>`)}function Ue(){b(),_(`<hr />`)}function We(e){p(`characterReferenceType`,e.type)}function Ge(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?Sl(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):pl(t))),p(`characterReferenceType`)}function Ke(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Ll(n,t.allowDangerousProtocol?void 0:Bl)+`\">`),v(x(n)),_(`</a>`)}function qe(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Ll(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function X(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Y(r)?(e.enter(n),s(r)):t(r)}function s(r){return Y(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Ul={tokenize:Wl};function Wl(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return J(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Gl={tokenize:ql},Kl={tokenize:Jl};function ql(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return ml(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Kl,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Kl,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i=i||t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return J(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;ml(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Jl(e,t,n){return X(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Yl(e){if(e===null||Nl(e)||Fl(e))return 1;if(Pl(e))return 2}function Xl(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var Zl={name:`attention`,resolveAll:Ql,tokenize:$l};function Ql(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};eu(d,-c),eu(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=hl(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=hl(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=hl(l,Xl(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=hl(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=hl(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,ml(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function $l(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Yl(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=Yl(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function eu(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var tu={name:`autolink`,tokenize:nu};function nu(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return El(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Dl(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Dl(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||kl(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):Ol(t)?(e.consume(t),l):n(t)}function u(e){return Dl(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Dl(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var ru={partial:!0,tokenize:iu};function iu(e,t,n){return r;function r(t){return Y(t)?X(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||J(e)?t(e):n(e)}}var au={continuation:{tokenize:su},exit:cu,name:`blockQuote`,tokenize:ou};function ou(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||(e.enter(`blockQuote`,{_container:!0}),n.open=!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return Y(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function su(e,t,n){let r=this;return i;function i(t){return Y(t)?X(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(au,t,n)(r)}}function cu(e){e.exit(`blockQuote`)}var lu={name:`characterEscape`,tokenize:uu};function uu(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return Ml(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var du={name:`characterReference`,tokenize:fu};function fu(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Dl,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=jl,u):(e.enter(`characterReferenceValue`),a=7,o=Al,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Dl&&!pl(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var pu={partial:!0,tokenize:gu},mu={concrete:!0,name:`codeFenced`,tokenize:hu};function hu(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||J(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(pu,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Y(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),X(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||J(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&Y(t)?X(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||J(t)?e.check(pu,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||J(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Y(t)?X(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||J(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function gu(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var _u={name:`codeIndented`,tokenize:yu},vu={partial:!0,tokenize:bu};function yu(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),X(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):J(t)?e.attempt(vu,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||J(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function bu(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):X(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):J(e)?i(e):n(e)}}var xu={name:`codeText`,previous:Cu,resolve:Su,tokenize:wu};function Su(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Cu(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function wu(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||J(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var Tu=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Eu(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Eu(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Eu(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);Eu(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Eu(this.left,t.reverse())}}};function Eu(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Du(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Tu(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Ou(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return ml(e,0,1/0,u.slice(0)),!l}function Ou(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var ku={resolve:ju,tokenize:Mu},Au={partial:!0,tokenize:Nu};function ju(e){return Du(e),e}function Mu(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):J(t)?e.check(Au,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function Nu(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,a,`linePrefix`)}function a(i){if(i===null||J(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function Pu(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||kl(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||J(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||Nl(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||kl(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Fu(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):J(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||J(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!Y(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Iu(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||J(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Lu(e,t){let n;return r;function r(i){return J(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Y(i)?X(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Ru={name:`definition`,tokenize:Bu},zu={partial:!0,tokenize:Vu};function Bu(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Fu.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Tl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return Nl(t)?Lu(e,l)(t):l(t)}function l(t){return Pu(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(zu,d,d)(t)}function d(t){return Y(t)?X(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||J(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function Vu(e,t,n){return r;function r(t){return Nl(t)?Lu(e,i)(t):n(t)}function i(t){return Iu(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Y(t)?X(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||J(e)?t(e):n(e)}}var Hu={name:`hardBreakEscape`,tokenize:Uu};function Uu(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return J(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Wu={name:`headingAtx`,resolve:Gu,tokenize:Ku};function Gu(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},ml(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Ku(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||Nl(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||J(n)?(e.exit(`atxHeading`),t(n)):Y(n)?X(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||Nl(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var qu=`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`.split(`.`),Ju=[`pre`,`script`,`style`,`textarea`],Yu={concrete:!0,name:`htmlFlow`,resolveTo:Qu,tokenize:$u},Xu={partial:!0,tokenize:td},Zu={partial:!0,tokenize:ed};function Qu(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function $u(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:se):El(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):El(a)?(e.consume(a),i=4,r.interrupt?t:se):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:se):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return El(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||Nl(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Ju.includes(l)?(i=1,r.interrupt?t(s):D(s)):qu.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Dl(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return Y(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||El(t)?(e.consume(t),b):Y(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Y(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Y(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||J(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||Nl(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Y(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||J(t)?D(t):Y(t)?(e.consume(t),ee):n(t)}function D(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),O):t===62&&i===4?(e.consume(t),ce):t===63&&i===3?(e.consume(t),se):t===93&&i===5?(e.consume(t),oe):J(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Xu,le,te)(t)):t===null||J(t)?(e.exit(`htmlFlowData`),te(t)):(e.consume(t),D)}function te(t){return e.check(Zu,ne,le)(t)}function ne(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||J(t)?te(t):(e.enter(`htmlFlowData`),D(t))}function ie(t){return t===45?(e.consume(t),se):D(t)}function O(t){return t===47?(e.consume(t),o=``,ae):D(t)}function ae(t){if(t===62){let n=o.toLowerCase();return Ju.includes(n)?(e.consume(t),ce):D(t)}return El(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ae):D(t)}function oe(t){return t===93?(e.consume(t),se):D(t)}function se(t){return t===62?(e.consume(t),ce):t===45&&i===2?(e.consume(t),se):D(t)}function ce(t){return t===null||J(t)?(e.exit(`htmlFlowData`),le(t)):(e.consume(t),ce)}function le(n){return e.exit(`htmlFlow`),t(n)}}function ed(e,t,n){let r=this;return i;function i(t){return J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function td(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(ru,t,n)}}var nd={name:`htmlText`,tokenize:rd};function rd(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):El(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):El(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):J(t)?(o=d,O(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):J(t)?(o=h,O(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):J(t)?(o=v,O(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):J(t)?(o=y,O(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return El(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Dl(t)?(e.consume(t),S):C(t)}function C(t){return J(t)?(o=C,O(t)):Y(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||Dl(t)?(e.consume(t),w):t===47||t===62||Nl(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||El(t)?(e.consume(t),E):J(t)?(o=T,O(t)):Y(t)?(e.consume(t),T):ie(t)}function E(t){return t===45||t===46||t===58||t===95||Dl(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),D):J(t)?(o=ee,O(t)):Y(t)?(e.consume(t),ee):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,te):J(t)?(o=D,O(t)):Y(t)?(e.consume(t),D):(e.consume(t),ne)}function te(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):J(t)?(o=te,O(t)):(e.consume(t),te)}function ne(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||Nl(t)?T(t):(e.consume(t),ne)}function re(e){return e===47||e===62||Nl(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function O(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ae}function ae(t){return Y(t)?X(e,oe,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):oe(t)}function oe(t){return e.enter(`htmlTextData`),o(t)}}var id={name:`labelEnd`,resolveAll:cd,resolveTo:ld,tokenize:ud},ad={tokenize:dd},od={tokenize:fd},sd={tokenize:pd};function cd(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&ml(e,0,e.length,n),e}function ld(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=hl(s,e.slice(a+1,a+r+3)),s=hl(s,[[`enter`,u,t]]),s=hl(s,Xl(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=hl(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=hl(s,e.slice(o+1)),s=hl(s,[[`exit`,c,t]]),ml(e,a,e.length,s),e}function ud(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Tl(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(ad,u,o?u:d)(t):t===91?e.attempt(od,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(sd,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function dd(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return Nl(t)?Lu(e,a)(t):a(t)}function a(t){return t===41?u(t):Pu(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return Nl(t)?Lu(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Iu(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return Nl(t)?Lu(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function fd(e,t,n){let r=this;return i;function i(t){return Fu.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Tl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function pd(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var md={name:`labelStartImage`,resolveAll:id.resolveAll,tokenize:hd};function hd(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var gd={name:`labelStartLink`,resolveAll:id.resolveAll,tokenize:_d};function _d(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var vd={name:`lineEnding`,tokenize:yd};function yd(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}}var bd={name:`thematicBreak`,tokenize:xd};function xd(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||J(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Y(t)?X(e,s,`whitespace`)(t):s(t))}}var Sd={continuation:{tokenize:Ed},exit:Od,name:`list`,tokenize:Td},Cd={partial:!0,tokenize:kd},wd={partial:!0,tokenize:Dd};function Td(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Al(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(bd,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Al(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(ru,r.interrupt?n:u,e.attempt(Cd,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Y(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function Ed(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(ru,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,X(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Y(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(wd,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,X(e,e.attempt(Sd,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Dd(e,t,n){let r=this;return X(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Od(e){e.exit(this.containerState.type)}function kd(e,t,n){let r=this;return X(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Y(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Ad={name:`setextUnderline`,resolveTo:jd,tokenize:Md};function jd(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function Md(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Y(t)?X(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||J(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Nd={tokenize:Pd};function Pd(e){let t=this,n=e.attempt(ru,r,e.attempt(this.parser.constructs.flowInitial,i,X(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ku,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var Fd={resolveAll:zd()},Id=Rd(`string`),Ld=Rd(`text`);function Rd(e){return{resolveAll:zd(e===`text`?Bd:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function zd(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function Bd(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var Vd=t({attentionMarkers:()=>Yd,contentInitial:()=>Ud,disable:()=>Xd,document:()=>Hd,flow:()=>Gd,flowInitial:()=>Wd,insideSpan:()=>Jd,string:()=>Kd,text:()=>qd}),Hd={42:Sd,43:Sd,45:Sd,48:Sd,49:Sd,50:Sd,51:Sd,52:Sd,53:Sd,54:Sd,55:Sd,56:Sd,57:Sd,62:au},Ud={91:Ru},Wd={[-2]:_u,[-1]:_u,32:_u},Gd={35:Wu,42:bd,45:[Ad,bd],60:Yu,61:Ad,95:bd,96:mu,126:mu},Kd={38:du,92:lu},qd={[-5]:vd,[-4]:vd,[-3]:vd,33:md,38:du,42:Zl,60:[tu,nd],91:gd,92:[Hu,lu],93:id,95:Zl,96:xu},Jd={null:[Zl,Fd]},Yd={null:[42,95]},Xd={null:[]};function Zd(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=hl(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Xl(a,l.events,l),l.events):[]}function f(e,t){return $d(p(e),t)}function p(e){return Qd(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){J(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&ml(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Qd(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function $d(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\\r`;break;case-4:o=`\n`;break;case-3:o=`\\r\n`;break;case-2:o=t?` `:`\t`;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function ef(e){let t={constructs:_l([Vd,...(e||{}).extensions||[]]),content:n(Ul),defined:[],document:n(Gl),flow:n(Nd),lazy:{},string:n(Id),text:n(Ld)};return t;function n(e){return n;function n(n){return Zd(t,e,n)}}}function tf(e){for(;!Du(e););return e}var nf=/[\\0\\t\\n\\r]/g;function rf(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&(i.charCodeAt(0)===65279&&u++,n=void 0);u<i.length;){if(nf.lastIndex=u,c=nf.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&(s.push(-5),r=void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}function af(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Hl(n)(tf(ef(n).document().write(rf()(e,t,!0))))}var of={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function sf(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=of[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];e===void 0?this.buffer():(this.lineEndingIfNeeded(),this.tag(`<td`+e+`>`))},tableHead(){this.lineEndingIfNeeded(),this.tag(`<thead>`)},tableHeader(){let e=of[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];this.lineEndingIfNeeded(),this.tag(`<th`+e+`>`)},tableRow(){this.setData(`tableColumn`,0),this.lineEndingIfNeeded(),this.tag(`<tr>`)}},exit:{codeTextData(e){let t=this.sliceSerialize(e);this.getData(`tableAlign`)&&(t=t.replace(/\\\\([\\\\|])/g,cf)),this.raw(this.encode(t))},table(){this.setData(`tableAlign`),this.setData(`slurpAllLineEndings`),this.lineEndingIfNeeded(),this.tag(`</table>`)},tableBody(){this.lineEndingIfNeeded(),this.tag(`</tbody>`)},tableData(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);t in e?(this.tag(`</td>`),this.setData(`tableColumn`,t+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag(`</thead>`)},tableHeader(){let e=this.getData(`tableColumn`);this.tag(`</th>`),this.setData(`tableColumn`,e+1)},tableRow(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);for(;t<e.length;)this.lineEndingIfNeeded(),this.tag(`<td`+of[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function cf(e,t){return t===`|`?t:e}var lf=class{constructor(){this.map=[]}add(e,t,n){uf(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function uf(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function df(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function ff(){return{flow:{null:{name:`table`,tokenize:pf,resolveAll:mf}}}}function pf(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):J(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Y(t)?X(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||Nl(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Y(t)?X(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Y(t)?X(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||J(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Y(t)?X(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||J(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||J(n)?(e.exit(`tableRow`),t(n)):Y(n)?X(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Nl(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function mf(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new lf;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(gf(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=hf(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=hf(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=hf(f,t,o,i,n,d)):(o[0]=o[1],d=hf(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&gf(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=df(t.events,n))}return e}function hf(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},_f(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=_f(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=_f(t.events,n[2]),a=_f(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},_f(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function gf(e,t,n,r,i){let a=[],o=_f(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function _f(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function vf(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function yf(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&ml(o,o.length,0,Xl(s,e.slice(r+1,n),t)),ml(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),ml(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=Yl(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=Yl(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function bf(e){let t=[`codeIndented`];return e?.inline&&t.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`,`codeFenced`,`table`),{allowDangerousHtml:!0,extensions:[ff(),yf(),{disable:{null:t}}],htmlExtensions:[sf(),vf()]}}function xf(e,t){let n=bf(t);return af(e,{...n,extensions:[...n.extensions??[],Df(e),Cf]})}var Sf=e=>{let t=e.length-2,n=e[t-1];return n&&n[0]===`exit`&&n[1].type===`data`&&(n[1].end=e[t][1].end,e.length=t),e},Cf={text:{null:{name:`textData`,tokenize(e,t){let n=this,r=this.parser.constructs.text;function i(e){if(e===null)return!0;let t=r[e]??[];return(Array.isArray(t)?t:[t]).some(e=>!e.previous||e.previous.call(n,n.previous))}function a(n){return i(n)?(e.exit(`data`),t(n)):(e.consume(n),a)}return t=>(e.enter(`data`),e.consume(t),a)},resolveTo:Sf}}},wf=/[#-'*+\\--9=?A-Z^-~]/,Tf=/[0-9A-Za-z]/,Ef=/[A-Za-z]/;function Df(e){let t=e.charCodeAt(0)===65279?1:0,n=e.lastIndexOf(`-->`),r=e.lastIndexOf(`?>`),i=e.lastIndexOf(`]]>`),a=e.lastIndexOf(`>`);function o(t){return e[t]===`<`?e.startsWith(`\\x3C!--`,t)?n<t+2:e.startsWith(`<![CDATA[`,t)?i<t+9:e[t+1]===`!`&&Ef.test(e[t+2]??``)?a<t+3:e[t+1]===`?`?r<t+2&&!s(t):!1:!1}function s(t){let n=t+1;for(;wf.test(e[n]??``);)n++;if(e[n]!==`@`)return!1;n++;let r=0,i=`atSignOrDot`;for(;;){let t=e[n]??``;if(i===`atSignOrDot`){if(!Tf.test(t))return!1;i=`label`}else if(i===`label`){if(t===`>`)return!0;t===`.`?(n++,r=0,i=`atSignOrDot`):i=`value`}else{if(!((t===`-`||Tf.test(t))&&r++<63))return!1;n++,i=t===`-`?`value`:`label`}}}let c={name:`unclosedHtml`,resolveTo:Sf,tokenize(e,n,r){let i=this.now().offset+t;return t=>t!==60||!o(i)?r(t):(e.enter(`data`),e.consume(t),e.exit(`data`),n)}};return{text:{60:c}}}function Of(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function kf(){let e=Q.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?Of(t):``}function Af({macro:e,error:t}){return q(`span`,{class:`error`,title:String(t),children:`{${e} error${kf()}: ${nl(t)}}`})}function jf(e,t,n=kf()){console.error(`spindle: Error in {${e}}${n}:`,t)}function Mf(e,t,n){let r=j();if(r.current===void 0){r.current=null;let i=kf();try{n()}catch(n){r.current={error:n},jf(`${e} ${t}`,n,i)}}return r.current?q(Af,{macro:e,error:r.current.error}):null}var Nf={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>Ps},Pf=_e(Ps),Ff=_e(Nf),If=_e(!1),Lf=_e(!1),Rf=_e(!1),zf=_e(!1),Bf=`http://www.w3.org/2000/svg`,Vf=new Set([`pre`,`textarea`]),Hf=_e(null);function Uf(e,t){return`<span data-tw=${e}:${t}></span>`}var Wf=/(?:(?<=\\\\)\\uE000)?<span data-tw=([0-9a-z]+):(\\d+)><\\/span>/g,Gf=``;function Kf(e,t){if(!e.includes(`<span data-tw=`))return[e];let n=[],r=0;for(let i of e.matchAll(Wf))i[1]===t.nonce&&(i.index>r&&n.push(e.slice(r,i.index)),n.push(parseInt(i[2],10)),r=i.index+i[0].length);return r<e.length&&n.push(e.slice(r)),n}function qf(e,t){return Kf(e,t).map(e=>typeof e==`number`?t.components[e]:e)}function Jf({tag:e,attributes:t,placeholders:n,svg:r,children:i}){let a=rl(),o=[],{props:s,direct:c}=sp(t.map(([e,t,r])=>{let i=n[e];if(!i)return[e,t,r];let s=$c(i,a);for(let t of s.errors)o.push([e,t]);return[e,s.text,r]}),r),l=cp(c);return Xf(o,b(e,l?{...s,ref:l}:s,...i))}function Yf({tag:e,props:t,direct:n,children:r}){let i=cp(n);return b(e,{...t,ref:i},...r)}function Xf(e,t){return e.length===0?t:q(S,{children:[e.map(([e,{macro:t,error:n}],r)=>q(Af,{macro:t,error:Error(`in attribute \"${e}\": ${nl(n)}`)},r)),t]})}function Zf(e,t){if(e==null||e.nodeType!==Node.ELEMENT_NODE)return-1;let n=e.getAttribute(`data-tw`),r=`${t.nonce}:`;return n==null||!n.startsWith(r)?-1:parseInt(n.slice(r.length),10)}function Qf(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}function $f(e,t,n=!1){let r=Qf(e.trim());if(n)for(let e of Array.from(r.childNodes))e.nodeType===Node.ELEMENT_NODE&&e.nodeName===`P`&&e.replaceWith(...Array.from(e.childNodes));return q(S,{children:Array.from(r.childNodes).map((e,n)=>ep(e,n,t))})}function ep(e,t,n){if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;t.endsWith(`\\\\${Gf}`)&&Zf(e.nextSibling,n)!==-1&&(t=t.slice(0,-1));let r=qf(t,n);return r.length===1?r[0]:r}if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=Zf(r,n);if(a!==-1)return n.components[a];let o=r.namespaceURI===Bf,s=[],c;for(let{name:e,value:t}of Array.from(r.attributes)){s.push([e,t,t]);let r=Kf(t,n);r.every(e=>typeof e==`string`)||(c??(c={}),c[e]=r.map(e=>typeof e==`string`?{type:`text`,value:e}:n.nodes[e]))}let l=Array.from(r.childNodes).map((e,t)=>ep(e,t,n));if(c)return q(Jf,{tag:i,attributes:s,placeholders:c,svg:o,children:l},t);let{props:u,direct:d}=sp(s,o);return d.length>0?q(Yf,{tag:i,props:u,direct:d,children:l},t):b(i,{...u,key:t},...l)}return null}var tp=new Set(`a.abbr.b.bdi.bdo.br.cite.code.data.dfn.em.i.kbd.label.mark.meter.output.progress.q.rp.rt.ruby.s.samp.small.span.strong.sub.sup.time.u.var.wbr`.split(`.`)),np=new Set([`value`,`checked`,`selected`,`muted`]),rp=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]),ip=new Set([...new Set([`key`,`ref`,`children`,`dangerouslySetInnerHTML`]),`class`,`className`]),ap=/^[A-Za-z_:][\\w:.-]*$/;function op(e,t,n){if(ap.test(t)){e.setAttribute(t,n);return}let r=Qf(`<i ${t}=\"\"></i>`).firstChild.attributes[0];if(!r)return;let i=r.cloneNode();i.value=n,e.setAttributeNode(i)}function sp(e,t){let n={},r=[];for(let[i,a,o]of e){let e=i.toLowerCase();rp.has(e)&&o!==``&&a===``||(!t&&np.has(e)?n[e]=e!==`value`&&o===``?!0:a:!ap.test(i)||e.startsWith(`on`)||e===`translate`||t&&(ip.has(i)||i===`__proto__`)?r.push([i,a]):n[t?i:i.toUpperCase()]=a)}return{props:n,direct:r}}function cp(e){let t=j(null);return Ne(()=>{let n=t.current;if(!(!n||e.length===0)){for(let[t,r]of e)op(n,t,r);return()=>{for(let[t]of e)n.removeAttribute(t)}}},[JSON.stringify(e)]),e.length>0?t:void 0}var lp=new Map;function up(e){if(!e.includes(`&`))return e;let t=lp.get(e);return t===void 0&&(t=Qf(`<i title=\"${e.replace(/\"/g,`&quot;`)}\"></i>`).firstChild.getAttribute(`title`)??e,lp.set(e,t)),t}var dp=/\\{[$_@%]\\w/,fp=new Map,pp=2e3;function mp(e){let t=fp.get(e);return t===void 0&&(t=Kc(e),`nodes`in t&&e.includes(`&`)&&(t={nodes:qc(t.nodes,up)}),fp.size>=pp&&fp.clear(),fp.set(e,t)),t}function hp(e,t,n,r){if(Wo(e)){if(!t.includes(`&`)&&!dp.test(t))return t;let i=tl(t,n,up);for(let t of i.errors)r.push([e,t]);return i.text}if(!Uc(t))return up(t);let i=mp(t);if(`error`in i)return r.push([e,{macro:`markup`,error:i.error}]),up(t);let a=$c(i.nodes,n);for(let t of a.errors)r.push([e,t]);return a.text}function gp({node:e}){let t=rl(),{nobr:n,locals:r,raw:i,inline:a}=ll(),o=Ie(zf),s=e.tag.toLowerCase(),c=s===`svg`,l=!i&&(c||Vf.has(s)),u=[],{props:d,direct:f}=sp(Object.entries(e.attributes).map(([e,n])=>[e,hp(e,n,t,u),n]),o||c),p=cp(f);p&&(d.ref=p);let m=tp.has(s),h;e.children.length>0&&(i||l?h=Cp(e.children):(h=jp(e.children,{nobr:n,locals:r,inline:m}),m!==a&&(h=q(Lf.Provider,{value:m,children:h}))));let g=b(e.tag,d,h);return c&&!o&&(g=q(zf.Provider,{value:!0,children:g})),Xf(u,l?q(Rf.Provider,{value:!0,children:g}):g)}function _p(){let e=Ie(Hf),t=ll();return!e||e.length===0?null:q(S,{children:jp(e,t)})}var vp=new WeakMap,yp=0;function bp(e){let t=vp.get(e);return t===void 0&&(t=`n${yp++}`,vp.set(e,t)),t}function xp(e,t){if(mc(e.name))return null;let n=Tc(e.name);if(n)return q(dl,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=cc(e.name);return r?q(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):q(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function Sp(e){if(e.type===`text`)return e.value;let t=bp(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?q(_p,{},t):q(sl,{node:e},t);case`expression`:return q(cl,{node:e},t);case`macro`:return xp(e,t);case`html`:return q(gp,{node:e},t);default:return e}}function Cp(e){return e.length===0?null:e.map(e=>Sp(e))}var wp=/[*_`#|~\\[>\\\\\\-+=\\r]|!\\[|\\d+[.)]|&#?[a-zA-Z0-9]+;| {2}\\n|<[!?]/,Tp=/(?:\\r\\n|\\r(?!\\n)|\\n)\\s*[\\r\\n]/,Ep=/<span data-tw=[0-9a-z]+:\\d+><\\/span>/g,Dp=` \t\\r\n`;function Op(e,t,n,r){let i=t;if(n===1)for(;i<e.length&&r.includes(e[i]);)i++;else for(;i>0&&r.includes(e[i-1]);)i--;return i}function kp(e){return e.includes(`\n`)?e.split(`\n`).map((e,t,n)=>{let r=t===0?0:Op(e,0,1,` \t`),i=t===n.length-1?e.length:Op(e,e.length,-1,` \t`);return e.slice(r,Math.max(r,i))}).join(`\n`):e}function Ap(e,t,n){let r=qf(kp(e),t).filter(e=>e!==``);return n?q(S,{children:r}):b(`p`,null,...r)}function jp(e,t){if(e.length===0)return null;if(t?.raw)return Cp(e);if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||Tp.test(e.value))))return e.map(e=>Sp(e));let n=[],r={nonce:Math.random().toString(36).slice(2,10)||`0`,components:n,nodes:[]},i=``;for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`){i+=a.value;continue}let o=n.length;n.push(Sp(a)),r.nodes.push(a),i.endsWith(`\\\\`)&&(i+=Gf),i+=Uf(r.nonce,o)}let a=!!(t?.nobr||t?.inline),o=i.slice(0,Op(i,0,1,Dp)),s=o.length===i.length?``:i.slice(Op(i,i.length,-1,Dp)),c=i.slice(o.length,i.length-s.length),l=e=>a&&(o||s)?q(S,{children:[o,e,s]}):e,u=i.replace(Ep,``);return!wp.test(u)&&!Tp.test(u)?l(Ap(c,r,a)):l($f(xf(i,{inline:t?.inline}),r,a))}var Mp=2**32-1,Np=Mp-1,Pp=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Fp=Symbol();function Ip(e,t){let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];i===Fp?n.push(`.get(${t(e[++r])})`):typeof i==`number`?n.push(`[${i}]`):n.push(Yp(i))}return n}var Lp=Object.getOwnPropertyNames(Object.prototype).sort().join(`\\0`);function Rp(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\\0`)===Lp}function zp(e){return Object.prototype.toString.call(e).slice(8,-1)}function Bp(e){return typeof Buffer<`u`&&Buffer.isBuffer(e)}function Vp(e){switch(e){case`\"`:return`\\\\\"`;case`<`:return`\\\\u003C`;case`\\\\`:return`\\\\\\\\`;case`\n`:return`\\\\n`;case`\\r`:return`\\\\r`;case`\t`:return`\\\\t`;case`\\b`:return`\\\\b`;case`\\f`:return`\\\\f`;case`\\u2028`:return`\\\\u2028`;case`\\u2029`:return`\\\\u2029`;default:return e<` `?`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}var Hp=/[\"<\\\\\\u0000-\\u001f\\u2028\\u2029]/;function Up(e){if(!Hp.test(e)&&e.isWellFormed())return`\"${e}\"`;let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let a=e.charCodeAt(i);if(a>=55296&&a<=57343){if(a<=56319&&i+1<r&&(e.charCodeAt(i+1)&64512)==56320){i+=1;continue}t+=e.slice(n,i)+`\\\\u${a.toString(16)}`,n=i+1;continue}let o=Vp(e[i]);o&&(t+=e.slice(n,i)+o,n=i+1)}return`\"${n===0?e:t+e.slice(n)}\"`}var Wp=64,Gp=new Map;function Kp(e){if(e.length>Wp)return Up(e);let t=Gp.get(e);return t===void 0&&(Gp.size>=1024&&Gp.clear(),t=Up(e),Gp.set(e,t)),t}function qp(e){let t=Object.getOwnPropertySymbols(e);return t.length===0?t:t.filter(t=>Object.getOwnPropertyDescriptor(e,t)?.enumerable)}var Jp=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Yp(e){return Jp.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function Xp(e){return!(!Number.isInteger(e)||e<0||e>Np)}function Zp(e){return!(!Number.isInteger(e)||e<0||e>Mp)}function Qp(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Xp(+e)}function $p(e){for(var t=e.length-1;t>=0&&!Qp(e[t]);t--);return t+1}function em(e){let t=Object.keys(e);return t.length=$p(t),t}function tm(e){return new Uint8Array(e).toBase64()}function nm(e){return Uint8Array.fromBase64(e).buffer}function rm(e){return Buffer.from(e).toString(`base64`)}function im(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function am(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function om(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var sm=typeof Uint8Array.fromBase64==`function`,cm=typeof process==`object`&&process.versions?.node!==void 0,lm=sm?tm:cm?rm:am,um=sm?nm:cm?im:om;function dm(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var fm=Object.freeze({kind:`not-plain`}),pm=Object.freeze({kind:`symbol-keys`}),mm=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>zp(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>(Bp(e)&&(e=new Uint8Array(e)),{buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>em(e),shapeOf:e=>Rp(e)?qp(e).length>0?pm:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:fm,get:(e,t)=>e[t]}),hm=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`)?.get,gm=typeof SharedArrayBuffer>`u`?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`)?.get,_m=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{try{hm.call(t)}catch(e){if(!gm)throw e;gm.call(t)}let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Np]=void 0,delete t[Np],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function vm(){throw Error(`Invalid input`)}function ym(e,t,n){return bm(JSON.parse(e),t,n)}function bm(e,t,n){let r=dm(_m,n?.operations);if(typeof e==`number`)return c(e,!0);(!Array.isArray(e)||e.length===0)&&vm();let i=e,a=Array(i.length),o=null;function s(e){return(!Xp(e)||e>=i.length)&&vm(),i[e]}function c(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if((n||typeof e!=`number`)&&vm(),e in a)return a[e];e>=i.length&&vm();let l=i[e];if(!l||typeof l!=`object`)a[e]=r.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]==`string`){let n=l[0],u=t&&Object.hasOwn(t,n)?t[n]:void 0;if(u){let t=l[1];if(typeof t!=`number`&&(t=i.push(l[1])-1),Object.hasOwn(a,t))return a[e]=u(a[t]);if(o??(o=new Set),o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=u(c(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(l[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<l.length;e+=1)r.addValue(t,c(l[e]));break;case`Map`:let i=r.createMap();a[e]=i;for(let e=1;e<l.length;e+=2)r.addEntry(i,c(l[e]),c(l[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(l[1],l[2]);break;case`Object`:{let t=l[1];if(!(t===-3||t===-4||t===-5||t===-6)){let e=s(t),n=Array.isArray(e)&&e[0]===`BigInt`;(e===void 0||typeof e==`object`)&&!n&&vm()}a[e]=r.box(c(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(l[1]));break;case`null`:let o=r.createNullPrototypeObject();a[e]=o;for(let e=1;e<l.length;e+=2){let t=l[e];if(typeof t!=`string`)throw Error(`Cannot parse an object with a non-string key`);if(t===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(o,t,c(l[e+1]))}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{let t=l[1],i=s(t);(!Array.isArray(i)||i[0]!==`ArrayBuffer`)&&vm();let o=c(t);a[e]=r.fromViewInfo(n,o,l[2],l[3]);break}case`ArrayBuffer`:{let t=l[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(um(t));break}case`URL`:case`URLSearchParams`:case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:a[e]=r.fromStringValue(n,l[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(l[0]===-7){let t=l[1];Zp(t)||vm();let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<l.length;e+=2){let i=l[e];(!Xp(i)||i>=t)&&vm(),r.set(n,i,c(l[e+1]))}}else{let t=r.createArray(l.length);a[e]=t;for(let e=0;e<l.length;e+=1){let n=l[e];n!==-2&&r.set(t,e,c(n))}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(l)){if(e===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(t,e,c(l[e]))}}return a[e]}return c(0)}function xm(e,t,n){let r=Sm(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}function Sm(e,t,n,r){let i=dm(mm,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(e,n){throw new Pp(e,Ip(c,e=>{let t=i.typeOf(e);return t!==`object`&&t!==`function`&&t!==`symbol`?Cm(i.toPrimitive(e)):`...`}),n,t)}function d(t,n){let r=i.typeOf(t);if(r===`undefined`)return-1;let f;if(r===`number`){if(f=i.toPrimitive(t),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(t);if(o.has(p))return o.get(p);n??(n=l++),o.set(p,n);for(let{key:e,fn:r}of s){let i=r(t);if(i)return a[n]=`[\"${e}\",${d(i)}]`,n}r===`function`?u(`Cannot stringify a function`,t):r===`symbol`&&u(`Cannot stringify a Symbol primitive`,t);let m=``;if(r!==`object`)m=Cm(r===`number`?f:i.toPrimitive(t));else if(i.isThenable(t)){e||u(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,t);let r=c.slice();m=i.toPromise(t).then(e=>{c=r;let t=d(e,n);t<0&&(a[n]=t)}),m.catch(()=>{})}else{let e=i.tagOf(t);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`[\"Object\",${d(i.unbox(t))}]`;break;case`Date`:m=`[\"Date\",\"${i.toISOString(t)}\"]`;break;case`URL`:m=`[\"URL\",${Up(i.toStringValue(t))}]`;break;case`URLSearchParams`:m=`[\"URLSearchParams\",${Up(i.toStringValue(t))}]`;break;case`RegExp`:let{source:n,flags:r}=i.regExpInfo(t);m=r?`[\"RegExp\",${Up(n)},\"${r}\"]`:`[\"RegExp\",${Up(n)}]`;break;case`Array`:{let e=!1,n=i.lengthOf(t);m=`[`;for(let r=0;r<n;r+=1)if(r>0&&(m+=`,`),i.hasOwn(t,r))c.push(r),m+=d(i.get(t,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(t),a=r.length,o=String(n).length;if((n-a)*3>4+o+a*(o+1)){m=`[-7,`+n;for(let e=0;e<r.length;e++){let n=r[e];c.push(+n),m+=`,`+n+`,`+d(i.get(t,n)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`[\"Set\"`;for(let e of i.valuesOf(t))m+=`,${d(e)}`;m+=`]`;break;case`Map`:m=`[\"Map\"`;for(let[e,n]of i.entriesOf(t))c.push(Fp,e),m+=`,${d(e)},${d(n)}`,c.pop(),c.pop();m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.length}`),m+=`]`;break}case`DataView`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`[\"ArrayBuffer\",\"${lm(i.toArrayBuffer(t))}\"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`[\"${e}\",${Up(i.toStringValue(t))}]`;break;default:{let e=i.shapeOf(t);if(e.kind===`not-plain`&&u(`Cannot stringify arbitrary non-POJOs`,t),e.kind===`symbol-keys`&&u(`Cannot stringify POJOs with symbolic keys`,t),e.kind===`null-proto`){m=`[\"null\"`;for(let n of e.keys)n===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),c.push(n),m+=`,${Kp(n)},${d(i.get(t,n))}`,c.pop();m+=`]`}else{m=`{`;let n=!1;for(let r of e.keys)r===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),n&&(m+=`,`),n=!0,c.push(r),m+=`${Kp(r)}:${d(i.get(t,r))}`,c.pop();m+=`}`}}}}return a[n]=m,n}let f=d(t);return f<0?`${f}`:a}function Cm(e){let t=typeof e;return t===`string`?Up(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`[\"BigInt\",\"${e}\"]`:String(e)}var wm=new Map,Tm=new Map;function Em(e,t){wm.set(e,t),Tm.set(t,e)}function Dm(e){let t=Object.getPrototypeOf(e);return t===null?void 0:Tm.get(t.constructor)}var Om=`c:`,km=`E:`,Am=`S`,jm=`K`,Mm=new Map([Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.AggregateError].map(e=>[e.prototype,e.name])),Nm=new Map([...Mm].map(([e,t])=>[t,e.constructor])),Pm=[`message`,`cause`,`errors`],Fm=e=>typeof e==`object`&&!!e,Im=(e,t,n)=>{Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})};function Lm(e){let t={};if(e instanceof Error)for(let n of Pm)G(e,n)&&Im(t,n,e[n]);for(let n of Object.keys(e))Im(t,n,e[n]);return t}function Rm(e){for(let t of Pm)G(e,t)&&Object.defineProperty(e,t,{enumerable:!1})}var zm=e=>e.length===1&&JSON.stringify(e).length>3;function Bm(){let e={};for(let[t,n]of wm)e[Om+t]=e=>Fm(e)&&Object.getPrototypeOf(e)===n.prototype&&Lm(e);for(let[t,n]of Mm)e[km+n]=e=>Fm(e)&&Object.getPrototypeOf(e)===t&&Lm(e);return e[Am]=e=>{if(typeof e!=`symbol`)return!1;let t=Symbol.keyFor(e);return t!==void 0&&[t]},e[jm]=e=>{if(!Fm(e)||Object.getPrototypeOf(e)!==Object.prototype)return!1;let t=Object.keys(e);if(!t.some(zm))return!1;if(t.includes(`__proto__`))throw TypeError(`spindle: Cannot save a property named \"__proto__\"`);return t.flatMap(t=>[t,e[t]])},e}function Vm(e){return t=>{if(!Fm(t)||Object.getPrototypeOf(t)!==Object.prototype){if(Fm(t)&&Dm(t)===e)return t;throw TypeError(`spindle: Malformed data for class \"${e}\"`)}let n=wm.get(e);if(!n)throw TypeError(`spindle: The save holds an instance of class \"${e}\", which is not registered`);return Object.setPrototypeOf(t,n.prototype),t instanceof Error&&Rm(t),t}}function Hm(e){let t=Nm.get(e);if(t)return n=>{if(Object.getPrototypeOf(n)===t.prototype)return n;if(!Fm(n)||Object.getPrototypeOf(n)!==Object.prototype)throw TypeError(`spindle: Malformed data for \"${e}\"`);return Object.setPrototypeOf(n,t.prototype),Rm(n),n}}var Um=new WeakMap;function Wm(e){if(!Array.isArray(e)||e.length%2!=0)throw TypeError(`spindle: Malformed object entries`);let t=Um.get(e);t||Um.set(e,t={});for(let n=0;n<e.length&&G(e,n);n+=2){let r=e[n];if(typeof r!=`string`||r===`__proto__`)throw TypeError(`spindle: Malformed object entries`);Im(t,r,G(e,n+1)?e[n+1]:void 0)}return t}var Gm=new Proxy({},{getOwnPropertyDescriptor(e,t){let n=Km(t);return n&&{value:n,enumerable:!0,configurable:!0}},get:(e,t)=>Km(t)});function Km(e){if(typeof e==`string`){if(e===Am)return e=>{if(!Array.isArray(e)||typeof e[0]!=`string`)throw TypeError(`spindle: Malformed symbol`);return Symbol.for(e[0])};if(e===jm)return Wm;if(e.startsWith(Om))return Vm(e.slice(2));if(e.startsWith(km))return Hm(e.slice(2))}}function qm(e,t){if(!(e instanceof Error)||e.name!==`DevalueError`)return e instanceof Error?e:Error(String(e));let{path:n,value:r}=e,i=n?` (at ${n})`:``,a=e.message;return typeof r==`function`?a=`Cannot save a function`:Fm(r)&&/non-POJO/.test(e.message)?a=`Cannot save an instance of class \"${Object.getPrototypeOf(r)?.constructor?.name??`?`}\", which is not registered (see Story.registerClass)`:typeof r==`symbol`?a=`Cannot save a unique symbol (only Symbol.for() symbols)`:/symbolic keys/.test(e.message)?a=`Cannot save an object with symbol keys`:/__proto__/.test(e.message)&&(a=`Cannot save a property named \"__proto__\"`),TypeError(`spindle: ${a}${i}`)}function Jm(e){try{return xm(e,Bm())}catch(t){throw qm(t,e)}}function Ym(e){return ym(e,Gm)}var Xm=class extends Error{constructor(){super(`This save was made by an incompatible version of Spindle`),this.name=`IncompatibleSaveError`}},Zm={};function Qm(e){if(typeof e!=`number`||!Number.isInteger(e)||e<1||e>1)throw new Xm}function $m(e,t){Qm(e);let n=t;for(let t=e;t<1;t++){let e=Zm[t];if(!e)throw new Xm;n=e(n)}return n}var eh=e=>e&&new Map(Object.entries(e));function th(e){if(!(e instanceof TypeError))return e;let t=e.message.replace(/\\(at \\.variables(?=[.[]|\\))/,`(at $`).replace(/\\(at \\.history\\[(\\d+)\\]\\.variables(.*)\\)$/,(e,t,n)=>`(at $${n} in history moment ${t})`).replace(/\\(at \\$\\.?/,`(at $`);return t===e.message?e:TypeError(t)}function nh(e){try{return{formatVersion:1,data:Jm({...e,visitCounts:eh(e.visitCounts),renderCounts:eh(e.renderCounts)})}}catch(e){throw th(e)}}var rh=()=>Error(`Invalid save data`);function ih(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ah(e){return e==null?!0:ih(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}var oh=e=>ih(e)&&typeof e.passage==`string`&&ih(e.variables)&&typeof e.timestamp==`number`&&ah(e.prng),sh=e=>e===void 0||e instanceof Map&&[...e.keys()].every(e=>typeof e==`string`);function ch(e){if(!ih(e)||typeof e.passage!=`string`||!ih(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!Array.from(t).every(oh)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage?!1:sh(e.visitCounts)&&sh(e.renderCounts)&&ah(e.prng)}var lh=e=>e instanceof Map?Rs(Object.fromEntries(e)):void 0;function uh(e){if(typeof e!=`object`||!e)throw rh();let{formatVersion:t,data:n}=e;if(Qm(t),typeof n!=`string`)throw rh();let r=Ym($m(t,n));if(!ch(r))throw rh();let i={...r,visitCounts:lh(r.visitCounts),renderCounts:lh(r.renderCounts)};return i.visitCounts===void 0&&delete i.visitCounts,i.renderCounts===void 0&&delete i.renderCounts,i}var dh=`Invalid save file format`;function fh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ph=[`id`,`passage`,`ifid`,`playthroughId`,`createdAt`,`updatedAt`,`title`];function mh(e){let t=console.warn;console.warn=()=>{};try{uh(e)}finally{console.warn=t}}function hh(e){if(!fh(e))throw Error(dh);if(!G(e,`formatVersion`))throw e.version===1?new Xm:Error(dh);if(Qm(e.formatVersion),typeof e.ifid!=`string`)throw Error(dh);let t=e.save;if(!fh(t)||!fh(t.meta))throw Error(dh);let n=t.meta;if(ph.some(e=>typeof n[e]!=`string`))throw Error(dh);try{mh(t.payload)}catch(e){throw e instanceof Xm?e:Error(dh)}}function gh(e){try{return hh(e),!0}catch{return!1}}function _h(e){return JSON.stringify(e).length}function vh(e){return{saves:e(`saves`,{ifid:e=>e.meta.ifid,playthroughId:e=>e.meta.playthroughId}),playthroughs:e(`playthroughs`,{ifid:e=>e.ifid}),meta:e(`meta`,{})}}var yh={autosave:`autosave.`,slot:`slot.`,slotIndex:`slotIndex.`,playthroughCount:`playthroughCount.`,currentPlaythrough:`currentPlaythroughId.`};function bh(e,t){let{slot:n,...r}=yh;return Object.values(r).some(n=>e===n+t)||e.startsWith(n)&&e.endsWith(`.${t}`)}function xh(e,{saves:t,playthroughs:n,meta:r},i){async function a(e,t,n,r){let i=(await e.find(n,r)).map(t);for(let t of i)await e.delete(t);return i}async function o(e){for(let t of await r.keys())e(t)&&await r.delete(t)}let s=e=>e.meta.id,c=e=>e.id;return{type:e,putSave:e=>t.put(e.meta.id,e),getSave:e=>t.get(e),deleteSave:e=>t.delete(e),getSavesByIfid:e=>t.find(`ifid`,e),deleteSavesByIfid:async e=>{await a(t,s,`ifid`,e)},deleteSavesByPlaythrough:e=>a(t,s,`playthroughId`,e),putPlaythrough:e=>n.put(e.id,e),getPlaythroughsByIfid:e=>n.find(`ifid`,e),deletePlaythroughsByIfid:async e=>{await a(n,c,`ifid`,e)},deletePlaythroughById:e=>n.delete(e),getMeta:e=>r.get(e),setMeta:(e,t)=>r.put(e,t),deleteMeta:e=>r.delete(e),deleteMetaByPrefix:e=>o(t=>t.startsWith(e)),deleteMetaByIfid:e=>o(t=>bh(t,e)),getAllMetaKeys:()=>r.keys(),destroy:i}}function Sh(){let e=e=>structuredClone(e),t=[];function n(n,r){let i=new Map;return t.push(i),{get:async t=>e(i.get(t)),put:async(t,n)=>{i.set(t,e(n))},delete:async e=>{i.delete(e)},find:async(t,n)=>[...i.values()].filter(e=>r[t](e)===n).map(e),keys:async()=>[...i.keys()]}}return xh(`memory`,vh(n),async()=>{for(let e of t)e.clear()})}var Ch={saves:`spindle.save.`,playthroughs:`spindle.pt.`,meta:`spindle.meta.`},wh={\"saves.ifid\":`spindle.idx.saves.`,\"saves.playthroughId\":`spindle.idx.saves-pt.`,\"playthroughs.ifid\":`spindle.idx.pt.`};function Th(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function Eh(e,t){localStorage.setItem(e,JSON.stringify(t))}function Dh(e){localStorage.removeItem(e)}function Oh(e){return Th(e)??[]}function kh(e,t){let n=Oh(e);n.includes(t)||(n.push(t),Eh(e,n))}function Ah(e,t){let n=Oh(e).filter(e=>e!==t);n.length>0?Eh(e,n):Dh(e)}var jh=e=>Object.keys(localStorage).filter(t=>t.startsWith(e));function Mh(){function e(e,t){let n=Ch[e],r=Object.entries(t).map(([t,n])=>({field:t,read:n,prefix:wh[`${e}.${t}`]})),i=e=>r.map(t=>`${t.prefix}${t.read(e)}`);return{get:async e=>Th(`${n}${e}`),async put(e,t){let r=Th(`${n}${e}`),a=i(t);if(r!==void 0)for(let t of i(r))a.includes(t)||Ah(t,e);Eh(`${n}${e}`,t);for(let t of a)kh(t,e)},async delete(e){let t=Th(`${n}${e}`);if(t!==void 0)for(let n of i(t))Ah(n,e);Dh(`${n}${e}`)},async find(e,t){let i=r.find(t=>t.field===e),a=[];for(let e of Oh(`${i.prefix}${t}`)){let t=Th(`${n}${e}`);t!==void 0&&a.push(t)}return a},keys:async()=>jh(n).map(e=>e.slice(n.length))}}return xh(`localstorage`,vh(e),async()=>{for(let e of jh(`spindle.`))Dh(e)})}var Nh=`spindle`,Ph=1,Fh={saves:{keyPath:`meta.id`,indexes:{ifid:`meta.ifid`,playthroughId:`meta.playthroughId`}},playthroughs:{keyPath:`id`,indexes:{ifid:`ifid`}},meta:{keyPath:`key`,indexes:{}}};function Ih(){let e=null;function t(){return e||(e=new Promise((t,n)=>{let r=indexedDB.open(Nh,Ph);r.onupgradeneeded=()=>{let e=r.result;for(let[t,{keyPath:n,indexes:r}]of Object.entries(Fh)){if(e.objectStoreNames.contains(t))continue;let i=e.createObjectStore(t,{keyPath:n});for(let[e,t]of Object.entries(r))i.createIndex(e,t,{unique:!1})}},r.onsuccess=()=>{let n=r.result;n.onversionchange=()=>{n.close(),e=null},t(n)},r.onerror=()=>n(r.error)}),e)}function n(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function r(e){let r=e===`meta`,i=async(r,i)=>{let a=(await t()).transaction(e,r),o=n(i(a.objectStore(e)));if(r===`readonly`)return o;let s=new Promise((e,t)=>{a.oncomplete=()=>e(),a.onabort=()=>t(a.error??new DOMException(`Transaction aborted`,`AbortError`))}),[c]=await Promise.all([o,s]);return c};return{async get(e){let t=await i(`readonly`,t=>t.get(e));return r?t?.value:t},async put(e,t){await i(`readwrite`,n=>n.put(r?{key:e,value:t}:t))},async delete(e){await i(`readwrite`,t=>t.delete(e))},async find(e,t){return await i(`readonly`,n=>n.index(e).getAll(t))??[]},keys:async()=>await i(`readonly`,e=>e.getAllKeys())}}return xh(`indexeddb`,vh(r),async()=>{(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(Nh);n.onsuccess=()=>e(),n.onerror=()=>t(n.error),n.onblocked=()=>t(Error(`Cannot clear the saved data: another tab or window of this site still has it open. Close the other tabs and try again.`))})})}var Lh=null;async function Rh(){if(typeof indexedDB<`u`)try{return await new Promise((e,t)=>{let n=indexedDB.open(`__spindle_probe__`,1);n.onsuccess=()=>{n.result.close(),indexedDB.deleteDatabase(`__spindle_probe__`),e()},n.onerror=()=>t(n.error)}),Ih()}catch{}if(typeof localStorage<`u`)try{let e=`__spindle_probe__`;localStorage.setItem(e,`1`);let t=localStorage.getItem(e);if(localStorage.removeItem(e),t===`1`)return Mh()}catch{}return Sh()}var zh=null;function Z(){if(Lh)return Promise.resolve(Lh);if(!zh){let e=Rh().then(t=>(zh===e&&(Lh=t),t));zh=e}return zh}function Bh(){Lh=null,zh=null}function Vh(){return Lh?.type??`memory`}var Hh=e=>Object.prototype.toString.call(e).slice(8,-1),Uh=e=>Hh(e).startsWith(`Temporal.`),Wh=e=>e instanceof Number||e instanceof String||e instanceof Boolean||Hh(e)===`BigInt`;function Gh(e){return e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof URL||e instanceof URLSearchParams||e instanceof Error||Wh(e)||Uh(e)}function Kh(e){if(!Gh(e))return;let t=e instanceof Error?`Error`:Hh(e);return`${/^[AEIOU]/.test(t)?`an`:`a`} ${t}`}function qh(e,t){let n=e;for(let e of t){if(n==null||e in Object.prototype&&!G(Object(n),e))return;n=n[e]}return n}var Jh=e=>e===`length`||/^(0|[1-9]\\d*)$/.test(e),Yh=Kh;function Xh(e){let t=Array.isArray(e)?Array(e.length):Object.create(Object.getPrototypeOf(e));for(let n of Object.keys(e))Object.defineProperty(t,n,{value:e[n],enumerable:!0,writable:!0,configurable:!0});return t}function Zh(e,t,n,r={}){let i=tg(e,t,r.createMissing??!1);i[t[t.length-1]]=n}function Qh(e,t){let n=t[t.length-1];$h(t);let r=e;for(let e of t.slice(0,-1)){if(typeof r!=`object`||!r||!G(r,e))return;r=r[e]}if(typeof r!=`object`||!r||!G(r,n))return;let i=tg(e,t,!1);if(Array.isArray(i)&&Mt(i)&&t.length>1){let r=Rn(i).slice();delete r[Number(n)];let a=tg(e,t.slice(0,-1),!1);a[t[t.length-2]]=r;return}delete i[n]}function $h(e){if(e.includes(`__proto__`))throw TypeError(`spindle: Cannot use \"__proto__\" in a variable path (\"${e.join(`.`)}\")`)}function eg(e,t,n,r){let i=Yh(e)??(Array.isArray(e)&&!Jh(t)?`an array`:``);if(i)throw TypeError(`spindle: Cannot set property \"${t}\" on ${i} (at \"${n.slice(0,r).join(`.`)}\")`)}function tg(e,t,n){$h(t);let r=Mt(e),i=e;for(let e=0;e<t.length-1;e++){let a=t[e];eg(i,a,t,e);let o=G(i,a)?i[a]:void 0;if(typeof o!=`object`||!o){if(!n)throw TypeError(`spindle: Cannot set property \"${t[e+1]}\" on ${o===null?`null`:typeof o} (at \"${t.slice(0,e+1).join(`.`)}\")`);o={},i[a]=o}else r&&!Mt(o)&&!Yh(o)&&(o=Xh(o),i[a]=o);i=o}return eg(i,t[t.length-1],t,t.length-1),i}function ng(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var rg=[`message`,`cause`,`errors`];function ig(e,t={}){let n=t.seen??new Map,r=(e,t)=>(n.set(e,t),t);function i(e,t){for(let n of Object.keys(e))ks(t,n,s(e[n]));for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=s(e[n]));return t}function a(e){if(e instanceof Date)return r(e,new Date(e.getTime()));if(e instanceof RegExp)return r(e,new RegExp(e.source,e.flags));if(e instanceof ArrayBuffer)return r(e,e.slice(0));if(ArrayBuffer.isView(e)){let t=s(e.buffer);if(e instanceof DataView)return r(e,new DataView(t,e.byteOffset,e.byteLength));let n=e.constructor,i=e.length;return r(e,new n(t,e.byteOffset,i))}if(e instanceof URL)return r(e,new URL(e.href));if(e instanceof URLSearchParams)return r(e,new URLSearchParams(e));if(Wh(e))return r(e,Object(e.valueOf()));if(Uh(e))return e;if(e instanceof Error){let t=r(e,Object.create(Object.getPrototypeOf(e)));for(let n of[...rg,`stack`])if(G(e,n)){let r=e[n];Object.defineProperty(t,n,{value:o(s(r),r),writable:!0,configurable:!0})}return i(e,t)}}function o(e,n){let r=t.settle;return r&&lg(e)&&lg(n)?r(e,n):e}function s(e){if(typeof e!=`object`||!e)return e;let c=e;if(n.has(c))return n.get(c);if(Array.isArray(e)){let t=r(c,Array(e.length));for(let n=0;n<e.length;n++)n in e&&(t[n]=s(e[n]));return t}if(e instanceof Map){let t=r(c,new Map);for(let[n,r]of e)t.set(o(s(n),n),s(r));return t}if(e instanceof Set){let t=r(c,new Set);for(let n of e)t.add(o(s(n),n));return t}let l=a(c);if(l!==void 0)return l;let u=Dm(c)!==void 0||ng(e);return!u&&t.keepUnregistered?e:i(c,r(c,u?Object.create(Object.getPrototypeOf(c)):{}))}return s(e)}function ag(e,t){return pg(e,t,og())}function og(){let e=new Map;return(t,n)=>{let r=e.get(t);if(r?.has(n))return!0;r?r.add(n):e.set(t,new Set([n]))}}function sg(e=new Map,t=new Map){let n=[],r=((r,i)=>{let a=e.get(r);if(a!==void 0)return a===i;if(t.has(i))return!1;e.set(r,i),t.set(i,r),n.push([r,i])});return r.strict=!0,r.added=n,r}function cg(e,t){if(!lg(e)||!lg(t))return t;let n=new Map,r=new Map,i=e=>lg(e)?ig(e,{keepUnregistered:!0,seen:n}):e;function a(e,t){let i=sg(r,n);if(pg(e,t,i))return!0;for(let[e,t]of i.added)r.delete(e),n.delete(t);return!1}function o(e,t){if(!lg(t))return t;let r=n.get(t);if(r!==void 0)return r;if(!lg(e))return i(t);if(a(e,t))return e;if(t instanceof Map&&e instanceof Map){let r=new Map;n.set(t,r);for(let[n,a]of t)r.set(i(n),o(e.get(n),a));return r}if(Array.isArray(t)&&Array.isArray(e)){let r=Array(t.length);n.set(t,r);for(let n=0;n<t.length;n++)n in t&&(r[n]=o(e[n],t[n]));return r}if(hg(e,t,!1)){let r=Object.create(Object.getPrototypeOf(t));n.set(t,r);let i=t;for(let t of Object.keys(i))ks(r,t,o(G(e,t)?e[t]:void 0,i[t]));return r}return i(t)}return o(e,t)}var lg=e=>typeof e==`object`&&!!e;function ug(e,t){let n=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!1;return!0}function dg(e,t,n){if(e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(ArrayBuffer.isView(e)){let r=t;return e.byteOffset===r.byteOffset&&e.byteLength===r.byteLength&&pg(e.buffer,r.buffer,n)}if(e instanceof ArrayBuffer)return ug(e,t);if(e instanceof URL||e instanceof URLSearchParams)return String(e)===String(t);if(Wh(e))return Object.is(e.valueOf(),t.valueOf());if(Uh(e))return String(e)===String(t);if(e instanceof Error)return rg.every(r=>G(e,r)===G(t,r)&&pg(e[r],t[r],n))&&fg(e,t,n)}function fg(e,t,n){let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!G(i,e)||!pg(r[e],i[e],n))return!1;return!0}function pg(e,t,n){if(Object.is(e,t)&&!(n.strict&&lg(e)))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n(e,t);if(r!==void 0)return r;if(e instanceof Map||e instanceof Set){let r=t;if(e.size!==r.size)return!1;let i=e.entries(),a=r.entries();for(let e=i.next(),t=a.next();!e.done;e=i.next(),t=a.next())if(!pg(e.value,t.value,n))return!1;return!0}let i=dg(e,t,n);if(i!==void 0)return i;if(Array.isArray(e)){let r=t;if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(t in e!=t in r||!pg(e[t],r[t],n))return!1;return!0}return fg(e,t,n)}function mg(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!Gh(e)}function hg(e,t,n){return n&&(Array.isArray(e)||Array.isArray(t))?Array.isArray(e)&&Array.isArray(t):mg(e)&&mg(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}function gg(e,t,n){let r=[],i=(e,t,i)=>{Object.is(t,i)||(hg(t,i,n)?r.push({key:e,kind:`nested`,before:t,after:i}):ag(t,i)||r.push({key:e,kind:`changed`,after:i}))};if(Array.isArray(t)){let n=e,a=t;for(let e=0;e<Math.min(n.length,a.length);e++){let t=String(e);e in n&&e in a?i(t,n[e],a[e]):e in n?r.push({key:t,kind:`deleted`,hole:!0}):e in a&&r.push({key:t,kind:`added`,after:a[e]})}let o=n.length;for(let e=n.length;e<a.length;e++){if(!(e in a))continue;let t=e-o;r.push({key:String(e),kind:`added`,after:a[e],...t?{gap:t}:{}}),o=e+1}for(let e=a.length;e<n.length;e++)r.push({key:String(e),kind:`deleted`});return a.length>o&&r.push({key:`length`,kind:`holes`,after:a.length-o}),r}for(let n of Object.keys(t))G(e,n)?i(n,e[n],t[n]):r.push({key:n,kind:`added`,after:t[n]});for(let n of Object.keys(e))G(t,n)||r.push({key:n,kind:`deleted`});return r}function _g(e,t,n=!1){let r=[],i=new Set,a=new WeakMap,o=0;return(function e(t,s,c){if(i.has(s)){o++;return}if(a.get(s)?.has(t))return;i.add(s);let l=r.length,u=o;for(let i of gg(t,s,n)){let n=[...c,i.key];i.kind===`nested`?e(i.before,i.after,n):r.push(i.kind===`deleted`?{path:n,deleted:!0,...i.hole?{hole:!0}:{}}:{path:n,deleted:!1,value:i.after,...i.kind===`added`&&Array.isArray(s)&&Number(i.key)>=t.length?{appended:!0,...i.gap?{gap:i.gap}:{}}:{}})}if(r.length===l&&o===u){let e=a.get(s)??new Set;e.add(t),a.set(s,e)}i.delete(s)})(e,t,[]),r}var vg=e=>JSON.stringify(e);function yg(e,t){for(let n=1;n<=e.length;n++)if(t.has(vg(e.slice(0,n))))return!0;return!1}var bg=(e,t)=>`\\0${e}${t}`,xg=e=>e.startsWith(`\\0`);function Sg(e){let t=[];if(e instanceof Map){let n=0;for(let[r,i]of e)t.push([bg(`k`,n),r],[bg(`v`,n),i]),n++}else if(e instanceof Set){let n=0;for(let r of e)t.push([bg(`s`,n++),r])}else if(e instanceof Error)for(let n of[`cause`,`errors`])G(e,n)&&t.push([bg(n===`cause`?`c`:`e`,0),e[n]]);else return;return t}function Cg(e,t){let n=e,r=0;for(let e=0;e<t.length;e++)if(xg(t[e])){if(n=qh(n,t.slice(r,e)),!lg(n))return;n=Sg(n)?.find(([n])=>n===t[e])?.[1],r=e+1}return r===t.length?n:qh(n,t.slice(r))}function wg(e,t,n){let r=Cg(e,t.slice(0,-1)),i=/^\\0v(\\d+)$/.exec(t[t.length-1]);if(!(r instanceof Map)||!i)return!1;let a=[...r.keys()][Number(i[1])];return r.set(a,n),!0}function Tg(e,t=new Set,n=!1){let r=new Map,i=[];function a(e,t){let a=r.get(e);if(a){a.push(t);return}r.set(e,[t]),mg(e)||Array.isArray(e)?o(e,t):n&&Sg(e)&&i.push([e,t])}function o(e,n){for(let r of Object.keys(e)){let i=e[r];if(!lg(i))continue;let o=[...n,r];t.has(vg(o))||a(i,o)}}o(e,[]);for(let[e,t]of i)for(let[n,r]of Sg(e))lg(r)&&a(r,[...t,n]);return r}function Eg(e,t,n){return new Map([...Tg(e,t,n)].map(([e,t])=>[e,t[0]]))}function Dg(e){return[...Tg(e,void 0,!0).values()].filter(e=>e.length>1)}function Og(e,t,n,r,i){let a=[],o=Sg(e),s=Sg(t);if(o&&s){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)||(e instanceof Map||e instanceof Set)&&e.size!==t.size)return!1;let n=new Map(s);for(let[e,t]of o)n.has(e)&&a.push([e,t,n.get(e)])}else if((mg(e)||Array.isArray(e))&&hg(e,t,!0))for(let n of Object.keys(t))G(e,n)&&a.push([n,e[n],t[n]]);return a.some(([e,t,a])=>{if(!lg(t)||!lg(a))return!1;let o=[...n,e],s=i.get(a);return vg(r.get(t))!==vg(s)||vg(s)===vg(o)&&Og(t,a,o,r,i)})}function kg(e,t){let n=Eg(e,void 0,!0),r=Eg(t,void 0,!0),i=[];return(function e(t,a,o){for(let s of Object.keys(a)){if(!G(t,s))continue;let c=t[s],l=a[s];if(!lg(c)||!lg(l))continue;let u=[...o,s],d=n.get(c),f=r.get(l),p=vg(u);vg(d)===vg(f)?vg(f)===p&&Sg(c)&&Og(c,l,u,n,r)&&i.push({path:u,deleted:!1,value:l,alias:!0}):i.push({path:u,deleted:!1,value:l,alias:!0}),(mg(c)||Array.isArray(c))&&hg(c,l,!0)&&vg(f)===p&&vg(d)===p&&e(c,l,u)}})(e,t,[]),i}function Ag(e,t,n=!1){let r=_g(e,t,n),i=new Set(r.map(e=>vg(e.path))),a=[];for(let n of kg(e,t))yg(n.path,i)||(i.add(vg(n.path)),a.push(n));return[...a,...r]}function jg(e,t){return Eg(e,new Set(t.map(e=>vg(e.path))),!0)}function Mg(e,t){return new class extends Map{has(n){if(super.has(n))return!0;let r=e.get(n);if(!r)return!1;let i=Cg(t,r);return lg(i)&&(Array.isArray(i)?Array.isArray(n):Object.getPrototypeOf(i)===Object.getPrototypeOf(n))?(super.set(n,i),!0):!1}}}function Ng(e,t){let n=qh(e,t.path.slice(0,-1));if(typeof n!=`object`||!n)return t.deleted;let r=t.path[t.path.length-1];return G(n,r)?!t.deleted&&ag(n[r],t.value):t.deleted}function Pg(e,t,n){t.some(xg)?wg(e,t,n):Zh(e,t,n)}function Fg(e,t){let n=e;t.deleted?Qh(n,t.path):Zh(n,t.path,t.value)}var Ig=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),Lg=new Map;function Rg(e,t){if(!Ig.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=Lg.get(e);return n||(n=new Set,Lg.set(e,n)),n.add(t),()=>{n.delete(t)}}function zg(e,t){let n=Lg.get(e);if(n)for(let e of[...n])t(e)}function Bg(e,...t){zg(e,e=>e(...t))}function Vg(e,...t){zg(e,n=>{try{n(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}})}var Hg=null,Ug=null;function Wg(e){Hg=e}function Gg(e){Ug=e}function Kg(e){if(Ug)try{let t=Function(`passage`,`variables`,Ug)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Hg)try{let t=Hg(e);if(typeof t==`string`&&t.trim())return t.trim()}catch{}let t=new Date().toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});return`${e.passage} - ${t}`}var qg=Promise.resolve();function Jg(e){let t=qg.then(e);return qg=t.catch(()=>{}),t}function Yg(e){return(...t)=>Jg(()=>e(...t))}var Xg=e=>Yg(async t=>e(await(await Z()).getSave(t))),Zg=e=>Yg(async(t,n)=>e(await O_(t,n))),Qg=Yg($g);async function $g(e,t=bt()){let n=await Z(),r=await n_(e),i={id:t,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${r}`};return await n.putPlaythrough(i),await n.setMeta(t_(e),r),await n.setMeta(r_(e),t),t}var e_=/^Playthrough (\\d+)$/;function t_(e){return`${yh.playthroughCount}${e}`}async function n_(e){let t=await Z(),n=await t.getMeta(t_(e))??0;for(let r of await t.getPlaythroughsByIfid(e)){let e=e_.exec(r.label);e&&(n=Math.max(n,Number(e[1])))}return n+1}function r_(e){return`${yh.currentPlaythrough}${e}`}var i_=Yg(a_);async function a_(e,t){let n=await Z();await o_(e,t,new Date().toISOString());let r=r_(e);await n.getMeta(r)!==t&&await n.setMeta(r,t)}async function o_(e,t,n){let r=await Z();(await r.getPlaythroughsByIfid(e)).some(e=>e.id===t)||await r.putPlaythrough({id:t,ifid:e,createdAt:n,label:`Imported`})}function s_(e){return Jg(async()=>({id:await(await Z()).getMeta(r_(e))??await $g(e),knownSaves:await R_(e)}))}function c_(e,t,n,r){try{let i=n();return vs(()=>Bg(`beforesave`,e,t)),r(i()).then(t=>(vs(()=>Bg(`aftersave`,e)),t))}catch(e){return Promise.reject(e)}}function l_(e,t){let n=nh(t);return{meta:{...e,estimatedBytes:_h(n)},payload:n}}var u_=Yg(d_);async function d_(e,t,n,r={}){let i=new Date().toISOString(),a=l_({id:bt(),ifid:e,playthroughId:t,createdAt:i,updatedAt:i,title:Kg(n),passage:n.passage,custom:r},n);return await(await Z()).putSave(a),a}var f_=Yg(p_);async function p_(e,t,n,r){let i=await Z(),a=await i.getSave(e);if(!a)return;let o=l_({...a.meta,...r?{playthroughId:r}:{},updatedAt:new Date().toISOString(),title:a.meta.userTitle===!0?a.meta.title:Kg(t),passage:t.passage,...n==null?{}:{custom:{...a.meta.custom,...n}}},t);return await i.putSave(o),o}var m_=e=>e&&uh(e.payload),h_=e=>uh(e);Xg(m_);function g_(e){return Jg(async()=>{let t=await Z(),n=await t.getSave(e);await t.deleteSave(e),n&&await j_(n.meta.ifid,t=>t===e)})}function __(e,t){return Jg(async()=>{let n=await Z(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,userTitle:!0,updatedAt:new Date().toISOString()}};await n.putSave(i)})}var v_=Yg(async function(e){let t=await Z(),[n,r]=await Promise.all([t.getSavesByIfid(e),t.getPlaythroughsByIfid(e)]),i=new Map;for(let e of r)i.set(e.id,e);let a=new Map;for(let e of n){let t=e.meta.playthroughId,n=a.get(t);n?n.push(e):a.set(t,[e])}for(let e of a.values())e.sort((e,t)=>new Date(t.meta.updatedAt).getTime()-new Date(e.meta.updatedAt).getTime());let o=[],s=[...i.values()].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());for(let e of s){let t=a.get(e.id)??[];o.push({playthrough:e,saves:t})}for(let[t,n]of a)i.has(t)||o.push({playthrough:{id:t,ifid:e,createdAt:n[0]?.meta.createdAt??new Date().toISOString(),label:`Unknown Playthrough`},saves:n});return o}),y_=yh.autosave,b_=yh.slot,x_=yh.slotIndex;function S_(e){return e!=null&&e!==``}function C_(e,t){return S_(t)?`${b_}${t}.${e}`:`${y_}${e}`}var w_=e=>`${x_}${e}`;async function T_(e,t){let n=await Z(),r=await n.getMeta(w_(e))??[],i=t(r);i!==r&&await n.setMeta(w_(e),i)}async function E_(e){return[void 0,...(await(await Z()).getMeta(w_(e))??[]).filter(S_)]}async function D_(e,t){return(await Z()).getMeta(C_(e,t))}async function O_(e,t){let n=await D_(e,t);return n?(await Z()).getSave(n):void 0}async function k_(e,t,n){await(await Z()).setMeta(C_(e,t),n),S_(t)&&await T_(e,e=>e.includes(t)?e:[...e,t])}async function A_(e,t){await(await Z()).deleteMeta(C_(e,t)),S_(t)&&await T_(e,e=>e.filter(e=>e!==t))}async function j_(e,t){for(let n of await E_(e)){let r=await D_(e,n);r&&t(r)&&await A_(e,n)}}var M_=e=>({isAutosave:!S_(e),...S_(e)?{slot:e}:{}});function N_(e,t){return{slot:S_(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function P_(e,t,n,r,i){return Jg(async()=>{let a=await t,o=await D_(e,r);if(o){let e=await p_(o,n,i,a);if(e)return e}let s=await d_(e,a,n,{...M_(r),...i});return await k_(e,r,s.meta.id),s})}async function F_(e,t){return await O_(e,t)!==void 0}Zg(m_);function I_(e,t){return Jg(async()=>{let n=await O_(e,t);if(!n)return;let r=uh(n.payload),{playthroughId:i}=n.meta;return i&&await a_(e,i),{payload:r,playthroughId:i}})}var L_=Yg(R_);async function R_(e){let t=Object.create(null);for(let n of await E_(e))await F_(e,n)&&(t[n??``]=!0);return t}var z_=Yg(B_);async function B_(e,t){let n=await O_(e,t);return n?N_(n,t):null}var V_=Yg(async e=>{let t=[];for(let n of await E_(e)){let r=await B_(e,n);r&&t.push(r)}return t}),H_=Yg(async(e,t)=>{let n=await D_(e,t);n&&(await(await Z()).deleteSave(n),await A_(e,t))}),U_=`spindle.session.`;function W_(e,t){let n=JSON.stringify(nh(t));try{sessionStorage.setItem(`${U_}${e}`,n)}catch{}}function G_(e){try{let t=sessionStorage.getItem(`${U_}${e}`);return t?uh(JSON.parse(t)):void 0}catch(t){t instanceof Xm&&(console.warn(`spindle: ${t.message}; the session was not restored.`),K_(e));return}}function K_(e){try{sessionStorage.removeItem(`${U_}${e}`)}catch{}}function q_(e){if(e)return{formatVersion:1,ifid:e.meta.ifid,exportedAt:new Date().toISOString(),save:e}}var J_=Xg(q_);async function Y_(e,t){if(hh(e),e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);let n=ig(e.save);return n.meta.id=bt(),n.meta.updatedAt=new Date().toISOString(),n.meta.ifid=t,await o_(t,n.meta.playthroughId,n.meta.createdAt),n}function X_(e,t){return Jg(async()=>{let n=await Y_(e,t);return await(await Z()).putSave(n),n})}var Z_=Zg(q_);function Q_(e,t,n){return Jg(async()=>{let r=await Y_(e,t),{slot:i,...a}=r.meta.custom??{};r.meta.custom={...a,...M_(n)};let o=await Z(),s=await D_(t,n);return await o.putSave(r),await k_(t,n,r.meta.id),s&&await o.deleteSave(s),N_(r,n)})}var $_=Yg(async function(e){let t=await Z(),n=await t.getSavesByIfid(e),r=await t.getPlaythroughsByIfid(e),i=0;for(let e of n)if(e.meta.estimatedBytes!=null)i+=e.meta.estimatedBytes;else{let n=_h(e.payload);e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}});function ev(e){return Jg(async()=>{let t=await Z();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),K_(e)})}var tv=Yg(nv);async function nv(){if(await(await Z()).destroy(),Bh(),typeof sessionStorage<`u`){let e=[];for(let t=0;t<sessionStorage.length;t++){let n=sessionStorage.key(t);n?.startsWith(`spindle.session.`)&&e.push(n)}for(let t of e)sessionStorage.removeItem(t)}}function rv(e,t,n){return Jg(async()=>{let r=await Z(),i=await r.deleteSavesByPlaythrough(t);await r.deletePlaythroughById(t);let a=new Set(i);if(await j_(e,e=>a.has(e)),n&&await n.current===t)return await $g(e,n.id),!0;let o=r_(e);return await r.getMeta(o)===t&&await r.deleteMeta(o),!1})}var iv=null;function av(){iv&&(ge(null,iv),iv.remove(),iv=null)}function ov(){av();let e=Q.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=Zo(t.content),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),iv=n,ge(b(()=>jp(e),null),n),Ky()}let n=e.storyData.passages.get(`SaveTitle`);n&&Gg(n.content)}function sv(e){ov(),e&&Q.getState().loadFromPayload(e),Bg(`storyinit`),e||Ky()}var cv=[`variables`,`temporary`,`transient`],lv=[];function uv(){return lv[lv.length-1]?.work}function dv(){let e=Q.getState(),t=uv();return t?{...e,...t}:e}var fv=e=>ig(e,{keepUnregistered:!0});function pv(e,t){let n=t?Mg(t,e):new Map,r=(r,i)=>{let a=t?.get(i);if(!a||!Mt(r))return r;let o=Rn(r);return a.some(xg)||Zh(e,a,o),n.set(i,o),o};return e=>ig(e,{keepUnregistered:!0,seen:n,settle:r})}var mv=e=>{let t=new Map;return n=>{let r=t.get(n);return r||(r=pv(n,e?.(n)),t.set(n,r)),r}};function hv(e){return tn(fv(e),!0)}function gv(e,t,n=lv,r=_v){let[i,a]=t.path;for(let o of n)for(let n of[o.work,o.base])try{Fg(n,t.deleted?t:{...t,value:r(n)(t.value)})}catch{let t=e[i][a];G(e[i],a)?n[i][a]=fv(Mt(t)?Rn(t):t):delete n[i][a]}}var _v=e=>pv(e),vv=new Set(cv),yv=new In({autoFreeze:!1}),bv=!1;function xv(e,t){let n=[],r=e;for(let e of t){if(!mg(r))break;let t=String(e);n.push(t),r=G(r,t)?r[t]:void 0}return n}function Sv(e,t){let n=qh(e,t.slice(0,-1)),r=t[t.length-1];return mg(n)&&G(n,r)?{path:t,deleted:!1,value:n[r]}:{path:t,deleted:!0}}function Cv(e,t,n){if(n.some(e=>e.path.length===1))return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>!G(e,n)||e[n]!==t[n]).map(e=>Sv(t,[e]));let r=new Set,i=[];for(let e of n){let n=xv(t,e.path.slice(1)),a=JSON.stringify(n);r.has(a)||(r.add(a),i.push(Sv(t,n)))}return i}function wv(e){if(bv){bv=!1;return}if(lv.length===0)return;Ov(Av());let t=lv[lv.length-1],n={...Q.getState(),variables:t.work.variables,temporary:t.work.temporary,transient:t.work.transient},[r,i]=yv.produceWithPatches(n,e),a=cv.flatMap(e=>{let t=i.filter(t=>t.path[0]===e);return t.length?Cv(n[e],r[e],t).map(t=>({...t,path:[e,...t.path]})):[]}),o=jg(Dv(t.work),a),s=mv(()=>o),c=(e,t)=>e.deleted?e:{...e,value:s(t)(e.value)};for(let e of a)Fg(t.work,c(e,t.work));return e=>{let i=e;for(let e of Object.keys(r)){let t=r[e];!vv.has(e)&&t!==n[e]&&(i[e]=t)}let o=e;for(let e of a){let[n,r]=e.path;try{Fg(o,c(e,o))}catch{G(t.work[n],r)?o[n][r]=fv(t.work[n][r]):delete o[n][r]}gv(o,e,lv,s)}}}function Tv(e,t,n){let r=n.map(e=>vg(e.path).slice(0,-1));for(let[n,...i]of Dg(t)){let t=[n,...i].map(e=>vg(e).slice(0,-1));if(r.some(e=>t.some(t=>e.startsWith(t))))try{let t=Cg(e,n);if(typeof t!=`object`||!t)continue;for(let n of i)Pg(e,n,t)}catch{}}}function Ev(e){let t=new Map;return{variables:ig(e.variables,{seen:t}),temporary:ig(e.temporary,{seen:t}),transient:ig(e.transient,{seen:t})}}var Dv=e=>({variables:e.variables,temporary:e.temporary,transient:e.transient});function Ov(e){let t=e.map(({scope:e,keepRunning:t})=>({scope:e,keepRunning:t,changes:kv(e.base,e.work)})),n=t.filter(({changes:e})=>e.length>0);if(n.length===0)return;for(let{scope:e,keepRunning:t}of n)t&&(e.base=Ev(e.work));bv=!0;try{Q.getState().updateVariables(r)}finally{bv=!1}function r(e){t.forEach(({scope:n,changes:r},i)=>{let a=jg(n.work,r),o=pv(e,a),s=t.slice(0,i).map(e=>e.scope),c=mv(()=>a),l=new Set;for(let t of r){let[r,i]=t.path,a=vg([r,i]);if(!l.has(a))try{if(t.deleted){Ng(e,t)||Fg(e,t);continue}let n=t.alias?o(t.value):void 0;if(t.alias?Object.is(qh(e,t.path),n):Ng(e,t))continue;Fg(e,{...t,value:t.alias?n:o(t.value)})}catch{e[r][i]=o(n.work[r][i]),l.add(a)}}Tv(e,n.work,r);for(let t of r)gv(e,t,s,c)})}}var kv=(e,t)=>Ag(e,t),Av=()=>lv.map(e=>({scope:e,keepRunning:!0}));function jv(e){let t=Q.getState(),n=Dv(t),r=Ag(e.base,n),i=pv(e.work,jg(n,r));for(let t of r)try{Fg(e.work,t.deleted?t:{...t,value:i(t.value)})}catch{let[r,a]=t.path;G(n[r],a)?e.work[r][a]=i(n[r][a]):delete e.work[r][a]}e.base=Ev(t)}function Mv(e){if(lv.length===0)return e();Ov(Av());let t=lv.splice(0);try{return e()}finally{lv.push(...t);for(let e of t)jv(e)}}function Nv(e){Ov(Av());let t=jg(Dv(uv()??Q.getState()),[]),n=Pv(),r=pv(n.work,t);try{e(n.work,r)}finally{lv.pop()}Ov([...Av(),{scope:n,keepRunning:!1}])}function Pv(){let e=uv()??Q.getState(),t={work:Ev(e),base:Ev(e)};return lv.push(t),t}function Fv(e,t,n){let r=Ms(ig(t,{keepUnregistered:!0})),i=Pv();try{ac(e,i.work.variables,i.work.temporary,r,i.work.transient)}finally{lv.pop()}Ov([...Av(),{scope:i,keepRunning:!1}]);let a=new Set(Ag(t,r,!0).map(e=>e.path[0]));for(let e of Dg(r))if(e.some(e=>a.has(e[0])))for(let n of e)r[n[0]]!==t[n[0]]&&a.add(n[0]);for(let e of Object.keys(r))a.has(e)&&n(e,r[e]);for(let e of Object.keys(t))G(r,e)||n(e,void 0)}var Iv=[],Lv=!1,Rv=[],zv=null,Bv=null;function Vv(e){let t=dv();try{return!!ic(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Hv(e,t,n){let r=typeof t==`function`,i=r?void 0:t,a=r?t:void 0,o={name:i?.name,condition:e,callback:a,options:i,lastResult:Vv(e),priority:i?.priority??0,macroKey:n};return Iv.push(o),Iv.sort((e,t)=>t.priority-e.priority),()=>{Iv=Iv.filter(e=>e!==o)}}function Uv(e,t){return Hv(e,t)}function Wv(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Iv.some(e=>e.macroKey===r)||Hv(e,t,r)}function Gv(e){Iv=Iv.filter(t=>t.name!==e)}function Kv(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Fv(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Rv.push({passageName:n.dialog}),zv?.()),n.goto&&Q.getState().navigate(n.goto)}}var qv=10;function Jv(){for(let e=0;e<qv;e++){let e=!1,t=[...Iv];for(let n of t){if(!Iv.includes(n))continue;let t=Vv(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Iv=Iv.filter(e=>e!==n)),Kv(n))}if(!e)break}}function Yv(){if(!Lv){Lv=!0;try{Jv()}finally{Lv=!1}}}var Xv=0;function Zv(){if(Xv===0)return;let e=Lv;Lv=!0;try{Jv()}finally{Lv=e}}function Qv(){let e=Q.getState();Xv++;let t=Q.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Yv())}),n=!0;return()=>{n&&(n=!1,Xv--,t())}}function $v(){for(let e of Iv)e.lastResult=Vv(e.condition)}function ey(){Iv=[],Rv=[],Bv?.closeAll()}function ty(e){return zv=e,Rv.length>0&&e(),()=>{zv===e&&(zv=null)}}function ny(){return Rv.shift()}function ry(){return Rv.length}function iy(e){Bv?Bv.push(e):(Rv.push(e),zv?.())}function ay(){Rv=[]}function oy(e){return Bv=e,()=>{Bv===e&&(Bv=null)}}var sy=[];function cy(e){return sy.push(e),()=>{let t=sy.lastIndexOf(e);t>=0&&sy.splice(t,1)}}function ly(){let e=sy[sy.length-1];e?e():Bv?.close()}function uy(){ay();for(let e of[...sy].reverse())e();Bv?.closeAll()}function dy(){return sy.length>0||(Bv?.isOpen()??!1)}var fy=[],py=1,my=new Set;function hy(e){fy=e;for(let e of my)e()}function gy(e,t){let n=nl(t).replace(/^spindle: /,``),r=fy.find(t=>t.context===e&&t.message===n);hy(r?fy.map(e=>e===r?{...e,count:e.count+1}:e):[...fy,{id:py++,context:e,message:n,count:1}])}function _y(e,t){return Error(`No passage named ${JSON.stringify(e)} (in passage ${JSON.stringify(t)})`)}function vy(e){hy(fy.filter(t=>t.id!==e))}function yy(){return fy}function by(e){return my.add(e),()=>{my.delete(e)}}Bn(),Vn();var xy=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),Sy=K(),Cy=[],wy=K();function Ty(e,t){let n=[];for(let r of Object.keys(e))G(t,r)||n.push({key:r,deleted:!0});let r=new Map,i=e=>n.push({key:e,deleted:!1,value:ig(t[e],{keepUnregistered:!0,seen:r})}),a=[];for(let n of Object.keys(t))!G(e,n)||!Object.is(e[n],t[n])?i(n):typeof t[n]==`object`&&t[n]!==null&&a.push(n);for(let e=r.size>0;e;){e=!1;for(let n of a){let o=new Map;if(ig(t[n],{keepUnregistered:!0,seen:o}),[...o.keys()].some(e=>r.has(e))){i(n),a.splice(a.indexOf(n),1),e=!0;break}}}return{forward:n}}function Ey(e,t){let n=Object.create(Object.getPrototypeOf(e));for(let t of Object.keys(e))ks(n,t,e[t]);for(let e of t)e.deleted?delete n[e.key]:ks(n,e.key,e.value);return n}function Dy(e){let t=Cy.length-1;t<0?Sy=e:Cy[t]=Ty(Ay(t),e)}function Oy(e,t){let n=Sy;for(let r=0;r<e;r++)r>0&&(n=Ey(n,Cy[r-1].forward)),t(n,r)}function ky(e,t){return{passage:e.passage,variables:t,timestamp:e.timestamp,prng:e.prng}}function Ay(e){let t=Sy;for(let n=0;n<e;n++)t=Ey(t,Cy[n].forward);return t}var jy=[];function My(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(jy.length>i.length&&(jy.length=i.length),jy.length<i.length)if(i.length-jy.length===1){let e=i.length-1;jy[e]=ky(i[e],r)}else Oy(i.length,(e,t)=>{t>=jy.length&&(jy[t]=ky(i[t],e))});W_(t.ifid,{passage:n,variables:r,history:jy,historyIndex:a,visitCounts:o,renderCounts:s,prng:ys()})}}var Ny=`The game could not be saved for a page reload; a reload goes back to the last passage it could save:`,Py=`The story could not go to another passage:`;function Fy(e,t){let n;try{My(e)}catch(e){n={error:e},gy(Ny,e)}try{t?.()}finally{if(n)throw n.error}}function Iy(e){let t=e.history.length-e.maxHistory;if(t<=0)return!1;let n=Math.min(e.historyIndex,t),r=n+e.maxHistory;for(let e=0;e<n;e++)Sy=Ey(Sy,Cy[e].forward);return e.history=e.history.slice(n,r),Cy=Cy.slice(n,r-1),jy=jy.slice(n,r),e.historyIndex-=n,!0}var Ly=!1,Ry=[],zy=null;function By(e,t){let n=zy;if(zy=null,!n||e().navigationId!==n.navigationId)return;e().variables!==n.variables&&Dy(e().variables),wy=e().variables;let r=ys(),i=e().history[e().historyIndex].prng;(r?.seed!==i?.seed||r?.pull!==i?.pull)&&t(e=>{e.history[e.historyIndex].prng=r})}var Vy=e=>({...e});function Hy(e){Sy=e,Cy=[],wy=e,jy=[]}function Uy(e){let t=K(ig(e));return Hy(ig(t)),t}function Wy(e,t,n,r){e.currentPassage=t,e.navigationId++,e.variables=n,e.transient=K(ig(r)),e.temporary=K(),e.history=[{passage:t,timestamp:Date.now()}],e.historyIndex=0}function Gy(e,t,n){let{historyIndex:r,history:i}=e(),a=r+n;if(a<0||a>=i.length)return;By(e,t);let o=e().currentPassage,s=i[a].passage;Bg(`beforenavigate`,s);let c=ig(Ay(a));t(e=>{e.historyIndex+=n,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=c,e.temporary=K()}),$v(),wy=e().variables,vb(e().history[e().historyIndex]),Fy(e,()=>Bg(`afternavigate`,s,o))}function Ky(){let{history:e,historyIndex:t,variables:n}=Q.getState();if(e.length!==1||t!==0)return;Hy(n);let r=ys();Q.setState(e=>{e.history[0].prng=r})}var qy=Promise.resolve(``),Jy=0,Yy=!1;function Xy(){return Yy?``:Q.getState().playthroughId}function Zy(){let e=Xy();return qy.then(t=>e||t)}function Qy(e){Q.getState().playthroughId!==e&&Q.setState(t=>{t.playthroughId=e})}function $y(e){let t=++Jy;return Yy=!0,qy=e.then(e=>(t===Jy&&(Yy=!1,Qy(e)),e)),qy}function eb(e,t){++Jy,Yy=!1,qy=t.then(()=>e,()=>e),Qy(e)}function tb(e){let t=bt();eb(t,Qg(e,t).catch(e=>{console.error(`spindle: failed to start new playthrough`,e)}))}function nb(e,t){Xy()!==t&&eb(t,i_(e,t).catch(e=>{console.error(`spindle: failed to switch to the loaded playthrough`,e)}))}var rb=0,ib=0,ab=null;function ob(){ib=++rb}var sb=[],cb=!1;function lb(e){cb&&sb.push(e)}function ub(){cb=!0}function db(){for(let e of sb)e();sb=[],cb=!1}function fb(e){return typeof e==`string`&&e!==``?e:null}function pb(e){let{history:t,historyIndex:n}=e;if(!Number.isInteger(n))return;let r=t[n];if(!(!r||r.passage!==e.passage)&&!(typeof r.variables!=`object`||r.variables===null))return r}function mb(e,t,n){let r=e.history[e.historyIndex];if(!r)return;let i=Ag(t,n,!0);if(i.length===0)return;let a=ig(r.variables),o=Mg(jg(n,i),a),s=e=>ig(e,{seen:o});for(let e of i)hb(a,n,e,s);r.variables=cg(r.variables,a)}function hb(e,t,n,r){let{path:i}=n,a=e,o=0;for(;o<i.length-1;o++){let e=i[o],n=G(a,e)?a[e]:void 0,s=qh(t,i.slice(0,o+1));if(!hg(n,s,!0)){gb(a,e,r(s));return}a=n}let s=i[o];n.deleted?gb(a,s,void 0,n):gb(a,s,r(n.value),n)}function gb(e,t,n,r){let i=r?.deleted??!1;if(Array.isArray(e)){let a=Number(t);i?r&&`hole`in r?delete e[a]:e.length=Math.min(e.length,a):r&&`appended`in r?(e.length+=r.gap??0,e.push(n)):t===`length`&&r?e.length+=n:a<e.length&&(e[a]=n)}else i?delete e[t]:ks(e,t,n)}function _b(e){e?hs(e.seed,e.pull):_s()}function vb(e){e&&_b(e.prng)}var yb=[`variables`,`temporary`,`transient`];function bb(e){for(let t of yb){let n=e[t];js(n)||(e[t]=K(Mt(n)?Rn(n):n))}}var xb=[`navigate`,`goBack`,`goForward`,`restart`,`save`,`load`,`getSavePayload`,`loadFromPayload`];function Sb(e){return(t,n,r)=>{let i=((e,n)=>{if(n){t(e,!0);return}let r=typeof e==`function`?e:t=>{Object.assign(t,e)},i=wv(r);t(e=>{(i??r)(e),bb(e)})});r.setState=i;let a=e(i,n,r);for(let e of xb){let t=a[e];a[e]=(...e)=>Mv(()=>t(...e))}return a}}var Cb=e=>Un(Sb(e));function wb(e){return e.catch(()=>{}),e}function Tb(e,t,n){return wb(e.catch(e=>{throw console.error(t,e),n?.(e),e}))}function Eb(e,t,n){e(e=>{let r=t??``;if(n)e.knownSaves={...e.knownSaves,[r]:!0};else{let{[r]:t,...n}=e.knownSaves;e.knownSaves=n}})}function Db(e,t,n,r){let i=n.then(()=>{t(e=>{e.knownSaves={}})});return e().restart(),Tb(i,r)}var Q=yt()(Cb((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:K(),variableDefaults:{},transient:K(),transientDefaults:{},temporary:K(),history:[],historyIndex:-1,visitCounts:Rs(),renderCounts:Rs(),knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:n=>{let r=!1;e(e=>{e.maxHistory=Math.max(1,Math.round(n)),r=Iy(e)}),r&&Fy(t)},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=fb(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=fb(t)})},init:(n,r={},i={})=>{let a=n.passagesById.get(n.startNode);if(!a)throw Error(`spindle: Start passage (pid=${n.startNode}) not found.`);let o=Uy(r);e(e=>{e.storyData=n,e.playthroughId=``,e.variableDefaults=r,e.transientDefaults=i,Wy(e,a.name,o,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name)}),wy=t().variables,ob(),$y(s_(n.ifid).then(({id:t,knownSaves:n})=>(e(e=>{e.knownSaves=n}),t)).catch(e=>(console.error(`spindle: failed to init save system`,e),``)))},navigate:n=>{if(Ly){Ry.push(n);return}let{storyData:r}=t();if(!r)return;if(xy.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){let e=_y(n,t().currentPassage);console.error(`spindle: ${e.message}`),gy(Py,e);return}let i=t().currentPassage;Bg(`beforenavigate`,n);let a=Ty(wy,t().variables);e(e=>{e.temporary=K(),e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),Cy.length=e.historyIndex,jy.length>e.historyIndex+1&&(jy.length=e.historyIndex+1),Cy.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:ys()}),e.historyIndex=e.history.length-1,Iy(e),e.visitCounts=Rs(e.visitCounts,n),e.renderCounts=Rs(e.renderCounts,n)}),zy={navigationId:t().navigationId,variables:t().variables},Ly=!0;try{Zv()}finally{Ly=!1}let o=Ry;Ry=[],By(t,e),Fy(t,()=>{Bg(`afternavigate`,n,i);for(let e of o)t().navigate(e)})},goBack:()=>Gy(t,e,-1),goForward:()=>Gy(t,e,1),setVariable:(t,n)=>{e(e=>{Ds(t,`$${t}`),e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{Ds(t,`_${t}`),e.temporary[t]=n})},deleteVariable:t=>{e(e=>{Ds(t,`$${t}`),delete e.variables[t]})},deleteTemporary:t=>{e(e=>{Ds(t,`_${t}`),delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{Ds(t,`%${t}`),e.transient[t]=n})},deleteTransient:t=>{e(e=>{Ds(t,`%${t}`),delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts=Rs(e.renderCounts,t)})},restart:()=>{let{storyData:n,variableDefaults:r,transientDefaults:i}=t();if(!n)return;let a=n.passagesById.get(n.startNode);if(!a)return;e(e=>{e.renderDeferred=!1}),Bg(`beforerestart`),tb(n.ifid),ob();let o=t().renderDeferred;db(),_s(),ey();let s=Uy(r);e(e=>{Wy(e,a.name,s,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name),o||(e.renderDeferred=!1)}),wy=t().variables,ub(),ov(),K_(n.ifid),Bg(`storyinit`),Ky()},save:(n,r)=>{let{storyData:i}=t();if(!i)return Promise.resolve();let a=Zy();return Tb(c_(n,r,t().beginSave,async t=>{e(e=>{e.saveError=null}),await P_(i.ifid,a,t,n,r),Eb(e,n,!0)}),`spindle: failed to save`,t=>e(e=>{e.saveError=nl(t,`Failed to save`)}))},load:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();e(e=>{e.loadError=null});let i=Zy(),a=I_(r.ifid,n),o=$y(Promise.all([i,a.catch(()=>void 0)]).then(([e,t])=>t?.playthroughId||e)),s=++rb;return Tb(a.then(async e=>{await o,e&&(ib>s||(ab=s,t().loadFromPayload(e.payload,n)))}),`spindle: failed to load save`,t=>e(e=>{e.loadError=nl(t,`Failed to load`)}))},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?G(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?z_(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?V_(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Tb(H_(r.ifid,n).then(()=>Eb(e,n,!1)),`spindle: failed to delete save`):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await Z_(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);let a=await Q_(n,i.ifid,r);return Eb(e,r,!0),a},clearGameData:()=>{let{storyData:n}=t();return n?Db(t,e,ev(n.ifid),`spindle: failed to clear game data`):Promise.resolve()},clearAllData:()=>Db(t,e,tv(),`spindle: failed to clear all data`),deletePlaythrough:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();let i=r.ifid,a=Xy(),o=qy,s=bt(),c=rv(i,n,{current:a||o,id:s});return n!==``&&n===a?eb(s,c):a===``&&$y(c.then(e=>e?s:o,()=>o)),Tb(c.then(async()=>{let t=await L_(r.ifid);e(e=>{e.knownSaves=t})}),`spindle: failed to delete playthrough`)},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[];return Oy(r.length,(e,t)=>{let n=Vy(e);s.push(ky(r[t],t===0?n:cg(s[t-1].variables,n)))}),{passage:e,variables:cg(s[i]?.variables,Vy(n)),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:ys()}},beginSave:()=>{let e=t().variables;return()=>{let n=t().getSavePayload();return mb(n,e,t().variables),n}},loadFromPayload:(n,r,i)=>{let a=ab??++rb;if(ab=null,n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}ib=a,Bg(`beforeload`,r);let o=t().storyData?.ifid;i&&o&&nb(o,i);let s=pb(n),c=ig(n.history.map(e=>e.variables)).map(e=>K(e));Sy=ig(c[0]),Cy=c.slice(1).map((e,t)=>Ty(c[t],e)),jy=n.history.map((e,t)=>ky(e,c[t])),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=K(ig(s?.variables??n.variables)),e.history=n.history.map(e=>({passage:e.passage,timestamp:e.timestamp,prng:e.prng})),e.historyIndex=Math.max(0,Math.min(n.historyIndex,e.history.length-1)),Iy(e),e.visitCounts=Rs(n.visitCounts),e.renderCounts=Rs(n.renderCounts),e.temporary=K(),e.transient=K(ig(t().transientDefaults))}),$v(),wy=Ay(t().historyIndex),_b(s?.prng===void 0?n.prng:s.prng),Fy(t,()=>vs(()=>Bg(`afterload`,r)))},getHistoryVariables:e=>ig(Ay(e)),setTransition:t=>{e(e=>{e.transitionConfig=t})},setNextTransition:t=>{e(e=>{e.nextTransition=t})},consumeNextTransition:()=>{let n=t().nextTransition;return n!==null&&e(e=>{e.nextTransition=null}),n},deferRender:()=>{e(e=>{e.renderDeferred=!0})},clearDeferredRender:()=>{e(e=>{e.renderDeferred=!1})}}))),Ob=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function kb(){let{storyData:e}=is(`storyData`),t=e?.passages.get(`StoryInterface`),n=t===void 0?Ob:t.content,r=t?.tags.includes(`nobr`)??!1,i=Pe(()=>{try{return q(S,{children:Cp(Zo(n))})}catch(e){return q(`span`,{class:`error`,children:[`Error in StoryInterface: `,nl(e)]})}},[n]);return r?q(If.Provider,{value:!0,children:i}):i}var Ab=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type=\"hidden\"])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`[contenteditable=\"true\"]`,`[tabindex]:not([tabindex=\"-1\"])`].join(`,`);function jb(e){return Array.from(e.querySelectorAll(Ab)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`))}var Mb=[];function Nb(e,t,n,r){Ne(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Mb.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??jb(a)[0]??n).focus(),()=>{let e=Mb.indexOf(i);e!==-1&&Mb.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ne(()=>{let t=e.current;if(!t)return;let i=e=>{if(Mb[Mb.length-1]?.panel!==t)return;if(e.key===`Escape`){if(!n)return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key!==`Tab`)return;let i=jb(t),a=i[0],o=i[i.length-1],s=document.activeElement,c=s!==t&&t.contains(s);!a||!o?(e.preventDefault(),t.focus()):e.shiftKey&&(s===a||!c)?(e.preventDefault(),o.focus()):!e.shiftKey&&(s===o||!c)&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)},[n,r])}var Pb=_e(null);function Fb({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=j(r);o.current=r;let s=Fe(()=>o.current(),[]),{storyData:c}=is(`storyData`),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=Pe(()=>{if(!u)return q(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=jp(Zo(u),d?{nobr:!0}:void 0);return d?q(If.Provider,{value:!0,children:e}):e}catch(e){return q(`div`,{class:`error`,children:[`Error in dialog: `,nl(e)]})}},[u,d]),p=j(null);Nb(p,`.dialog-body`,i,s),Ne(()=>cy(s),[s]),Ne(()=>{p.current&&Vg(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return q(Pb.Provider,{value:s,children:q(`div`,{class:`dialog-overlay`,onClick:m,children:q(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&q(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),q(`div`,{class:`dialog-body`,children:f})]})})})}function Ib(){let[e,t]=Ae([]),n=j(e);n.current=e;let r=Fe(e=>{t(t=>[...t,e])},[]),i=Fe(()=>{t(e=>e.slice(0,-1))},[]),a=Fe(()=>{t([])},[]);return Me(()=>oy({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),Me(()=>ty(()=>{let e=[];for(;ry()>0;){let t=ny();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:q(S,{children:e.map((e,t)=>q(Fb,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function Lb(){let[e,t]=Ae(yy);return Me(()=>(t(yy()),by(()=>t(yy()))),[]),e.length===0?null:q(`div`,{class:`spindle-error-banners`,children:e.map(e=>q(`div`,{class:`spindle-error-banner`,role:`alert`,children:[q(`span`,{class:`spindle-error-banner-context`,children:e.context}),` `,q(`span`,{class:`spindle-error-banner-message`,children:e.message}),e.count>1&&q(`span`,{class:`spindle-error-banner-count`,children:` (×${e.count})`}),q(`button`,{type:`button`,class:`spindle-error-banner-dismiss`,\"aria-label\":`Dismiss`,onClick:()=>vy(e.id),children:`✕`})]},e.id))})}function Rb(){let{storyData:e,currentPassage:t,nobr:n}=is(`storyData`,`currentPassage`,`nobr`);if(Me(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n,save:r,load:i}=Q.getState();t!==null&&e.key===t?(e.preventDefault(),r()):n!==null&&e.key===n&&(e.preventDefault(),i())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]),!e||!t)return q(`div`,{class:`loading`,children:`Loading...`});let r=q(S,{children:[q(kb,{}),q(Ib,{}),q(Lb,{})]});return n?q(If.Provider,{value:!0,children:r}):r}var zb=`http://www.w3.org/1999/xhtml`,Bb=new Set([`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`embed`,`frame`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Vb(e){let t=``;for(let n of Array.from(e.childNodes))n.nodeType===Node.TEXT_NODE?t+=n.data:n.nodeType===Node.COMMENT_NODE?t+=`\\x3C!--${n.data}-->`:n.nodeType===Node.ELEMENT_NODE&&(t+=Hb(n));return t}function Hb(e){let t=e.localName,n=`<${t}`;for(let t of Array.from(e.attributes))n+=` ${t.name}=${Ub(t.name,t.value)}`;if(n+=`>`,e.namespaceURI===zb&&Bb.has(t))return n;let r=t===`template`?e.content:e;return`${n}${Vb(r)}</${t}>`}function Ub(e,t){let n=Wo(e),r=n?`on`:`a`;return[`\"${t}\"`,`'${t}'`].find(e=>{let t;try{t=Qo(`<i ${r}=${e}>`)}catch(e){if(e instanceof Jo)return!1;throw e}let n=t[0];return t.length===1&&n?.type===`html`&&n.attributes[r]===e.slice(1,-1)})??`\"${Wb(t,n)}\"`}function Wb(e,t){let n=e=>e.replace(/\"/g,`&quot;`);if(t)return Go(e).map(e=>`text`in e?n(e.text):`expr`in e?`{${e.expr}}`:e.verbatim).join(``);let r;try{r=Qo(e,{text:!0})}catch(t){if(t instanceof Jo)return n(e);throw t}return r.map(t=>{let r=e.slice(t.start,t.end);return t.type===`text`?n(r):r}).join(``)}function Gb(){let e=document.querySelector(`tw-storydata`);if(!e)throw Error(`spindle: No <tw-storydata> element found in the document.`);let t=e.getAttribute(`name`)||`Untitled`,n=parseInt(e.getAttribute(`startnode`)||`1`,10),r=e.getAttribute(`ifid`)||``,i=e.getAttribute(`format`)||``,a=e.getAttribute(`format-version`)||``,o=e.querySelector(`[type=\"text/twine-css\"]`)?.textContent||``,s=e.querySelector(`[type=\"text/twine-javascript\"]`)?.textContent||``,c=new Map,l=new Map;for(let t of e.querySelectorAll(`tw-passagedata`)){let e=parseInt(t.getAttribute(`pid`)||`0`,10),n=t.getAttribute(`name`)||``,r=(t.getAttribute(`tags`)||``).split(/\\s+/).filter(e=>e.length>0),i=Vb(t),a={},o=new Set([`pid`,`name`,`tags`]);for(let e of t.attributes)o.has(e.name)||(a[e.name]=e.value);let s={pid:e,name:n,tags:r,metadata:a,content:i};c.set(n,s),l.set(e,s)}return{name:t,startNode:n,ifid:r,format:i,formatVersion:a,passages:c,passagesById:l,userCSS:o,userScript:s}}var Kb=new Map,qb=K(),Jb=!1,Yb=null;function Xb(){return`spindle.${Q.getState().storyData?.ifid||`unknown`}.settings`}function Zb(){localStorage.setItem(Xb(),JSON.stringify(qb))}function Qb(){if(!Jb){if(!Q.getState().storyData?.ifid){Yb||(Yb=Q.subscribe(e=>{e.storyData?.ifid&&(Yb?.(),Yb=null,Qb())}));return}Jb=!0;try{let e=localStorage.getItem(Xb());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(qb=K(qb,t))}}catch{}}}function $b(e,t){Kb.set(e,t),G(qb,e)||(qb[e]=t.config.default),Qb()}function ex(e,t){let n=Os(qb,e);return typeof n==typeof t?n:t}var tx={addToggle(e,t){$b(e,{type:`toggle`,config:t})},addList(e,t){$b(e,{type:`list`,config:t})},addRange(e,t){$b(e,{type:`range`,config:t})},get(e){return Os(qb,e)},getToggle(e){return ex(e,!1)},getList(e){return ex(e,``)},getRange(e){return ex(e,0)},set(e,t){qb[e]=t,Zb()},getAll(){return{...qb}},getDefinitions(){return Kb},hasAny(){return Kb.size>0}},nx=[`target`,`variable`,`options`,`value`,`disabled`],rx=new Map,ix=new Map;function ax(e,t,n){if(n)return n;let r=`${e}:${t}`,i=ix.get(r)??0,a;do i++,a=i===1?r:`${r}:${i}`;while(rx.has(a));return ix.set(r,i),a}function ox(e){let t=e.id,n={action:e},r=rx.get(t);return r?(console.warn(`spindle: two mounted controls share the action ID \"${t}\"; Story.getActions() lists only the newer one.`),r.push(n)):rx.set(t,[n]),dx(),{update(e){let r=rx.get(t);r?.includes(n)&&(n.action=e,r[r.length-1]===n&&dx())},unregister(){let e=rx.get(t),r=e?e.indexOf(n):-1;!e||r===-1||(e.splice(r,1),e.length===0&&rx.delete(t),r===e.length&&dx())}}}function sx(){return Array.from(rx.values(),lx)}function cx(e){let t=rx.get(e);return t&&lx(t)}function lx(e){return e[e.length-1].action}function ux(){ix.clear()}function dx(){Bg(`actionsChanged`)}function fx(e){let t=j(``),n=j(e.perform);n.current=e.perform,t.current||(t.current=ax(e.type,e.key,e.authorId));let r=t.current,i=()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};for(let n of nx)e[n]!==void 0&&Object.assign(t,{[n]:e[n]});return t},a=j(null);Ne(()=>{let e=ox(i());return a.current=e,()=>e.unregister()},[r]);let o=j(!1);return Ne(()=>{if(!o.current){o.current=!0;return}a.current?.update(i())},[e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function px(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function mx(e){let t=e.trim();return t.endsWith(`ms`)?parseFloat(t.slice(0,-2)):t.endsWith(`s`)?parseFloat(t.slice(0,-1))*1e3:parseFloat(t)}function hx(e){let t=[],n=0;for(let r of[...Fc(e,Ec),e.length])r>n&&t.push([n,r]),n=r+1;return t}var gx=(e,[t,n])=>e.slice(t,n);function _x(e){return jc(e)??Mc(e)}var vx=class extends Error{constructor(e,t){super(`The ${e.name} must be a quoted string (\"…\" or '…'), ${t?`not ${t}`:`but it has no value`}`),this.name=`MacroArgumentError`}};function yx(e,t,n){switch(n.spans?.set(e,[n.at,n.at+t.length]),e.type){case`string`:{let n=jc(t);if(n===null)throw new vx(e,t);return n}case`text`:return _x(t);case`names`:return t.split(`,`).map(e=>e.trim());case`delay`:return mx(t);case`number`:return Number(t);case`options`:return Tx(e.parameters??[],t,n);default:return t}}function bx(e){return e.type===`flag`||e.type===`separator`?!1:e.type===`options`?{}:void 0}var xx=/\\w+/y,Sx=/[-+]?(?:\\d+\\.?\\d*|\\.\\d+)/y,Cx=/\\S+/y;function wx(e,t,n){return e.lastIndex=n,e.exec(t)?.[0]??null}function Tx(e,t,{at:n,spans:r}){let i={},a=0;for(;a<t.length;){let o=wx(xx,t,a);if(!o){a=Ac(t,a)?.end??a+1;continue}a+=o.length;let s,c=a;for(;c<t.length&&Ec(t[c]);)c++;let l=Ac(t,c),u=l||c===a?null:wx(Sx,t,c);l?(s=l.value,a=l.end):u&&(s=u,a=c+u.length);let d=e.find(e=>e.name===o);if(d&&d.type!==`flag`&&s!==void 0&&r?.set(d,[n+c,n+a]),d?.type===`string`&&!l)throw new vx(d,wx(Cx,t,c)??``);d?.type===`flag`?i[o]=!0:d?.type===`number`?i[o]=Number(s??0):d&&(i[o]=s)}return i}var Ex=/^(?:[-+*/&|^=<>?:,.]|%(?![A-Za-z_]))/;function Dx(e,t){let n=hx(e);if(n.length<2)return null;if(gx(e,n[n.length-1])===t){let t=[0,n[n.length-2][1]];if(!Pc(gx(e,t)))return t}if(gx(e,n[0])===t){let t=[n[1][0],e.length];if(!Ex.test(gx(e,t)))return t}return null}function Ox(e,t){if(t===`=`){let t=Fc(e,e=>e===`=`);for(let n=0;n<t.length;n++){let r=t[n];if(e[r+1]===`=`){n++;continue}if(e[r-1]!==`!`)return[r,r+1]}return null}let n=hx(e);for(let r=1;r<n.length-1;r++)if(gx(e,n[r])===t)return[n[r-1][1],n[r+1][0]];return null}var kx=e=>e.type===`expression`||e.type===`statements`||e.type===`passage`||e.type===`text`;function Ax(e,t){let n=e.trim();return[n,n?t+e.indexOf(n):t]}function jx(e,t,n,{at:r,spans:i}){let[a,o]=Ax(t??``,r);for(let r of e.filter(e=>e.type===`flag`)){let e=t===null?null:Dx(a,r.name);n[r.name]=e!==null,e&&([a,o]=Ax(gx(a,e),o+e[0]))}let s=e.filter(e=>e.type!==`flag`);if(s.length===0)return;let c=s.findIndex((e,t)=>kx(e)&&!s.slice(t+1).some(kx)),l=c<0?s.length-1:c,u=(e,[t,n])=>t===n?bx(e):yx(e,a.slice(t,n),{at:o+t,spans:i});if(s.length===1){n[s[0].name]=u(s[0],[0,a.length]);return}let d=hx(a),f=0,p=d.length;for(let e of s.slice(0,l))n[e.name]=f<p?u(e,d[f++]):bx(e);let m=(e,t)=>{try{return u(e,t)}catch(e){if(e instanceof vx)return;throw e}};for(let e of s.slice(l+1).reverse()){let t=f<p&&!Pc(a.slice(0,d[p-1][0]))?m(e,d[p-1]):void 0;n[e.name]=t??bx(e),t===void 0?i?.delete(e):p--}let h=s[l];n[h.name]=f<p?u(h,[d[f][0],d[p-1][1]]):bx(h)}var Mx={name:`delay`,type:`delay`,required:!0};function Nx(e,t,n){let r={},[i,a]=Ax(e,0),o=0;return t.forEach((e,s)=>{if(e.type!==`separator`)return;let c=i===null?null:Ox(i,e.name);r[e.name]=c!==null;let l=c?i.slice(0,c[0]):i;jx(t.slice(o,s),l,r,{at:a,spans:n}),i=c?i.slice(c[1]):null,c&&(a+=c[1]),o=s+1}),jx(t.slice(o),i,r,{at:a,spans:n}),r}function Px(e){let t=e.trim(),n=Fo(t);return n===null?{kind:`expression`,expression:t}:{kind:`name`,name:n}}function Fx(e,t,{storyData:n,currentPassage:r}){let i=String(t(e??``));if(n&&!n.passages.has(i))throw _y(i,r);return i}function Ix(e){let t=e.trim(),n=hx(t)[0];return n?gx(t,n):``}function Lx(e){let{variable:t=``,placeholder:n=``}=Nx(e,[{name:`variable`,type:`variable`},{name:`placeholder`,type:`string`}]);return{varName:t.replace(/[\"']/g,``),placeholder:n}}var Rx=[{name:`value`,type:`string`,holds:`text`,required:!0}],zx=new Map([[`option`,Rx]]);function Bx(e){return zx.get(e.toLowerCase())}function Vx(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let{value:e}=Nx(n.rawArgs,Rx);t.push(e??``)}return t}function Hx(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var Ux={useState:Ae,useRef:j,useEffect:Me,useLayoutEffect:Ne,useCallback:Fe,useMemo:Pe,useContext:Ie};function $(e,t=`builtin`){let n=e.parameters??[];_c(e.name,n);function r(t){let r=t.className,i=t.id,a;e.interpolate&&(a=il(),r=a(r),i=a(i));let{update:o,getValues:s}=Ie(Ff),c=ll(),l=(e,t)=>jp(e,{...c,...t}),u;try{u=Nx(t.rawArgs,n)}catch(t){if(t instanceof vx)return b(Af,{macro:e.name,error:t});throw t}let d={args:u,collectText:px,sourceLocation:kf,parseVarArgs:Lx,extractOptions:Vx,h:b,renderNodes:l,renderInlineNodes:Cp,hooks:Ux,useAction:fx,className:r,id:i,resolve:a,cls:Hx(e.name,r),mutate:e=>Fv(e,s(),o),update:o,getValues:s,wrap:e=>Hc(r,i,e)};if(e.merged){d.merged=as();let e=d.merged;d.evaluate=t=>ic(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=Ix(t.rawArgs).replace(/[\"']/g,``);if(n.startsWith(`%`))return b(`span`,{class:`error`},`{${e.name}}: transient variables (%${n.slice(1)}) cannot be bound to input macros`);let r=n.replace(/[\"']/g,``).replace(/^\\$/,``),i=r.split(`.`);if(i.includes(`__proto__`))return b(`span`,{class:`error`},`{${e.name}}: \"$${r}\" cannot be bound: ${Ts} is reserved`);d.varName=r,d.value=Q(e=>qh(e.variables,i)),d.getValue=()=>qh(dv().variables,i),d.setValue=e=>{Nv((t,n)=>{Zh(t.variables,i,n(e),{createMissing:!0})})}}try{return e.render(t,d)}catch(t){if(t instanceof vx)return b(Af,{macro:e.name,error:t});throw t}}sc(e.name,r);let i=e.text;uc(e.name,i&&((e,t)=>i(e,{...t,args:Nx(e.rawArgs,n)})));let a=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(bc(e.name,{name:e.name,block:a,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters&&[...e.parameters],source:t}),e.subMacros)for(let t of e.subMacros)pc(t);a&&Sr(e.name)}var Wx=null;function Gx(e){Wx=e}function Kx(){return Wx}var qx=null,Jx=null;function Yx(){return Jx}var Xx=!1;function Zx(){if(Xx)return;Xx=!0;let e=Q.getState().variables,t=Q.getState().transient;Q.subscribe(n=>{let r={},i=(e,t,n)=>{for(let i of Fs(e,t))r[n+i]={from:Os(e,i),to:Os(t,i)}};i(e,n.variables,``),i(t,n.transient,`%`),e=n.variables,t=n.transient,Object.keys(r).length>0&&Bg(`variableChanged`,r)})}var Qx=null,$x=null,eS=new Set;function tS(e,t=[]){Qx=new Set(e),$x=new Set(t),eS.clear()}function nS(e){let t=e.startsWith(`%`),n=t||e.startsWith(`$`)?e.slice(1):e;return Ds(n.split(`.`)[0],e),{isTransient:t,key:n}}function rS(e,t){let n=e?$x:Qx;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;eS.has(i)||(eS.add(i),console.warn(`spindle: Story.set() wrote ${i}, which is not declared in ${e?`StoryTransients`:`StoryVariables`}. Passages cannot reference it; check the name or declare it.`))}function iS(e,t,n){let{isTransient:r,key:i}=nS(t),a=r?e.transient:e.variables;i.includes(`.`)?Zh(a,i.split(`.`),n):a[i]=n}function aS(e){return((...t)=>Q.getState()[e](...t))}function oS(){return{get(e){let{isTransient:t,key:n}=nS(e),r=uv(),i=r??Q.getState(),a=t?i.transient:i.variables,o=n.includes(`.`)?qh(a,n.split(`.`)):Os(a,n);return r?hv(o):o},set(e,t){let n=typeof e==`string`?[[e,t]]:Object.entries(e);for(let[e]of n){let{isTransient:t,key:n}=nS(e);rS(t,n)}if(n.some(([e])=>e.includes(`.`))){Nv((e,t)=>{for(let[r,i]of n)iS(e,r,t(i))});return}Q.getState().updateVariables(e=>{for(let[t,r]of n)iS(e,t,r)})},goto:aS(`navigate`),back:aS(`goBack`),forward:aS(`goForward`),restart:aS(`restart`),save:aS(`save`),load:aS(`load`),hasSave:aS(`hasSave`),getSaveInfo:aS(`getSaveInfo`),listSaves:aS(`listSaves`),deleteSave:aS(`deleteSave`),exportSave:aS(`exportSave`),importSave:aS(`importSave`),...Zs(()=>Q.getState().visitCounts,()=>Q.getState().renderCounts),get title(){return Q.getState().storyData?.name||``},get passage(){return Q.getState().currentPassage},settings:tx,registerClass(e,t){Em(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return Sc()},saves:{setTitleGenerator(e){Wg(e)}},storage:{async getInfo(){let e=Q.getState().storyData?.ifid;return e?$_(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:Vh()}},async getQuota(){if(typeof navigator<`u`&&navigator.storage?.estimate)try{let e=await navigator.storage.estimate();return{usage:e.usage??0,quota:e.quota??0,estimateSupported:!0}}catch{}return{usage:0,quota:0,estimateSupported:!1}},clearGameData:aS(`clearGameData`),clearAllData:aS(`clearAllData`),deletePlaythrough:aS(`deletePlaythrough`),get backend(){return Vh()}},getActions(){return sx()},performAction(e,t){let n=cx(e);if(!n)throw Error(`spindle: Action \"${e}\" not found.`);if(n.disabled)throw Error(`spindle: Action \"${e}\" is disabled.`);n.perform(t)},on(e,t){e===`variableChanged`&&Zx();let n=Rg(e,t);return lb(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let e=()=>Kx()===Q.getState().navigationId;return Kx()!==null&&!e()&&!Q.getState().renderDeferred&&await new Promise(t=>{let n=Rg(`passagerender`,()=>{e()&&(n(),t())})}),sx()},watch(e,t){return Uv(e,t)},unwatch(e){Gv(e)},openDialog(e,t){iy({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){ly()},closeAllDialogs(){uy()},isDialogOpen(){return dy()},setNobr(e){Q.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Q.getState().setTransition(e)},setNextTransition(e){Q.getState().setNextTransition(e)},deferRender(){Q.getState().deferRender(),Jx=new Promise(e=>{qx=e})},ready(){qx&&(Q.getState().clearDeferredRender(),qx(),qx=null,Jx=null)},random(){return bs()},randomInt(e,t){return xs(e,t)},config:{get maxHistory(){return Q.getState().maxHistory},set maxHistory(e){Q.getState().setMaxHistory(e)},get quickSaveKey(){return Q.getState().quickSaveKey},set quickSaveKey(e){Q.getState().setQuickSaveKey(e)},get quickLoadKey(){return Q.getState().quickLoadKey},set quickLoadKey(e){Q.getState().setQuickLoadKey(e)}},prng:{init(e,t){ms(e,t);let{historyIndex:n}=Q.getState();Q.setState(e=>{let t=e.history[n];t&&(t.prng=ys())})},isEnabled(){return Ss()},get seed(){return Cs()},get pull(){return ws()}}}}function sS(){window.Story=oS()}var cS=null;function lS(e){let t=cS;cS=new Map;try{return e()}finally{cS=t}}function uS(e,t){let n=t[0]+e,r=cS?.get(n);if(r)return r;try{r=go(e,t)}catch(e){if(!(e instanceof so))throw e;r=e}return cS?.set(n,r),r}var dS=new Set([`if`,`elseif`,`case`]),fS=new Set([`dialog`]);function pS(e,t){return e.map(e=>e.parameters?{...e,parameters:pS(e.parameters,t)}:(e.type===`string`||e.type===`text`)&&!e.holds?{...e,holds:t}:e)}function mS(e){let t=new vr;for(let{name:n,parameters:r,interpolate:i}of e)r&&t.set(n,pS(r,hS(i)));return e=>{let n=t.get(e);if(!n){let r=Bx(e);r&&t.set(e,n=pS(r,`text`))}return n}}var hS=e=>e?`markup`:`text`;function gS(e){if(e.type===`expression`||e.type===`passage`)return`expression`;if(e.type===`statements`)return`statements`}function _S(e){if(!(e.type!==`string`&&e.type!==`text`))return e.holds??`markup`}function*vS(e,t,n){let r=(e,n)=>t.findIndex((t,r)=>r>e&&t.type===`macro`&&t.isClose&&t.name.toLowerCase()===n);for(let i=0;i<t.length;i++){let a=t[i];if(a.type===`link`)yield{kind:`passage`,name:a.target,offset:a.targetStart,length:a.targetEnd-a.targetStart,macro:`link`,label:e.slice(a.start,a.end)},a.display.includes(`{`)&&(yield{kind:`text`,text:a.display,offset:bS(e,a.display,a.start),where:`In the label of a link: `});else if(a.type===`expression`)yield{kind:`code`,code:a.expression,offset:a.end-1-a.expression.length,goal:`expression`,label:`{${a.expression}}`};else if(a.type===`html`){let t=a.start;for(let[n,r]of Object.entries(a.attributes)){let i=bS(e,r,t);if(t=i+r.length,!Wo(n)){yield{kind:`text`,text:r,offset:i,where:`In the ${n} attribute of <${a.tag}>: `};continue}let o=0;for(let e of Go(r)){if(!(`expr`in e))continue;let t=bS(r,e.expr,o);o=t+e.expr.length,yield{kind:`code`,code:e.expr,offset:i+t,goal:`expression`,label:`{${e.expr}} in the ${n} attribute of <${a.tag}>`}}}}else if(a.type===`macro`&&!a.isClose){let o=a.name.toLowerCase();if(o===`do`){let n=r(i,o);if(n<0)continue;yield{kind:`code`,code:e.slice(a.end,t[n].start),offset:a.end,goal:`statements`,label:`{do}`},i=n;continue}let s=a.rawArgs;if(fS.has(o)){let n=r(i,o),s=t.slice(i+1,n);if(n>i+1&&s.every(e=>e.type===`text`)){let r=e.slice(a.end,t[n].start),i=r.trim();yield{kind:`passage`,name:i.replace(/^[\"']|[\"']$/g,``),offset:a.end+r.indexOf(i),length:i.length,macro:o,label:e.slice(a.start,a.end)}}}if(!s)continue;let c=`{${a.name} ${s}}`,l=e.slice(a.start,a.end-1),u=a.start+l.trimEnd().length-s.length;if(dS.has(o)){yield{kind:`code`,code:s,offset:u,goal:`expression`,label:c};continue}let d=n(o);d&&(yield*yS(s,u,d,a.name,c))}}}function*yS(e,t,n,r,i){let a,o=new Map;try{a=Nx(e,n,o)}catch(e){if(!(e instanceof vx))throw e;yield{kind:`argument-error`,message:e.message,offset:t,label:i};return}let s=r.toLowerCase();function*c(n,a){for(let l of n){let n=a[l.name];if(l.type===`options`&&l.parameters){yield*c(l.parameters,n??{});continue}let u=o.get(l);if(typeof n!=`string`||!n.trim()||!u)continue;let[d,f]=u,p=e.slice(d,f),m=e=>({kind:`passage`,name:e,offset:t+d,length:f-d,macro:s,label:i}),h=gS(l);if(l.type===`passage`){let e=Px(n);if(e.kind===`name`){yield m(e.name);continue}}if(h){let e={kind:`code`,code:n,offset:t+d,goal:h,label:i};l.type===`passage`&&(e.passage=!0,e.macro=s),yield e;continue}let g=t+d+(n!==p&&/^[\"']/.test(p)?1:0),_=_S(l);_===`expression`||_===`statements`?yield{kind:`code`,code:n,offset:g,goal:_,label:i,inString:!0}:_===`passage`?yield m(n):_===`markup`&&(yield{kind:`text`,text:n,offset:g,where:`In the ${l.name} of {${r}}: `})}}yield*[...c(n,a)].sort((e,t)=>e.offset-t.offset)}function bS(e,t,n){let r=e.indexOf(t,n);if(r>=0)return r;let i=e.indexOf(t);return i>=0?i:n}var xS=[{name:`name`,type:`text`,holds:`text`,required:!0},{name:`parameters`,type:`text`,holds:`text`}];function SS({name:e=``,parameters:t=``}){return{name:e,params:t.split(/\\s+/).filter(e=>e.startsWith(`@`))}}function CS(e){return SS(Nx(e,xS))}var wS=/\\{widget\\s+[\"']?(\\w+)[\"']?[^}]*\\}([\\s\\S]*?)\\{\\/widget\\}/g;function TS(e){let t=[];for(let n of e)if(!(n.name!==`StoryInit`&&!n.tags?.includes(`widget`)))for(let e of n.content.matchAll(wS))/\\{@children\\}/.test(e[2])&&t.push(e[1]);return t}var ES=new Set([`StoryVariables`,`StoryTransients`,`SaveTitle`]),DS=[`script`,`stylesheet`],OS=new Set([`elseif`,`else`,`case`,`default`,`next`]);function kS(e){let t=e.file?` (${e.file}${e.fileLine?`:${e.fileLine}`:``})`:``;return`Passage \"${e.passage}\", line ${e.line}, column ${e.column}${t}: ${e.message}`}function AS(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++)i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+(e[r-1]===t[a-1]?0:1));n=i}return n[t.length]}function jS(e,t,n){let r=e.toLowerCase(),i=``,a=Math.max(2,Math.floor(r.length/3))+1;for(let e of t){let t=AS(r,e.toLowerCase());t<a&&(i=e,a=t)}return i?` Did you mean ${n(i)}?`:``}var MS=` (a passage name is a quoted string or an expression)`,NS=/^[A-Za-z][\\w$]*$/;function PS(e){try{return CS(e).name.toLowerCase()||void 0}catch{return}}function FS(e,t){let n=[],r=t.isBlockMacro?{isBlock:t.isBlockMacro}:void 0,i=(e,t,r)=>{let{line:i,column:a}=Yo(e.content,t),o={passage:e.name,line:i,column:a,message:r},s=e.metadata?.[`data-source-file`];if(s){o.file=s;let t=Number(e.metadata?.[`data-source-line`]);t&&(o.fileLine=t+i)}n.push(o)},a=[],o=new Set,s=new Set;for(let n of e){if(s.add(n.name),ES.has(n.name)||n.tags?.some(e=>DS.includes(e)))continue;let e=!t.only||t.only(n);try{let t=Qo(n.content);for(let e of t){if(e.type!==`macro`||e.isClose||e.name.toLowerCase()!==`widget`)continue;let t=PS(e.rawArgs);t&&o.add(t)}if(!e)continue;Zo(n.content,{hooks:r}),a.push([n,t])}catch(t){if(!(t instanceof Jo))throw t;e&&i(n,t.offset,t.reason)}}let c=[...t.macroNames??[],...o],l=(e,n,r,a)=>{for(let s of n){if(s.type!==`macro`||s.isClose)continue;let n=s.name.toLowerCase();OS.has(n)||o.has(n)||t.isKnownMacro(n)||i(e,r+s.start,`${a}Unknown macro {${s.name}}.${jS(s.name,c,e=>`{${e}}`)}`)}},u=t.parametersOf??(()=>void 0),d=(e,n,a,o,c)=>{l(e,a,o,c);for(let l of vS(n,a,u)){let n=o+l.offset;if(l.kind===`argument-error`){i(e,n,`${c}${l.message} in ${l.label}`);continue}if(l.kind===`passage`){if(t.checkPassageNames!==!1&&!s.has(l.name)){let t=jS(l.name,s,JSON.stringify);i(e,n,`${c}No passage named ${JSON.stringify(l.name)} in ${l.label}.${t}`)}continue}if(l.kind===`code`){let t=uS(l.code,l.goal),r=l.code.trim();if(t instanceof so){let r=t.reasonIn(e.content,n);i(e,n+t.pos,`${c}${r} in ${l.label}`+(l.passage?MS:``))}else l.passage&&NS.test(r)&&i(e,n,`${c}Unquoted passage name in ${l.label}: write ${JSON.stringify(r)}${MS}`);continue}if(l.text.includes(`{`))try{Zo(l.text,{text:!0,hooks:r});let t=Qo(l.text,{text:!0});d(e,l.text,t,n,l.where)}catch(t){if(!(t instanceof Jo))throw t;i(e,n+t.offset,l.where+t.reason)}}};for(let[e,t]of a)lS(()=>d(e,e.content,t,0,``));return n}function IS(e,t){try{return Qo(e,{text:t})}catch(e){if(e instanceof Jo)return[];throw e}}function LS(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var RS=/\\$(\\w+(?:\\.\\w+)*)/y,zS=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,BS=new Set([`number`,`string`,`boolean`]),VS={string:Object(``),number:Object(0),boolean:Object(!1)};function HS(e){if(Array.isArray(e))return{type:`array`};if(typeof e==`object`&&e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,HS(r));return{type:`object`,fields:t}}let t=typeof e;if(!BS.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function US(e,t=`$`){let n=new Map,r=LS(t),i=t===`%`?`StoryTransients`:`StoryVariables`;for(let a of e.split(`\n`)){let e=a.trim();if(!e)continue;let o=e.match(r);if(!o)throw Error(`${i}: Invalid declaration: \"${e}\". Expected: ${t}name = value`);let[,s,c]=o,l=Es(s,t+s);if(l)throw Error(`${i}: ${l}`);let u;try{u=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${nl(e)}`)}let d;try{d=HS(u)}catch(e){throw Error(`${i}: ${nl(e)}`)}n.set(s,{...d,name:s,default:u})}return n}function WS(e,t){let n=e.split(`.`),r=n[0],i=Es(r,`$`+r);if(i)return i;let a=t.get(r);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<n.length;e++){let t=n[e];if(o.type===`array`)return null;let r=VS[o.type];if(r&&t in r){let e=typeof r[t];if(!BS.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${n.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var GS=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`],KS=new Set;function qS(e,t){for(let n of Go(e))`expr`in n&&YS(n.expr,t)}function JS(e,t,n=KS){e.includes(`{`)&&$S(e,IS(e,!0),n,t)}function YS(e,t,n=`expression`){let r=uS(e,n);if(r instanceof so){XS(e,t,n);return}for(let n of r.refs)n.sigil===`$`&&(RS.lastIndex=n.start,t(RS.exec(e)[1]))}function XS(e,t,n){Ao(e,{variable(n,r,i){n===`$`&&(RS.lastIndex=i,t(RS.exec(e)[1]))},literal(){}},n)}function ZS(e,t,n,r){lS(()=>$S(e,IS(e,!1),t,n,r))}function QS(e,t,n){if(e.rawArgs){if(t){let r=[...yS(e.rawArgs,0,t,e.name,``)];if(!r.some(e=>e.kind===`argument-error`)){for(let e of r)e.kind===`code`?YS(e.code,n,e.goal):e.kind===`text`&&JS(e.text,n);return}}YS(e.rawArgs,n)}}function $S(e,t,n,r,i=()=>void 0){for(let a=0;a<t.length;a++){let o=t[a];if(o.type===`variable`)o.scope===`variable`&&o.name&&r(o.name);else if(o.type===`link`)JS(o.display,r);else if(o.type===`expression`)YS(o.expression,r);else if(o.type===`html`)for(let[e,t]of Object.entries(o.attributes))Wo(e)?qS(t,r):JS(t,r,n);else if(o.type===`macro`&&!o.isClose){if(QS(o,i(o.name),r),o.className&&JS(o.className,r),o.id&&JS(o.id,r),n.has(o.name.toLowerCase())){let e=o.rawArgs.trim().split(/\\s+/)[0]??``,t=zS.exec(e);t?r(t[1]):/^[\"'`]/.test(e)||YS(e,r)}if(o.name.toLowerCase()===`do`){let n=a+1;for(;n<t.length;){let e=t[n];if(e.type===`macro`&&e.isClose&&e.name.toLowerCase()===`do`)break;n++}n<t.length&&(YS(e.slice(o.end,t[n].start),r,`statements`),a=n)}}}}function eC(e,t,n=GS,r=xc){let i=[],a=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,o]of e)ES.has(n)||ZS(o.content,a,e=>{let r=WS(e,t);r&&i.push(`Passage \"${n}\": ${r}`)},r);return i}function tC(e){let t=K();for(let[n,r]of e)t[n]=r.default;return t}function nC(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&nC(t.children))return!0;if(t.type===`macro`){if(nC(t.children))return!0;if(t.branches){for(let e of t.branches)if(nC(e.children))return!0}}}return!1}function rC({name:e,params:t},n){let r=nC(n);wc(e,n,t,r),r&&Sr(e)}$({name:`widget`,block:!0,parameters:xS,render({children:e=[]},t){let n,r;try{let e=SS(t.args);for(let t of e.params)Ds(t.slice(1),t);n=e}catch(e){r=e}let{name:i,params:a}=n??{name:``,params:[]},o=JSON.stringify(e),s=a.join(`,`);return t.hooks.useLayoutEffect(()=>{n&&rC(n,e)},[i,o,s]),r?q(Af,{macro:`widget`,error:r}):null}}),$({name:`set`,parameters:[{name:`code`,type:`statements`,required:!0}],render({rawArgs:e},t){return Mf(`set`,e,()=>t.mutate(e))}}),$({name:`print`,parameters:[{name:`expression`,type:`expression`,required:!0}],interpolate:!0,merged:!0,render({rawArgs:e},t){try{return t.wrap(Vc(t.evaluate(e)))}catch(e){return q(Af,{macro:`print`,error:e})}},text({rawArgs:e},t){return Vc(t.evaluate(e))}});var iC=Symbol(`unset`);function aC(e,t){if(!t[`=`])throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`);let{target:n=``,expression:r=``}=t;if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return Ds(n.slice(1),n),{target:n,expr:r}}function oC(e,t,n,r,i,a,o,s){let c=kf(),l;try{let{variables:t,temporary:n,transient:r}=dv();l=ic(e,t,n,i(),r)}catch(e){jf(`computed ${a}`,e,c);return}if(!ag(o.current,l))if(o.current=l,r)try{s(t,l)}catch(e){jf(`computed ${a}`,e,c)}else{let e=Q.getState();n?e.setTemporary(t,l):e.setVariable(t,l)}}$({name:`computed`,merged:!0,parameters:[{name:`target`,type:`variable`,required:!0},{name:`=`,type:`separator`},{name:`expression`,type:`expression`,required:!0}],render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=aC(e,t.args))}catch(e){return q(Af,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(iC),p=()=>oC(s,u,l,c,t.getValues,e,f,d),m=t.hooks.useRef(!1);return m.current||(m.current=!0,p()),t.hooks.useLayoutEffect(p,[n,r,i,a]),null}});function sC(e){if(e.current===void 0||e.max===void 0)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:e.current,maxExpr:e.max,labelMode:e.label??``}}function cC(e,t,n){return n===`none`?null:n===`%`?`${t===0?0:Math.round(e/t*100)}%`:n?`${e} ${n} / ${t} ${n}`:`${e} / ${t}`}$({name:`meter`,interpolate:!0,merged:!0,parameters:[{name:`current`,type:`expression`,required:!0},{name:`max`,type:`expression`,required:!0},{name:`label`,type:`string`,holds:`markup`}],render(e,t){try{let{currentExpr:e,maxExpr:n,labelMode:r}=sC({...t.args,label:t.resolve?.(t.args.label)}),i=Number(t.evaluate(e)),a=Number(t.evaluate(n)),o=a===0?0:Math.max(0,Math.min(100,i/a*100)),s=cC(i,a,r),c=t.cls;return q(`div`,{class:c,id:t.id,children:[q(`div`,{class:`macro-meter-fill`,style:`width: ${o}%`}),s!=null&&q(`span`,{class:`macro-meter-label`,children:s})]})}catch(e){return q(Af,{macro:`meter`,error:e})}}});function lC(e,t){let n=null;for(let r of e)if(r.rawArgs===``)n=r;else if(t(r.rawArgs))return r;return n}function uC(e,t){let n=e.findIndex(e=>e.rawArgs===``);return lC(n<0?e:e.slice(0,n+1),e=>!!t(e))}$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){let n;try{n=uC(e,t.evaluate)}catch(e){return q(Af,{macro:`if`,error:e})}return n?Hc(t.resolve(n.className),t.resolve(n.id),t.renderNodes(n.children)):null},text({branches:e=[]},t){let n=uC(e,t.evaluate);return n?t.renderText(n.children):``}});function dC(e){try{return fC(e,[])}catch{return`<unkeyable>`}}function fC(e,t){switch(typeof e){case`string`:return JSON.stringify(e);case`number`:return Number.isFinite(e)?JSON.stringify(e):String(e);case`boolean`:return String(e);case`bigint`:return`${e}n`;case`undefined`:return`undefined`;case`symbol`:return e.description===void 0?`Symbol()`:`Symbol(${JSON.stringify(e.description)})`;case`function`:return`<function ${JSON.stringify(e.name)}>`}if(e===null)return`null`;let n=e,r=t.indexOf(n);if(r!==-1)return`<cycle ${t.length-r}>`;if(e instanceof Date)return`Date(${e.getTime()})`;if(e instanceof RegExp)return`RegExp(${String(e)})`;t.push(n);try{if(Array.isArray(e))return`[${Array.from(e,e=>fC(e,t)).join(`,`)}]`;if(e instanceof Map)return`Map[${[...e].map(([e,n])=>`[${fC(e,t)},${fC(n,t)}]`).join(`,`)}]`;if(e instanceof Set)return`Set[${[...e].map(e=>fC(e,t)).join(`,`)}]`;let r=n,i=Object.keys(r).map(e=>`${JSON.stringify(e)}:${fC(r[e],t)}`).join(`,`),a=Dm(n);return a===void 0?`{${i}}`:`Class(${JSON.stringify(a)}){${i}}`}finally{t.pop()}}function pC(e,t){if(!t.of)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let[n=``,r=null]=t.variables??[],i=t.list??``;if(!n.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${n}\"`);if(r&&!r.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${r}\"`);return Ds(n.slice(1),n),r&&Ds(r.slice(1),r),{itemVar:n.slice(1),indexVar:r?r.slice(1):null,listExpr:i}}function mC({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){return q(ul,{body:a,parentValues:e,ownKeys:Pe(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i])})}$({name:`for`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`variables`,type:`names`,required:!0},{name:`of`,type:`separator`},{name:`list`,type:`expression`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=Ie(Pf),i,a;try{i=pC(e,n.args);let t=n.evaluate(i.listExpr);if(!Array.isArray(t))return q(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});a=t}catch(e){return q(Af,{macro:`for`,error:e})}let{itemVar:o,indexVar:s}=i,c=a.map((e,n)=>q(mC,{parentValues:r,itemVar:o,itemValue:e,indexVar:s,indexValue:n,children:t},`${n}-${dC(e)}`));return n.wrap(c)},text({rawArgs:e,children:t=[]},n){let{itemVar:r,indexVar:i,listExpr:a}=pC(e,n.args),o=n.evaluate(a);if(!Array.isArray(o))throw Error(`expression did not evaluate to an array`);return o.map((e,a)=>n.renderText(t,{[r]:e,...i?{[i]:a}:void 0})).join(``)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{t.mutate(n)}catch(t){jf(`do`,t,e)}},[]),null}});function hC(e){return new Proxy(K(),{get:(t,n)=>typeof n==`string`?Os(e(),n):void 0,has:(t,n)=>typeof n==`string`&&G(e(),n),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}var gC=_e({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,parameters:[Mx],render({children:e=[]},t){let{useState:n,useEffect:r,useCallback:i}=t.hooks,a=t.args.delay??0,[o,s]=n(0),[c,l]=n(!1),u=i(()=>l(!0),[]);if(r(()=>{if(c)return;let e=setInterval(()=>{s(e=>e+1)},a);return()=>clearInterval(e)},[a,c]),o===0&&!c)return null;let d=q(gC.Provider,{value:{stop:u},children:q(`span`,{children:t.renderNodes(e)},o)});return t.className||t.id?q(`span`,{id:t.id,class:t.cls,children:d}):d}});function _C(){let e=Ie(Ff),{nobr:t,inline:n}=ll(),r=Ie(Hf),i=Ie(gC),a=Ie(Pb),o=o=>{let s=hC(e.getValues),c=document.createElement(`div`);ge(q(Ff.Provider,{value:e,children:q(Pf.Provider,{value:s,children:q(If.Provider,{value:t,children:q(Lf.Provider,{value:n,children:q(Hf.Provider,{value:r,children:q(gC.Provider,{value:i,children:q(Pb.Provider,{value:a,children:jp(o,{nobr:t,inline:n,locals:s})})})})})})})}),c),ge(null,c)};return e=>Mv(()=>o(e))}$({name:`button`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(n.args.label??``)??e,i=_C(),a=()=>i(t);return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),q(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}}),$({name:`link`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`text`,type:`string`,holds:`markup`,required:!0},{name:`passage`,type:`passage`}],render({children:e=[]},t){let n=t.resolve?.(t.args.text??``)??``,r=null,i;if(t.args.passage!==void 0)try{r=Fx(t.args.passage,t.evaluate,Q.getState())}catch(e){i={error:e}}let a=_C(),o=()=>{i||(a(e),r&&Q.getState().navigate(r))};return t.useAction({type:`link`,key:r||n,authorId:t.id,label:n,target:r??void 0,disabled:i?!0:void 0,perform:o}),i?q(Af,{macro:`link`,error:i.error}):q(`a`,{id:t.id,class:t.cls,href:`#`,onClick:e=>{e.preventDefault(),o()},children:n})}});function vC(e,t,n){return lC(t.slice(1),t=>e===n(t))}$({name:`switch`,subMacros:[`case`,`default`],parameters:[{name:`expression`,type:`expression`,required:!0}],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return q(Af,{macro:`switch`,error:e})}let i;try{i=vC(r,t,n.evaluate)}catch(e){return q(Af,{macro:`case`,error:e})}return i&&q(S,{children:n.renderNodes(i.children)})},text({rawArgs:e,branches:t=[]},n){let r=vC(n.evaluate(e),t,n.evaluate);return r?n.renderText(r.children):``}});var yC=[Mx];$({name:`timed`,subMacros:[`next`],interpolate:!0,parameters:yC,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:Nx(e.rawArgs,yC).delay??0,nodes:e.children,className:e.className,id:e.id})),[e]),[o,s]=n(-1);if(r(()=>{if(o>=a.length-1)return;let e=o+1,t=a[e].delay,n=setTimeout(()=>{s(e)},t);return()=>clearTimeout(n)},[o,a]),o<0)return t.wrap(null);let c=a[o];return t.wrap(Hc(t.resolve(c.className),t.resolve(c.id),t.renderNodes(c.nodes)))}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(gC);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,parameters:[Mx],render({children:e=[]},t){let{useState:n,useEffect:r,useRef:i}=t.hooks,a=t.args.delay??0,o=i(null),[s,c]=n(0),[l,u]=n(0),d=i(0);d.current=l,r(()=>{o.current&&c((o.current.textContent||``).length)}),r(()=>{if(s===0||d.current>=s)return;let e=setInterval(()=>{u(t=>t>=s?(clearInterval(e),t):t+1)},a);return()=>clearInterval(e)},[s,a]);let f=l>=s&&s>0,p=[`macro-type`,f?`macro-type-done`:``,t.className||``].filter(Boolean).join(` `);return q(`span`,{id:t.id,class:p,ref:o,style:{clipPath:void 0},children:[q(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:s===0?`hidden`:`visible`,clipPath:s>0&&!f?`inset(0 ${(s-l)/s*100}% 0 0)`:void 0},children:t.renderInlineNodes(e)}),!f&&s>0&&q(`span`,{class:`macro-type-cursor`})]})}}),$({name:`story-title`,render(e,t){let n=Q(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return q(`span`,{id:t.id,class:r,children:n})},text:()=>Q.getState().storyData?.name||``});function bC(e,t){return t?`${e} (${t})`:e}function xC(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=Ae(!1),a=e.setup?.()??{perform:()=>{}},{disabled:o,title:s=e.title}=a,c=n.className?`menubar-button ${n.className}`:`menubar-button`,l=e.dialog?()=>i(!0):e.confirm?()=>{confirm(e.confirm)&&a.perform()}:a.perform;return n.useAction({type:e.actionType,key:e.name,authorId:n.id,label:typeof e.label==`string`?e.label:e.name,disabled:o,perform:e.dialog?()=>i(!0):a.perform}),q(S,{children:[q(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&q(Fb,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}xC({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Q(e=>e.goBack),disabled:!Q(e=>e.historyIndex>0)})}),xC({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Q(e=>e.goForward),disabled:!Q(e=>e.historyIndex<e.history.length-1)})}),xC({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>{let{save:e,quickSaveKey:t}=is(`save`,`quickSaveKey`);return{perform:e,title:bC(`Quick Save`,t)}}}),xC({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let{load:e,hasSave:t,quickLoadKey:n}=is(`load`,`hasSave`,`quickLoadKey`,`knownSaves`);return{perform:()=>e(),disabled:!t(),title:bC(`Quick Load`,n)}}}),xC({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Q(e=>e.restart)})}),xC({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),xC({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!tx.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0},{name:`noclose`,type:`flag`}],render({children:e=[]},t){let[n,r]=t.hooks.useState(!1),{noclose:i}=t.args,a=t.resolve(t.args.label??``),o=t.collectText(e).trim().replace(/^[\"']|[\"']$/g,``);return q(S,{children:[q(`button`,{id:t.id,class:t.cls,onClick:()=>r(!0),children:a}),n&&q(Fb,{passageName:o,onClose:()=>r(!1),showCloseButton:!i})]})}});function SC(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:new Date(e).toLocaleDateString()}function CC(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function wC(){let[e,t]=Ae(`load`),[n,r]=Ae([]),[i,a]=Ae(!0),[o,s]=Ae(null),[c,l]=Ae(()=>new Set),[u,d]=Ae(null),[f,p]=Ae(``),m=j(null),h=j(null),g=Ie(Pb),{storyData:_,playthroughId:v,beginSave:y,loadFromPayload:b}=is(`storyData`,`playthroughId`,`beginSave`,`loadFromPayload`),x=_?.ifid??``,S=Fe(async()=>{x&&(r(await v_(x)),a(!1))},[x]);Me(()=>{S()},[S]),Me(()=>{u&&m.current&&(m.current.focus(),m.current.select())},[u]);let C=j(!0),w=j(),T=j(),E=(e,t=`success`)=>{C.current&&(clearTimeout(w.current),s({text:e,type:t}),w.current=window.setTimeout(()=>s(null),3e3))};Me(()=>(C.current=!0,()=>{C.current=!1,clearTimeout(w.current),clearTimeout(T.current)}),[]);let ee=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async()=>{if(!x)return;let e=Zy();try{await c_(void 0,void 0,y,async t=>{let n=await e;if(!n)throw Error(`No playthrough`);return u_(x,n,t)}),E(`Save created`),await S()}catch{E(`Failed to create save`,`error`)}},te=async e=>{let t=Zy();try{await c_(void 0,void 0,y,async n=>{if(!await f_(e,n,void 0,await t||void 0))throw Error(`Save not found`)}),E(`Save overwritten`),await S()}catch{E(`Failed to overwrite save`,`error`)}},ne=async e=>{try{b(h_(e.payload),void 0,e.meta.playthroughId),E(`Game loaded`),g&&(T.current=window.setTimeout(g,500)),await S()}catch{E(`Failed to load save`,`error`)}},re=async e=>{if(confirm(`Delete this save?`))try{await g_(e);let t=await L_(x);Q.setState(e=>{e.knownSaves=t}),E(`Save deleted`),await S()}catch{E(`Failed to delete save`,`error`)}},ie=e=>{d(e.meta.id),p(e.meta.title)},O=async()=>{if(!(!u||!f.trim()))try{await __(u,f.trim()),d(null),E(`Save renamed`),await S()}catch{E(`Failed to rename`,`error`)}},ae=e=>{e.key===`Enter`?O():e.key===`Escape`&&d(null)},oe=async e=>{try{let t=await J_(e);if(!t)return;let n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`save-${t.save.meta.title.replace(/[^a-z0-9]/gi,`_`)}.json`,i.click(),URL.revokeObjectURL(r),E(`Save exported`)}catch{E(`Failed to export save`,`error`)}},se=()=>{h.current?.click()},ce=async e=>{let t=e.target,n=t.files?.[0];if(n){t.value=``;try{let e=await n.text(),t=JSON.parse(e);if(!gh(t))throw Error(`Invalid save file format`);await X_(t,x),E(`Save imported`),await S()}catch(e){E(nl(e,`Failed to import save`),`error`)}}},le=n.reduce((e,t)=>e+t.saves.length,0);return q(`div`,{class:`save-manager`,children:[q(`div`,{class:`saves-header`,children:q(`div`,{class:`saves-header-left`,children:q(`div`,{class:`saves-mode-toggle`,children:[q(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),q(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),q(`div`,{class:`saves-toolbar`,children:[q(`button`,{class:`saves-toolbar-button`,onClick:se,children:`Import`}),q(`input`,{ref:h,type:`file`,accept:`.json`,style:`display:none`,onChange:ce})]}),q(`div`,{class:`saves-body`,children:[i?q(`div`,{class:`saves-empty`,children:`Loading...`}):le===0&&e===`load`?q(`div`,{class:`saves-empty`,children:`No saves yet`}):n.map(t=>{let n=c.has(t.playthrough.id),r=t.playthrough.id===v;return e===`save`&&!r||e===`load`&&t.saves.length===0&&!r?null:q(`div`,{class:`playthrough-group`,children:[q(`div`,{class:`playthrough-header`,onClick:()=>ee(t.playthrough.id),children:[q(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),q(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),q(`span`,{class:`playthrough-date`,children:CC(t.playthrough.createdAt)})]}),!n&&q(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>q(`div`,{class:`save-slot`,children:[q(`div`,{class:`save-slot-info`,children:[u===t.meta.id?q(`input`,{ref:m,class:`save-rename-input`,value:f,onInput:e=>p(e.target.value),onKeyDown:ae,onBlur:O}):q(`div`,{class:`save-slot-title`,children:t.meta.title}),q(`div`,{class:`save-slot-meta`,children:[q(`span`,{children:t.meta.passage}),q(`span`,{children:SC(t.meta.updatedAt)})]})]}),q(`div`,{class:`save-slot-actions`,children:[e===`save`?q(`button`,{class:`save-slot-action primary`,onClick:()=>te(t.meta.id),children:`Save Here`}):q(`button`,{class:`save-slot-action primary`,onClick:()=>ne(t),children:`Load`}),q(`button`,{class:`save-slot-action`,onClick:()=>ie(t),children:`Rename`}),q(`button`,{class:`save-slot-action`,onClick:()=>oe(t.meta.id),children:`Export`}),q(`button`,{class:`save-slot-action danger`,onClick:()=>re(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===v)&&q(`div`,{class:`playthrough-group`,children:q(`div`,{class:`playthrough-saves`,children:q(`button`,{class:`save-slot-new`,onClick:D,children:`+ New Save`})})})]}),o&&q(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return q(wC,{})}});function TC({name:e,def:t}){let[n,r]=Ae(()=>tx.get(e)),i=t=>{r(t),tx.set(e,t)};switch(t.type){case`toggle`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>q(`option`,{value:e,children:e},e))})]});case`range`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:[t.config.label,`: `,String(n)]}),q(`input`,{type:`range`,min:t.config.min,max:t.config.max,step:t.config.step,value:Number(n),onInput:e=>i(parseFloat(e.target.value))})]})}}function EC(){let e=tx.getDefinitions();return q(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>q(TC,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return q(EC,{})}}),$({name:`include`,interpolate:!0,merged:!0,parameters:[{name:`inline`,type:`flag`},{name:`passage`,type:`passage`,required:!0}],render(e,t){let{storyData:n}=is(`storyData`),{inline:r}=t.args,i=``,a;try{i=Fx(t.args.passage,t.evaluate,Q.getState())}catch(e){a={error:e}}let o=n?.passages.get(i),s=t.hooks.useMemo(()=>o?Zo(o.content):null,[o]),c=!a&&!!o;if(t.hooks.useEffect(()=>{c&&Q.getState().trackRender(i)},[c,i]),!n)return null;if(a)return q(Af,{macro:`include`,error:a.error});if(!o||!s)return null;let l=o.tags.includes(`nobr`),u=r?t.renderInlineNodes(s):t.renderNodes(s,l?{nobr:!0}:void 0);return l?t.wrap(t.h(If.Provider,{value:!0},u)):t.wrap(u)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(If.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))},text:({children:e=[]},t)=>t.renderText(e)}),$({name:`goto`,merged:!0,parameters:[{name:`passage`,type:`passage`,required:!0}],render(e,t){let[n,r]=t.hooks.useState();return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{let e=Q.getState();e.navigate(Fx(t.args.passage,t.evaluate,e))}catch(t){jf(`goto`,t,e),r({error:t})}},[]),n?q(Af,{macro:`goto`,error:n.error}):null}}),$({name:`unset`,parameters:[{name:`variable`,type:`variable`,required:!0}],render({rawArgs:e},t){return Mf(`unset`,e,()=>{let e=Q.getState(),n=t.args.variable??``;if(/^[$_%@][^.]*\\./.test(n))t.mutate(`delete ${n}`);else if(n.startsWith(`$`))e.deleteVariable(n.slice(1));else if(n.startsWith(`_`))e.deleteTemporary(n.slice(1));else if(n.startsWith(`%`))e.deleteTransient(n.slice(1));else if(n.startsWith(`@`))t.update(n.slice(1),void 0);else throw Error(`{unset} expects a variable ($name, _name, %name, or @name), got \"${n}\"`)})}});var DC={name:`variable`,type:`variable`,required:!0};function OC(e,t){return e.useAction({key:`$${e.varName}`,authorId:e.id,variable:e.varName,value:e.value,...t})}function kC(e,t,n=e=>e===void 0?``:String(e)){$({name:e,storeVar:!0,parameters:[DC,{name:`placeholder`,type:`string`,holds:`text`}],render(r,i){let a=i.args.placeholder??``;return OC(i,{type:e,label:a||i.varName,perform:e=>i.setValue(n(e))}),b(t?`input`:`textarea`,{type:t,id:i.id,class:i.cls,value:Vc(i.value),placeholder:a,onInput:e=>i.setValue(n(e.target.value))})}})}kC(`textbox`,`text`),kC(`numberbox`,`number`,e=>e===void 0?0:Number(e)),kC(`textarea`),$({name:`checkbox`,storeVar:!0,parameters:[DC,{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.label??``;return OC(t,{type:`checkbox`,label:n||t.varName||``,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}}),$({name:`radiobutton`,storeVar:!0,parameters:[DC,{name:`value`,type:`text`,holds:`text`,required:!0},{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.value??``,r=t.args.label??``;return OC(t,{type:`radiobutton`,key:`$${t.varName}:${n}`,label:r||n,perform:()=>t.setValue(n)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,parameters:[DC],render({children:e=[]},t){let n=t.extractOptions(e);return OC(t,{type:`listbox`,label:t.varName,options:n,perform:e=>{e!==void 0&&t.setValue(String(e))}}),q(`select`,{id:t.id,class:t.cls,value:Vc(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>q(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,parameters:[DC],render({children:e=[]},t){let n=t.extractOptions(e),r=()=>{if(n.length===0)return;let e=t.getValue(),r=(n.indexOf(String(e))+1)%n.length;t.setValue(n[r])};return OC(t,{type:`cycle`,label:t.value==null?n[0]||``:String(t.value),options:n,perform:e=>{e===void 0?r():t.setValue(e)}}),q(`button`,{id:t.id,class:t.cls,onClick:r,children:t.value==null?n[0]||``:String(t.value)})}}),$({name:`span`,block:!0,render({children:e=[]},t){return t.wrap(t.renderNodes(e))},text:({children:e=[]},t)=>t.renderText(e)});var AC=new WeakMap;function jC(e){let t=AC.get(e);if(t&&t.content===e.content)return t.ast;let n=Zo(e.content);return AC.set(e,{content:e.content,ast:n}),n}function MC(e){return jp(jC(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}function NC(e){if(!e)return null;try{return MC(e)}catch(t){return console.error(`spindle: Error in ${e.name}:`,t),null}}var PC=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function FC({passage:e,dataTransition:t,navigationId:n}){let{storyData:r}=is(`storyData`),i=PC.has(e.name),[a,o]=Ae(!1),s=Pe(()=>{try{return MC(e)}catch(t){return q(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,Of(e),`: `,nl(t)]})}},[e.content,e.name]),c=e=>i?void 0:r?.passages.get(e),l=c(`PassageHeader`),u=c(`PassageFooter`),d=c(`PassageDone`),f=Pe(()=>NC(l),[l?.content]),p=Pe(()=>NC(u),[u?.content]);Me(()=>(d&&o(!0),()=>o(!1)),[e.name]);let m=Pe(()=>a?NC(d):null,[a,d?.content]),h=j(null);Ne(()=>{n!==void 0&&Gx(n),h.current&&Vg(`passagerender`,e.name,h.current)},[e.name,n]);let g=e.tags.includes(`nobr`),_=q(`div`,{ref:h,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[f&&q(`div`,{class:`passage-header`,children:f}),s,p&&q(`div`,{class:`passage-footer`,children:p}),m&&q(`div`,{hidden:!0,children:m})]});return g?q(If.Provider,{value:!0,children:_}):_}var IC=new Set([`none`,`fade`,`fade-through`,`crossfade`]),LC={type:`fade-through`,duration:300,pause:50};function RC(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!IC.has(n))return console.warn(`Unknown transition type: \"${n}\"`),null;let r={type:n};for(let t of e)if(t.startsWith(`duration:`)){let e=Number(t.slice(9));Number.isNaN(e)||(r.duration=e)}else if(t.startsWith(`pause:`)){let e=Number(t.slice(6));Number.isNaN(e)||(r.pause=e)}return r}function zC(e){return{type:e.type,duration:e.duration??LC.duration,pause:e.pause??LC.pause}}function BC(e,t,n){let r=RC(e);return r?zC(r):t?zC(t):n?zC(n):{...LC}}function VC(e,t){let n=e.cloneNode(!0);n.removeAttribute(`id`);let r=n.querySelectorAll(`[id]`);for(let e=0;e<r.length;e++)r[e].removeAttribute(`id`);n.style.pointerEvents=`none`,n.style.userSelect=`none`;let i=n.querySelectorAll(`audio, video`);for(let e=0;e<i.length;e++){let t=i[e];t.pause?.(),t.muted=!0}return n.classList.remove(`passage`),n.classList.add(`passage-snapshot`),n.setAttribute(`data-transition`,t),n}function HC(e,t){e.style.setProperty(`--passage-in-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-out-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-pause`,`${t.pause/1e3}s`)}function UC(e,t){if(!e)return null;HC(e,t);let n=e.querySelector(`.passage`);return n?VC(n,t.type):null}function WC(e){if(!e)return;e.classList.remove(`passage-container--crossfading`);let t=e.querySelectorAll(`.passage-snapshot`);for(let e=0;e<t.length;e++)t[e].remove()}$({name:`passage`,interpolate:!0,render(e,t){let{currentPassage:n,navigationId:r,storyData:i,renderDeferred:a}=is(`currentPassage`,`navigationId`,`storyData`,`renderDeferred`),[o,s]=Ae({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=j(`fade`),d=j(0),f=j(null),p=j([]),m=Fe(()=>{for(let e of p.current)clearTimeout(e);p.current=[],WC(f.current)},[]);Me(()=>m,[m]),Me(()=>{let e=Q.getState(),{history:t,historyIndex:a,transitionConfig:s}=e,h=e.consumeNextTransition(),g=d.current;d.current=t.length;let _=!c,v=t.length===1&&a===0&&g>1,y=t.length>1&&a===t.length-1&&g>1&&Math.abs(t.length-g)>1;if(r===o.id)return;m();let b=i?.passages.get(n);if(!b){u.current=`none`,l(n);return}if(_||v||y){u.current=`fade`,l(n);return}let x=BC(b.tags,h,s);u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&HC(S,x),l(n);return}let C=x.type===`fade-through`||x.type===`crossfade`?UC(S,x):null;if(!S||!C){l(n);return}if(x.type===`fade-through`){S.appendChild(C),l(``);let e=x.duration+x.pause,t=setTimeout(()=>{l(n)},e),r=e+x.duration;p.current=[t,setTimeout(()=>{WC(S)},r)];return}S.classList.add(`passage-container--crossfading`),S.appendChild(C),l(n),p.current=[setTimeout(()=>{WC(S)},x.duration)]},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return q(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return q(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&q(`div`,{hidden:!0,children:MC(g)},`ready-${r}`),q(`div`,{class:`passage-container`,ref:f,children:h&&q(FC,{passage:h,dataTransition:a?`none`:u.current,navigationId:a?void 0:o.id},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,parameters:[{name:`condition`,type:`string`,holds:`expression`,required:!0},{name:`options`,type:`options`,parameters:[{name:`goto`,type:`string`,holds:`passage`},{name:`dialog`,type:`string`,holds:`passage`},{name:`run`,type:`string`,holds:`statements`},{name:`name`,type:`string`,holds:`text`},{name:`priority`,type:`number`},{name:`once`,type:`flag`}]}],render(e,t){let{hooks:n}=t,{condition:r,options:i}=t.args;if(r===void 0)return null;let a=n.useRef(!1);return a.current||(a.current=!0,Wv(r,i)),null}}),$({name:`unwatch`,parameters:[{name:`name`,type:`text`,holds:`text`,required:!0}],render(e,t){let n=t.args.name??``,r=t.hooks.useRef(!1);return r.current||(r.current=!0,Gv(n)),null}});var GC=`*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:#e0e0e0;background-color:#1a1a2e;min-height:100vh;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1.75}tw-storydata{display:none!important}#story{max-width:42em;margin:0 auto;padding:2em 1.5em}.passage-container{position:relative}.passage-container--crossfading{display:grid}.passage-container--crossfading>*{grid-area:1/1}.passage{animation:passage-fade-in var(--passage-in-duration,.3s) ease}.passage[data-transition=none]{animation:none}.passage-snapshot{animation:passage-fade-out var(--passage-out-duration,.3s) ease forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes passage-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes passage-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.passage,.passage-snapshot{animation-duration:10ms!important}}.macro-button{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;font-size:.95em;transition:background .2s,border-color .2s}.macro-button:hover{background:#64b5f640;border-color:#90caf9}.macro-button:active{background:#64b5f659}.error{color:#ef5350;background:#ef53501a;border:1px solid #ef5350;border-radius:4px;padding:1em;font-family:monospace}.spindle-error-banners{z-index:300;flex-direction:column;gap:.5em;width:min(42em,100% - 1.5em);display:flex;position:fixed;top:.75em;left:50%;transform:translate(-50%)}.spindle-error-banner{color:#ffcdd2;background:#2b1a1e;border:1px solid #ef5350;border-radius:4px;padding:.75em 2.75em .75em 1em;font-size:.9em;line-height:1.5;position:relative;box-shadow:0 2px 12px #00000080}.spindle-error-banner-message{color:#ef9a9a;font-family:monospace}.spindle-error-banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1em;position:absolute;top:.5em;right:.5em}.spindle-error-banner-dismiss:hover{color:#fff}.loading{text-align:center;opacity:.6;padding:2em}.story-menubar{z-index:100;background:#16213e;border-bottom:1px solid #ffffff14;align-items:center;gap:.5em;padding:.5em 1.5em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9em;display:flex;position:sticky;top:0}.story-title{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.menubar-button{color:#9e9e9e;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35em .7em;transition:color .2s,background .2s}.menubar-button:hover{color:#e0e0e0;background:#ffffff14}.menubar-button:disabled{opacity:.4;cursor:default}.menubar-button:disabled:hover{color:#9e9e9e;background:0 0}.dialog-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-panel{color:#e0e0e0;background:#16213e;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:relative}.dialog-panel:focus{outline:none}.dialog-saves{max-width:550px}.dialog-settings{max-width:400px}.dialog-close{z-index:1;color:#9e9e9e;cursor:pointer;background:0 0;border:none;padding:.25em;font-size:1.1em;line-height:1;position:absolute;top:.75em;right:.75em}.dialog-close:hover{color:#e0e0e0}.dialog-body{flex:1;min-height:0;overflow-y:auto}.settings-controls{flex-direction:column;gap:1em;padding:1em 1.25em;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:1em;display:flex}.settings-row select,.settings-row input[type=range]{accent-color:#64b5f6}.settings-row select{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.settings-row input[type=checkbox]{accent-color:#64b5f6;width:1.1em;height:1.1em}.save-manager{flex-direction:column;flex:1;min-height:0;display:flex}.saves-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1em 3em 1em 1.25em;font-weight:600;display:flex}.saves-header-left{align-items:center;gap:.75em;display:flex}.saves-mode-toggle{border:1px solid #ffffff26;border-radius:4px;gap:0;display:flex;overflow:hidden}.saves-mode-toggle button{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:none;padding:.3em .8em;font-size:.85em;font-weight:600;transition:background .2s,color .2s}.saves-mode-toggle button.active{color:#64b5f6;background:#64b5f633}.saves-mode-toggle button:hover:not(.active){color:#e0e0e0}.saves-body{flex:1;min-height:0;padding:.75em 1.25em;overflow-y:auto}.saves-empty{text-align:center;opacity:.5;padding:2em 1em;font-size:.9em}.saves-toolbar{border-bottom:1px solid #ffffff14;flex-shrink:0;gap:.5em;padding:.5em 1.25em;display:flex}.saves-toolbar-button{color:#9e9e9e;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:.3em .7em;font-size:.8em;transition:background .2s,color .2s}.saves-toolbar-button:hover{color:#e0e0e0;background:#ffffff1a}.playthrough-group{margin-bottom:.75em}.playthrough-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#9e9e9e;align-items:center;gap:.5em;padding:.4em 0;font-size:.85em;transition:color .2s;display:flex}.playthrough-header:hover{color:#e0e0e0}.playthrough-chevron{font-size:.7em;transition:transform .2s;display:inline-block}.playthrough-chevron.open{transform:rotate(90deg)}.playthrough-label{font-weight:600}.playthrough-date{opacity:.6;font-size:.9em}.playthrough-saves{flex-direction:column;gap:.4em;padding-left:.25em;display:flex}.save-slot{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:.75em;padding:.5em .6em;transition:background .15s;display:flex}.save-slot:hover{background:#ffffff0f}.save-slot-info{flex:1;min-width:0}.save-slot-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;font-weight:500;overflow:hidden}.save-slot-meta{color:#9e9e9e;gap:.75em;font-size:.75em;display:flex}.save-slot-actions{flex-shrink:0;gap:.3em;display:flex}.save-slot-action{color:#9e9e9e;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:.2em .5em;font-size:.75em;transition:color .2s,background .2s}.save-slot-action:hover{color:#e0e0e0;background:#ffffff14}.save-slot-action.primary{color:#64b5f6;border-color:#64b5f64d}.save-slot-action.primary:hover{background:#64b5f626}.save-slot-action.danger:hover{color:#ef5350;background:#ef53501a}.save-slot-new{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:1px dashed #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-top:.25em;padding:.5em;font-size:.8em;transition:color .2s,border-color .2s,background .2s;display:flex}.save-slot-new:hover{color:#64b5f6;background:#64b5f60d;border-color:#64b5f64d}.saves-status{color:#81c784;text-align:center;border-top:1px solid #ffffff14;flex-shrink:0;padding:.5em 1.25em;font-size:.8em}.saves-status.error{color:#ef5350;background:0 0;border:none;border-radius:0;padding:.5em 1.25em;font-family:inherit}.save-rename-input{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #64b5f666;border-radius:3px;width:100%;padding:.15em .4em;font-size:.9em}.save-rename-input:focus{border-color:#64b5f6;outline:none}.macro-link{color:#64b5f6;cursor:pointer;border-bottom:1px solid #64b5f64d;text-decoration:none;transition:color .2s,border-color .2s}.macro-link:hover{color:#90caf9;border-bottom-color:#90caf9}.macro-link:active{color:#42a5f5}.macro-textbox,.macro-numberbox,.macro-textarea{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-textbox:focus,.macro-numberbox:focus,.macro-textarea:focus{border-color:#64b5f6;outline:none}.macro-textarea{resize:vertical;min-height:3em}.macro-checkbox,.macro-radiobutton{cursor:pointer;align-items:center;gap:.3em;display:inline-flex}.macro-checkbox input,.macro-radiobutton input{accent-color:#64b5f6}.macro-listbox{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-cycle{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;transition:background .2s,border-color .2s}.macro-cycle:hover{background:#64b5f640;border-color:#90caf9}.macro-meter{background:#2a2a3e;border:1px solid #444;border-radius:.3em;width:100%;height:1.4em;position:relative;overflow:hidden}.macro-meter-fill{background:#64b5f6;height:100%;transition:width .3s}.macro-meter-label{color:#e0e0e0;text-shadow:0 1px 2px #000c;pointer-events:none;justify-content:center;align-items:center;font-size:.85em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.md{display:contents}.passage p{margin:.6em 0}.passage p:first-child{margin-top:0}.passage p:last-child{margin-bottom:0}.passage h1,.passage h2,.passage h3,.passage h4,.passage h5,.passage h6{color:#f0f0f0;margin:1em 0 .4em;line-height:1.3}.passage h1{font-size:1.8em}.passage h2{font-size:1.5em}.passage h3{font-size:1.25em}.passage h4{font-size:1.1em}.passage h5{font-size:1em}.passage h6{opacity:.8;font-size:.9em}.passage code{background:#ffffff14;border-radius:3px;padding:.15em .35em;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9em}.passage pre{background:#0000004d;border:1px solid #ffffff14;border-radius:6px;margin:.8em 0;padding:1em;overflow-x:auto}.passage pre code{background:0 0;border-radius:0;padding:0;font-size:.85em}.passage blockquote{color:#b0b0b0;border-left:3px solid #64b5f680;margin:.8em 0;padding:.4em 1em}.passage blockquote p{margin:.3em 0}.passage ul,.passage ol{margin:.6em 0;padding-left:1.8em}.passage li{margin:.2em 0}.passage hr{border:none;border-top:1px solid #ffffff1f;margin:1.2em 0}.passage table{border-collapse:collapse;width:100%;margin:.8em 0}.passage th,.passage td{text-align:left;border:1px solid #ffffff1f;padding:.5em .75em}.passage th{background:#ffffff0f;font-weight:600}.passage tr:nth-child(2n){background:#ffffff05}.passage del{opacity:.5}.passage strong{color:#f0f0f0}.macro-type-cursor:after{content:\"█\";color:#64b5f6;animation:.7s step-end infinite type-blink}.macro-type-done .macro-type-cursor:after{display:none}@keyframes type-blink{50%{opacity:0}}`;function KC(e,t){e.innerHTML=``;let n=document.createElement(`div`);n.style.cssText=`font-family:monospace;padding:2rem;max-width:60rem;margin:0 auto`;let r=document.createElement(`h1`);r.style.color=`#c00`,r.textContent=`Story Validation Errors`,n.appendChild(r);let i=document.createElement(`ul`);i.style.cssText=`line-height:1.6`;for(let e of t){let t=document.createElement(`li`);t.textContent=e,i.appendChild(t)}n.appendChild(i),e.appendChild(n)}function qC(e){let t=document.getElementById(`root`);throw t&&KC(t,e),Error(`spindle: ${e.length} validation error(s):\\n${e.join(`\n`)}`)}function JC(e,t){let n=Sc();return FS(e.passages.values(),{isKnownMacro:e=>!!cc(e)||mc(e)||!!Tc(e),macroNames:n.map(e=>e.name),parametersOf:mS(n),only:t}).map(kS)}function YC(){let e=Gb(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=GC,document.head.appendChild(t),sS(),e.userCSS){let t=document.createElement(`style`);t.textContent=e.userCSS,document.head.appendChild(t)}if(e.userScript)try{Function(e.userScript)()}catch(e){console.error(`spindle: Error in story JavaScript:`,e)}document.dispatchEvent(new CustomEvent(`:storystartup`));let n={},r=e.passages.get(`StoryVariables`);if(!r){let e=`Missing StoryVariables passage. Add a :: StoryVariables passage to declare your variables.`,t=document.getElementById(`root`);throw t&&KC(t,[e]),Error(`spindle: ${e}`)}let i=US(r.content),a=Sc().filter(e=>e.storeVar).map(e=>e.name);for(let t of TS(e.passages.values()))Sr(t);let o=eC(e.passages,i,a);o.push(...JC(e,e=>e.name===`StoryInit`));let s={},c=e.passages.get(`StoryTransients`);if(c){let e=US(c.content,`%`);for(let t of e.keys())i.has(t)&&o.push(`StoryTransients: Variable \"${t}\" is already declared in StoryVariables. Names must be unique across scopes.`);s=tC(e)}o.length>0&&qC(o),n=tC(i),tS(Object.keys(n),Object.keys(s)),Q.getState().init(e,n,s),ub(),sv(G_(e.ifid));let l=JC(e,e=>e.name!==`StoryInit`);l.length>0&&qC(l);for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=Zo(t.content);for(let n of e)if(n.type===`macro`&&n.name===`widget`&&n.rawArgs){let e=CS(n.rawArgs);try{rC(e,n.children)}catch(n){console.error(`spindle: widget \"${e.name}\" in passage \"${t.name}\" was not registered: ${nl(n)}`)}}}let u=Q.getState().navigationId;Q.subscribe(e=>{e.navigationId!==u&&(u=e.navigationId,ux())}),Qv();let d=e.passages.get(`StoryInterface`);d&&!d.content.includes(`{passage}`)&&console.warn(`spindle: StoryInterface passage does not contain {passage}. The current passage will not be displayed.`);let f=document.getElementById(`root`);if(!f)throw Error(`spindle: No <div id=\"root\"> element found.`);ge(q(Rb,{}),f);let p=Yx();p?p.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,YC):YC();</script>\n </head>\n <body>\n <div id=\"root\"></div>\n {{STORY_DATA}}\n </body>\n</html>\n"})
1
+ window.storyFormat({"name":"spindle","version":"0.59.8","author":"Rohal12","description":"A Preact-based story format for Twine 2.","image":"","url":"","license":"Unlicense","proofing":false,"source":"<!doctype html>\n<html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\"\n />\n <title>{{STORY_NAME}}</title>\n <link\n id=\"favicon\"\n rel=\"icon\"\n type=\"image/svg+xml\"\n href=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='sg' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='50%25' stop-color='%238b5cf6'/%3E%3Cstop offset='100%25' stop-color='%235b21b6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%237c3aed' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(55,16,16)'/%3E%3Cellipse cx='16' cy='16' rx='13' ry='5' stroke='%238b5cf6' stroke-width='1.8' fill='none' opacity='.85' transform='rotate(-55,16,16)'/%3E%3Cpath d='M16 3Q19.5 9 20.5 16 19.5 23 16 29 12.5 23 11.5 16 12.5 9 16 3Z' fill='url(%23sg)'/%3E%3C/svg%3E\"\n />\n <script type=\"module\" crossorigin>var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel=\"modulepreload\"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n,r,i,a,o,s,c,l,u,d,f,p,m={},h=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function v(e,t){for(var n in t)e[n]=t[n];return e}function y(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function b(e,t,r){var i,a,o,s={};for(o in t)o==`key`?i=t[o]:o==`ref`?a=t[o]:s[o]=t[o];if(arguments.length>2&&(s.children=arguments.length>3?n.call(arguments,2):r),typeof e==`function`&&e.defaultProps!=null)for(o in e.defaultProps)s[o]===void 0&&(s[o]=e.defaultProps[o]);return x(e,s,i,a,null)}function x(e,t,n,a,o){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++i,__i:-1,__u:0};return o==null&&r.vnode!=null&&r.vnode(s),s}function S(e){return e.children}function C(e,t){this.props=e,this.context=t}function w(e,t){if(t==null)return e.__?w(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?w(e):null}function T(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,i=[],a=[],o=v({},t);o.__v=t.__v+1,r.vnode&&r.vnode(o),ce(e.__P,o,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,i,n??w(t),!!(32&t.__u),a),o.__v=t.__v,o.__.__k[o.__i]=o,ue(i,o,a),t.__e=t.__=null,o.__e!=n&&ee(o)}}function ee(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),ee(e)}function E(e){(!e.__d&&(e.__d=!0)&&a.push(e)&&!D.__r++||o!=r.debounceRendering)&&((o=r.debounceRendering)||s)(D)}function D(){try{for(var e,t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,T(e)}finally{a.length=D.__r=0}}function te(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,g,_,v,y,b=r&&r.__k||h,x=t.length;for(c=ne(n,t,b,c,x),d=0;d<x;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&b[p.__i]||m,p.__i=d,v=ce(e,p,f,i,a,o,s,c,l,u),g=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&pe(f.ref,null,p),u.push(p.ref,p.__c||g,p)),_==null&&g!=null&&(_=g),(y=!!(4&p.__u))||f.__k===p.__k?c=re(p,c,e,y):typeof p.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),p.__u&=-7);return n.__e=_,c}function ne(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=x(null,o,null,null,null):_(o)?o=e.__k[a]=x(S,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=O(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=w(s)),me(s,s));return r}function re(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=re(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=w(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function ie(e,t){return t=t||[],e==null||typeof e==`boolean`||(_(e)?e.some(function(e){ie(e,t)}):t.push(e)),t}function O(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function ae(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||g.test(t)?n:n+`px`}function oe(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||ae(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||ae(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(l,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=u,e.addEventListener(t,a?f:d,a)):e.removeEventListener(t,a?f:d,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function se(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=u++;else if(t.t<n.u)return;return n(r.event?r.event(t):t)}}}function ce(e,t,n,i,a,o,s,c,l,u){var d,f,p,m,g,b,x,w,T,ee,E,D,ne,re,ie,O=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),o=[c=t.__e=n.__e]),(d=r.__b)&&d(t);n:if(typeof O==`function`)try{if(w=t.props,T=O.prototype&&O.prototype.render,ee=(d=O.contextType)&&i[d.__c],E=d?ee?ee.props.value:d.__:i,n.__c?x=(f=t.__c=n.__c).__=f.__E:(T?t.__c=f=new O(w,E):(t.__c=f=new C(w,E),f.constructor=O,f.render=he),ee&&ee.sub(f),f.state||(f.state={}),f.__n=i,p=f.__d=!0,f.__h=[],f._sb=[]),T&&f.__s==null&&(f.__s=f.state),T&&O.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=v({},f.__s)),v(f.__s,O.getDerivedStateFromProps(w,f.__s))),m=f.props,g=f.state,f.__v=t,p)T&&O.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),T&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(T&&O.getDerivedStateFromProps==null&&w!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(w,E),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(w,f.__s,E)){t.__v!=n.__v&&(f.props=w,f.state=f.__s,f.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),h.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&s.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(w,f.__s,E),T&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,g,b)})}if(f.context=E,f.props=w,f.__P=e,f.__e=!1,D=r.__r,ne=0,T)f.state=f.__s,f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),h.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,D&&D(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++ne<25);f.state=f.__s,f.getChildContext!=null&&(i=v(v({},i),f.getChildContext())),T&&!p&&f.getSnapshotBeforeUpdate!=null&&(b=f.getSnapshotBeforeUpdate(m,g)),re=d!=null&&d.type===S&&d.key==null?de(d.props.children):d,c=te(e,_(re)?re:[re],t,n,i,a,o,s,c,l,u),f.base=t.__e,t.__u&=-161,f.__h.length&&s.push(f),x&&(f.__E=f.__=null)}catch(e){if(t.__v=null,l||o!=null)if(e.then){for(t.__u|=l?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;o[o.indexOf(c)]=null,t.__e=c}else{for(ie=o.length;ie--;)y(o[ie]);le(t)}else t.__e=n.__e,t.__k=n.__k,e.then||le(t);r.__e(e,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):c=t.__e=fe(n.__e,t,n,i,a,o,s,l,u);return(d=r.diffed)&&d(t),128&t.__u?void 0:c}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function ue(e,t,n){for(var i=0;i<n.length;i++)pe(n[i],n[++i],n[++i]);r.__c&&r.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){r.__e(e,t.__v)}})}function de(e){return typeof e!=`object`||!e||e.__b>0?e:_(e)?e.map(de):v({},e)}function fe(e,t,i,a,o,s,c,l,u){var d,f,p,h,g,v,b,x=i.props||m,S=t.props,C=t.type;if(C==`svg`?o=`http://www.w3.org/2000/svg`:C==`math`?o=`http://www.w3.org/1998/Math/MathML`:o||(o=`http://www.w3.org/1999/xhtml`),s!=null){for(d=0;d<s.length;d++)if((g=s[d])&&`setAttribute`in g==!!C&&(C?g.localName==C:g.nodeType==3)){e=g,s[d]=null;break}}if(e==null){if(C==null)return document.createTextNode(S);e=document.createElementNS(o,C,S.is&&S),l&&(r.__m&&r.__m(t,s),l=!1),s=null}if(C==null)x===S||l&&e.data==S||(e.data=S);else{if(s=s&&n.call(e.childNodes),!l&&s!=null)for(x={},d=0;d<e.attributes.length;d++)x[(g=e.attributes[d]).name]=g.value;for(d in x)g=x[d],d==`dangerouslySetInnerHTML`?p=g:d==`children`||d in S||d==`value`&&`defaultValue`in S||d==`checked`&&`defaultChecked`in S||oe(e,d,null,g,o);for(d in S)g=S[d],d==`children`?h=g:d==`dangerouslySetInnerHTML`?f=g:d==`value`?v=g:d==`checked`?b=g:l&&typeof g!=`function`||x[d]===g||oe(e,d,g,x[d],o);if(f)l||p&&(f.__html==p.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[];else if(p&&(e.innerHTML=``),te(t.type==`template`?e.content:e,_(h)?h:[h],t,i,a,C==`foreignObject`?`http://www.w3.org/1999/xhtml`:o,s,c,s?s[0]:i.__k&&w(i,0),l,u),s!=null)for(d=s.length;d--;)y(s[d]);l||(d=`value`,C==`progress`&&v==null?e.removeAttribute(`value`):v!=null&&(v!==e[d]||C==`progress`&&!v||C==`option`&&v!=x[d])&&oe(e,d,v,x[d],o),d=`checked`,b!=null&&b!=e[d]&&oe(e,d,b,x[d],o))}return e}function pe(e,t,n){try{if(typeof e==`function`){var i=typeof e.__u==`function`;i&&e.__u(),i&&t==null||(e.__u=e(t))}else e.current=t}catch(e){r.__e(e,n)}}function me(e,t,n){var i,a;if(r.unmount&&r.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||pe(i,null,t)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){r.__e(e,t)}i.base=i.__P=null}if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&me(i[a],t,n||typeof e.type!=`function`);n||y(e.__e),e.__c=e.__=e.__e=void 0}function he(e,t,n){return this.constructor(e,n)}function ge(e,t,i){var a,o,s,c;t==document&&(t=document.documentElement),r.__&&r.__(e,t),o=(a=typeof i==`function`)?null:i&&i.__k||t.__k,s=[],c=[],ce(t,e=(!a&&i||t).__k=b(S,null,[e]),o||m,m,t.namespaceURI,!a&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,s,!a&&i?i:o?o.__e:t.firstChild,a,c),ue(s,e,c)}function _e(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,E(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ p++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}n=h.slice,r={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},i=0,C.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=v({},this.state);typeof e==`function`&&(e=e(v({},n),this.props)),e&&v(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),E(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),E(this))},C.prototype.render=S,a=[],s=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},D.__r=0,l=/(PointerCapture)$|Capture$/i,u=0,d=se(!1),f=se(!0),p=0;var ve,k,ye,be,xe=0,Se=[],A=r,Ce=A.__b,we=A.__r,Te=A.diffed,Ee=A.__c,De=A.unmount,Oe=A.__;function ke(e,t){A.__h&&A.__h(k,e,xe||t),xe=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Ae(e){return xe=1,je(Ue,e)}function je(e,t,n){var r=ke(ve++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ue(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=k,!k.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.some(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a&&a.call(this,e,t,n)||o};k.__f=!0;var a=k.shouldComponentUpdate,o=k.componentWillUpdate;k.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},k.shouldComponentUpdate=i}return r.__N||r.__}function Me(e,t){var n=ke(ve++,3);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Ne(e,t){var n=ke(ve++,4);!A.__s&&He(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function j(e){return xe=5,Pe(function(){return{current:e}},[])}function Pe(e,t){var n=ke(ve++,7);return He(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Fe(e,t){return xe=8,Pe(function(){return e},t)}function Ie(e){var t=k.context[e.__c],n=ke(ve++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(k)),t.props.value):e.__}function Le(){for(var e;e=Se.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Be),t.__h.some(Ve),t.__h=[]}catch(n){t.__h=[],A.__e(n,e.__v)}}}A.__b=function(e){k=null,Ce&&Ce(e)},A.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Oe&&Oe(e,t)},A.__r=function(e){we&&we(e),ve=0;var t=(k=e.__c).__H;t&&(ye===k?(t.__h=[],k.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(Be),t.__h.some(Ve),t.__h=[],ve=0)),ye=k},A.diffed=function(e){Te&&Te(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Se.push(t)!==1&&be===A.requestAnimationFrame||((be=A.requestAnimationFrame)||ze)(Le)),t.__H.__.some(function(e){e.u&&(e.__H=e.u),e.u=void 0})),ye=k=null},A.__c=function(e,t){t.some(function(e){try{e.__h.some(Be),e.__h=e.__h.filter(function(e){return!e.__||Ve(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],A.__e(n,e.__v)}}),Ee&&Ee(e,t)},A.unmount=function(e){De&&De(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{Be(e)}catch(e){t=e}}),n.__H=void 0,t&&A.__e(t,n.__v))};var Re=typeof requestAnimationFrame==`function`;function ze(e){var t,n=function(){clearTimeout(r),Re&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Re&&(t=requestAnimationFrame(n))}function Be(e){var t=k,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),k=t}function Ve(e){var t=k;e.__c=e.__(),k=t}function He(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function Ue(e,t){return typeof t==`function`?t(e):t}function We(e,t){for(var n in t)e[n]=t[n];return e}function Ge(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function Ke(e,t){var n=t(),r=Ae({t:{__:n,u:t}}),i=r[0].t,a=r[1];return Ne(function(){i.__=n,i.u=t,qe(i)&&a({t:i})},[e,n,t]),Me(function(){return qe(i)&&a({t:i}),e(function(){qe(i)&&a({t:i})})},[e]),n}function qe(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function Je(e,t){this.props=e,this.context=t}(Je.prototype=new C).isPureReactComponent=!0,Je.prototype.shouldComponentUpdate=function(e,t){return Ge(this.props,e)||Ge(this.state,t)};var Ye=r.__b;r.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ye&&Ye(e)},typeof Symbol<`u`&&Symbol.for;var Xe=r.__e;r.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}Xe(e,t,n,r)};var Ze=r.unmount;function Qe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=We({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Qe(e,t,n)})),e}function $e(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return $e(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function et(){this.__u=0,this.o=null,this.__b=null}function tt(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function nt(){this.i=null,this.l=null}r.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ze&&Ze(e)},(et.prototype=new C).__c=function(e,t){var n=t.__c,r=this;r.o??(r.o=[]),r.o.push(n);var i=tt(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=$e(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},et.prototype.componentWillUnmount=function(){this.o=[]},et.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=Qe(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&b(S,null,e.fallback);return i&&(i.__u&=-33),[b(S,null,t.__a?null:e.children),i]};var rt=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(nt.prototype=new C).__a=function(e){var t=this,n=tt(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),rt(t,e,r)):i()};n?n(a):a()}},nt.prototype.render=function(e){this.i=null,this.l=new Map;var t=ie(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},nt.prototype.componentDidUpdate=nt.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){rt(e,n,t)})};var it=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,at=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ot=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,st=/[A-Z0-9]/g,ct=typeof document<`u`,lt=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};C.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(C.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var ut=r.event;r.event=function(e){return ut&&(e=ut(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var dt={configurable:!0,get:function(){return this.class}},ft=r.vnode;r.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||ct&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||lt(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:ot.test(a)&&(a=s):s=a=`oninput`:i&&at.test(a)?a=a.replace(st,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=ie(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=ie(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,`className`,dt)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=it,ft&&ft(e)};var pt=r.__r;r.__r=function(e){pt&&pt(e),e.__c};var mt=r.diffed;r.diffed=function(e){mt&&mt(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var ht=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},gt=(e=>e?ht(e):ht),_t=e=>e;function vt(e){function t(t=_t){let n=Fe(()=>t(e.getState()),[t]);return Ke(e.subscribe,n)}return Object.assign(t,e)}function yt(){return e=>vt(gt()(e))}function bt(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID();let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`));return[t.slice(0,4).join(``),t.slice(4,6).join(``),t.slice(6,8).join(``),t.slice(8,10).join(``),t.slice(10).join(``)].join(`-`)}var xt=Symbol.for(`immer-nothing`),St=Symbol.for(`immer-draftable`),M=Symbol.for(`immer-state`);function Ct(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wt=Object,Tt=wt.getPrototypeOf,Et=`constructor`,Dt=`prototype`,Ot=`configurable`,kt=`enumerable`,At=`writable`,jt=`value`,Mt=e=>!!e&&!!e[M];function Nt(e){return e?It(e)||Ut(e)||!!e[St]||!!e[Et]?.[St]||Wt(e)||Gt(e):!1}var Pt=wt[Dt][Et].toString(),Ft=new WeakMap;function It(e){if(!e||!Kt(e))return!1;let t=Tt(e);if(t===null||t===wt[Dt])return!0;let n=wt.hasOwnProperty.call(t,Et)&&t[Et];if(n===Object)return!0;if(!qt(n))return!1;let r=Ft.get(n);return r===void 0&&(r=Function.toString.call(n),Ft.set(n,r)),r===Pt}function Lt(e,t,n=!0){Rt(e)===0?(n?Reflect.ownKeys(e):wt.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Rt(e){let t=e[M];return t?t.type_:Ut(e)?1:Wt(e)?2:Gt(e)?3:0}var zt=(e,t,n=Rt(e))=>n===2?e.has(t):wt[Dt].hasOwnProperty.call(e,t),Bt=(e,t,n=Rt(e))=>n===2?e.get(t):e[t],Vt=(e,t,n,r=Rt(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ht(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ut=Array.isArray,Wt=e=>e instanceof Map,Gt=e=>e instanceof Set,Kt=e=>typeof e==`object`,qt=e=>typeof e==`function`,Jt=e=>typeof e==`boolean`;function Yt(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Xt=e=>Kt(e)?e?.[M]:null,Zt=e=>e.copy_||e.base_,Qt=e=>{let t=Xt(e);return t?t.copy_??t.base_:e},$t=e=>e.modified_?e.copy_:e.base_;function en(e,t){if(Wt(e))return new Map(e);if(Gt(e))return new Set(e);if(Ut(e))return Array[Dt].slice.call(e);let n=It(e);if(t===!0||t===`class_only`&&!n){let t=wt.getOwnPropertyDescriptors(e);delete t[M];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[At]===!1&&(a[At]=!0,a[Ot]=!0),(a.get||a.set)&&(t[i]={[Ot]:!0,[At]:!0,[kt]:a[kt],[jt]:e[i]})}return wt.create(Tt(e),t)}else{let t=Tt(e);if(t!==null&&n)return{...e};let r=wt.create(t);return wt.assign(r,e)}}function tn(e,t=!1){return nn(e)||Mt(e)||!Nt(e)?e:(Rt(e)>1&&wt.defineProperties(e,{set:P,add:P,clear:P,delete:P}),wt.freeze(e),t&&Lt(e,(e,t)=>{tn(t,!0)},!1),e)}function N(){Ct(2)}var P={[jt]:N};function nn(e){return e===null||!Kt(e)?!0:wt.isFrozen(e)}var rn=`MapSet`,an=`Patches`,F=`ArrayMethods`,on={};function sn(e){let t=on[e];return t||Ct(0,e),t}var cn=e=>!!on[e];function ln(e,t){on[e]||(on[e]=t)}var un,dn=()=>un,fn=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:cn(rn)?sn(rn):void 0,arrayMethodsPlugin_:cn(F)?sn(F):void 0});function pn(e,t){t&&(e.patchPlugin_=sn(an),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function mn(e){hn(e),e.drafts_.forEach(I),e.drafts_=null}function hn(e){e===un&&(un=e.parent_)}var gn=e=>un=fn(un,e);function I(e){let t=e[M];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function _n(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[M].modified_&&(mn(t),Ct(4)),Nt(e)&&(e=vn(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[M].base_,e,t)}else e=vn(t,n);return yn(t,e,!0),mn(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===xt?void 0:e}function vn(e,t){if(nn(t))return t;let n=t[M];if(!n)return Dn(t,e.handledSet_,e);if(!xn(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Tn(n,e)}return n.copy_}function yn(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&tn(t,n)}function bn(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xn=(e,t)=>e.scope_===t,Sn=[];function Cn(e,t,n,r){let i=Zt(e),a=e.type_;if(r!==void 0&&Bt(i,r,a)===t){Vt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Lt(i,(e,n)=>{if(Mt(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Sn;for(let e of o)Vt(i,e,n,a)}function wn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!xn(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=$t(i);Cn(e,i.draft_??i,a,n),Tn(i,r)})}function Tn(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}bn(e)}}function En(e,t,n){let{scope_:r}=e;if(Mt(n)){let i=n[M];xn(i,r)&&i.callbacks_.push(function(){Fn(e),Cn(e,n,$t(i),t)})}else Nt(n)&&e.callbacks_.push(function(){let i=Zt(e);e.type_===3?i.has(n)&&Dn(n,r.handledSet_,r):Bt(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Dn(Bt(e.copy_,t,e.type_),r.handledSet_,r)})}function Dn(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Mt(e)||t.has(e)||!Nt(e)||nn(e)?e:(t.add(e),Lt(e,(r,i)=>{if(Mt(i)){let t=i[M];xn(t,n)&&(Vt(e,r,$t(t),e.type_),bn(t))}else Nt(i)&&Dn(i,t,n)}),e)}function On(e,t){let n=Ut(e),r={type_:n?1:0,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=kn;n&&(i=[r],a=An);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var kn={get(e,t){if(t===M)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Zt(e);if(!zt(i,t,e.type_))return Mn(e,i,t);let a=i[t];if(e.finalized_||!Nt(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Yt(t))return a;if(a===jn(e.base_,t)){Fn(e);let n=e.type_===1?+t:t,r=Ln(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Zt(e)},ownKeys(e){return Reflect.ownKeys(Zt(e))},set(e,t,n){let r=Nn(Zt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=jn(Zt(e),t),i=r?.[M];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Ht(n,r)&&(n!==void 0||zt(e.base_,t,e.type_)))return!0;Fn(e),Pn(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),En(e,t,n),!0)},deleteProperty(e,t){return Fn(e),jn(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Pn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Zt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[At]:!0,[Ot]:e.type_!==1||t!==`length`,[kt]:r[kt],[jt]:n[t]}},defineProperty(){Ct(11)},getPrototypeOf(e){return Tt(e.base_)},setPrototypeOf(){Ct(12)}},An={};for(let e in kn){let t=kn[e];An[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}An.deleteProperty=function(e,t){return An.set.call(this,e,t,void 0)},An.set=function(e,t,n){return kn.set.call(this,e[0],t,n,e[0])};function jn(e,t){let n=e[M];return(n?Zt(n):e)[t]}function Mn(e,t,n){let r=Nn(t,n);return r?jt in r?r[jt]:r.get?.call(e.draft_):void 0}function Nn(e,t){if(!(t in e))return;let n=Tt(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Tt(n)}}function Pn(e){e.modified_||(e.modified_=!0,e.parent_&&Pn(e.parent_))}function Fn(e){e.copy_||(e.assigned_=new Map,e.copy_=en(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var In=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(qt(e)&&!qt(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}qt(t)||Ct(6),n!==void 0&&!qt(n)&&Ct(7);let r;if(Nt(e)){let i=gn(this),a=Ln(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?mn(i):hn(i)}return pn(i,n),_n(r,i)}else if(!e||!Kt(e)){if(r=t(e),r===void 0&&(r=e),r===xt&&(r=void 0),this.autoFreeze_&&tn(r,!0),n){let t=[],i=[];sn(an).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else Ct(1,e)},this.produceWithPatches=(e,t)=>{if(qt(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Jt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Jt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Jt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Nt(e)||Ct(8),Mt(e)&&(e=Rn(e));let t=gn(this),n=Ln(t,e,void 0);return n[M].isManual_=!0,hn(t),n}finishDraft(e,t){let n=e&&e[M];(!n||!n.isManual_)&&Ct(9);let{scope_:r}=n;return pn(r,t),_n(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=sn(an).applyPatches_;return Mt(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ln(e,t,n,r){let[i,a]=Wt(t)?sn(rn).proxyMap_(t,n):Gt(t)?sn(rn).proxySet_(t,n):On(t,n);return(n?.scope_??dn()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?wn(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Rn(e){return Mt(e)||Ct(10,e),zn(e)}function zn(e){if(!Nt(e)||nn(e))return e;let t=e[M],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=en(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=en(e,!0);return Lt(n,(e,t)=>{Vt(n,e,zn(t))},r),t&&(t.finalized_=!1),n}function Bn(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Xt(Bt(e,n.key_)),i=Bt(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||zt(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=Bt(n,r),!Kt(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[M];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;Lt(e.assigned_,(e,l)=>{let u=Bt(o,e,c),f=Bt(s,e,c),p=l?zt(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===xt?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=Rt(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Et)&&Ct(19),qt(o)&&n===Dt&&Ct(19),o=Bt(o,n),Kt(o)||Ct(18,i.join(`/`))}let s=Rt(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:Ct(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:Ct(17,a)}}),e}function u(e){if(!Nt(e))return e;if(Ut(e))return e.map(u);if(Wt(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(Gt(e))return new Set(Array.from(e).map(u));let t=Object.create(Tt(e));for(let n in e)t[n]=u(e[n]);return zt(e,St)&&(t[St]=e[St]),t}function d(e){return Mt(e)?u(e):e}ln(an,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}function Vn(){class e extends Map{constructor(e,t){super(),this[M]={type_:2,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:e,draft_:this,isManual_:!1,revoked_:!1,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){return Zt(this[M]).has(e)}set(e,t){let r=this[M];return o(r),(!Zt(r).has(e)||Zt(r).get(e)!==t)&&(n(r),Pn(r),r.assigned_.set(e,!0),r.copy_.set(e,t),r.assigned_.set(e,!0),En(r,e,t)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),n(t),Pn(t),t.base_.has(e)?t.assigned_.set(e,!1):t.assigned_.delete(e),t.copy_.delete(e),!0}clear(){let e=this[M];o(e),Zt(e).size&&(n(e),Pn(e),e.assigned_=new Map,Lt(e.base_,t=>{e.assigned_.set(t,!1)}),e.copy_.clear())}forEach(e,t){let n=this[M];Zt(n).forEach((n,r,i)=>{e.call(t,this.get(r),r,this)})}get(e){let t=this[M];o(t);let r=Zt(t).get(e);if(t.finalized_||!Nt(r)||r!==t.base_.get(e))return r;let i=Ln(t.scope_,r,t,e);return n(t),t.copy_.set(e,i),i}keys(){return Zt(this[M]).keys()}values(){let e=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}}entries(){let e=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let t=e.next();if(t.done)return t;let n=this.get(t.value);return{done:!1,value:[t.value,n]}}}}[Symbol.iterator](){return this.entries()}}function t(t,n){let r=new e(t,n);return[r,r[M]]}function n(e){e.copy_||(e.assigned_=new Map,e.copy_=new Map(e.base_))}class r extends Set{constructor(e,t){super(),this[M]={type_:3,parent_:t,scope_:t?t.scope_:dn(),modified_:!1,finalized_:!1,copy_:void 0,base_:e,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1,assigned_:void 0,callbacks_:[]}}get size(){return Zt(this[M]).size}has(e){let t=this[M];return o(t),t.copy_?!!(t.copy_.has(e)||t.drafts_.has(e)&&t.copy_.has(t.drafts_.get(e))):t.base_.has(e)}add(e){let t=this[M];return o(t),this.has(e)||(a(t),Pn(t),t.copy_.add(e),En(t,e,e)),this}delete(e){if(!this.has(e))return!1;let t=this[M];return o(t),a(t),Pn(t),t.copy_.delete(e)||(t.drafts_.has(e)?t.copy_.delete(t.drafts_.get(e)):!1)}clear(){let e=this[M];o(e),Zt(e).size&&(a(e),Pn(e),e.copy_.clear())}values(){let e=this[M];return o(e),a(e),e.copy_.values()}entries(){let e=this[M];return o(e),a(e),e.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(e,t){let n=this.values(),r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}}function i(e,t){let n=new r(e,t);return[n,n[M]]}function a(e){e.copy_||(e.copy_=new Set,e.base_.forEach(t=>{if(Nt(t)){let n=Ln(e.scope_,t,e,t);e.drafts_.set(t,n),e.copy_.add(n)}else e.copy_.add(t)}))}function o(e){e.revoked_&&Ct(3,JSON.stringify(Zt(e)))}function s(e){if(e.type_===3&&e.copy_){let t=new Set(e.copy_);e.copy_.clear(),t.forEach(t=>{e.copy_.add(Qt(t))})}}ln(rn,{proxyMap_:t,proxySet_:i,fixSetContents:s})}var Hn=new In().produce,Un=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t(typeof e==`function`?Hn(e):e,n,...r),e(r.setState,n,r)),Wn={$:`variable`,_:`temporary`,\"@\":`local`,\"%\":`transient`},Gn=Object.fromEntries(Object.entries(Wn).map(([e,t])=>[t,e])),Kn=new Set(Object.keys(Wn));function qn(e){return e!==void 0&&Kn.has(e)}function Jn(e,t){return t.className&&(e.className=t.className),t.id&&(e.id=t.id),e}var Yn={SIGIL_SCOPES:Wn,withSelectors:Jn},Xn=`{`,Zn=`}`,{SIGIL_SCOPES:Qn,withSelectors:$n}=Yn,er=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),tr={elseif:`if`,else:`if`,case:`switch`,default:`switch`,next:`timed`},nr=new Set([`if`,`switch`,`timed`]),rr=[[`|`,!1],[`->`,!1],[`<-`,!0]],ir={};function ar(e,t){let n=(n,r)=>{let i=e.slice(n,r),a=i.trim(),o=t+n+(a?i.indexOf(a):0);return{value:a,start:o,end:o+a.length}};for(let[t,r]of rr){let i=e.indexOf(t);if(i===-1)continue;let a=n(0,i),o=n(i+t.length,e.length),[s,c]=r?[o,a]:[a,o];return{display:s.value,target:c.value,targetStart:c.start,targetEnd:c.end}}let r=n(0,e.length);return{display:r.value,target:r.value,targetStart:r.start,targetEnd:r.end}}function or(e){return`\"`+e.replace(/[\\\\\"]/g,`\\\\$&`)+`\"`}function sr(e){let t=[],n=``;for(let[r,i]of e)i&&(r===`.`?t.push(i):n=i);return $n({},{className:t.join(` `),id:n})}function cr(e){return e.lex===`html`?(e.isClose?`</`:`<`)+e.tag+`>`:Xn+(e.isClose?`/`:``)+e.name+Zn}function lr(e){return e.lex===`html`?`</`+e.tag+`>`:Xn+`/`+e.name+Zn}function ur(e){return`line `+e.start.line+`, column `+e.start.column}function dr(e,t){return e.lex===t.lex&&e.lower===t.lower}function fr(e,t,n){return n.lex=e,n.start=t.start.offset,n.end=t.end.offset,n.loc=t,n}function pr(e){switch(e.lex){case`text`:return{type:`text`,value:e.value};case`link`:return $n({type:`macro`,name:`link`,rawArgs:or(e.display)+` `+or(e.target),children:[]},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope},e);case`expression`:return $n({type:`expression`,expression:e.expression},e);default:return e}}function mr(e){let t={start:e.start,end:e.end};switch(e.lex){case`text`:return{type:`text`,value:e.value,...t};case`link`:return $n({type:`link`,display:e.display,target:e.target,targetStart:e.targetStart,targetEnd:e.targetEnd,...t},e);case`variable`:return $n({type:`variable`,name:e.name,scope:e.scope,...t},e);case`expression`:return $n({type:`expression`,expression:e.expression,...t},e);case`macro`:return $n({type:`macro`,name:e.name,rawArgs:e.rawArgs,isClose:e.isClose,...t},e);case`html`:return{type:`html`,tag:e.tag,attributes:e.attributes,isClose:e.isClose,isSelfClose:e.isSelfClose,...t}}}function hr(e,t){let n=[],r=null,i=e=>{if(e!=null){if(Array.isArray(e))return e.forEach(i);if(e.lex===`text`&&!e.escape&&r&&r.lex===`text`&&!r.escape&&r.end===e.start){r.value+=e.value,r.end=e.end;return}n.push(e),r=e}};return i(e),t?n.map(t):n}var gr=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\\r\\n|\\n|\\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`\n --> `+o+`\n`+r+` |\n`+a.line+` | `+s+`\n`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`\n at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\\\p{C}\\\\p{Mn}\\\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}function o(e){return i(e.replace(/\\\\/g,`\\\\\\\\`).replace(/\\]/g,`\\\\]`).replace(/\\^/g,`\\\\^`).replace(/-/g,`\\\\-`).replace(/\\0/g,`\\\\0`).replace(/\\t/g,`\\\\t`).replace(/\\n/g,`\\\\n`).replace(/\\r/g,`\\\\r`).replace(/[\\x00-\\x0F]/g,e=>`\\\\x0`+n(e)).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,e=>`\\\\x`+n(e)))}let s={literal(e){return`\"`+a(e.text)+`\"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`\"`+a(e)+`\"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function _r(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Markup:yn,Tokens:jn,SelectorsPrefix:Vn},a=yn,o=/^[^\\\\{[<]/,s=/^[{}]/,c=/^[$_@%(!\\/a-zA-Z]/,l=/^[.#]/,u=/^[a-zA-Z0-9_\\-]/,d=/^[$_@%]/,f=/^[a-zA-Z0-9_.]/,p=/^[$_@%(!]/,m=/^[a-zA-Z]/,h=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF}]/,g=/^[\\t-\\r \\/>\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,_=/^[a-zA-Z0-9\\-]/,v=/^[\\t-\\r \"'\\/<->{}\\xA0\\u1680\\u2000-\\u200A\\u2028-\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,y=/^[^\"]/,b=/^[^']/,x=/^[\"']/,S=/^[^ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF>]/,C=/^[ \\t\\n\\r\\v\\f\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]/,w=pn(),T=fn([`\\\\`,`{`,`[`,`<`],!0,!1,!1),ee=dn(`\\\\`,!1),E=fn([`{`,`}`],!1,!1,!1),D=dn(`{`,!1),te=fn([`$`,`_`,`@`,`%`,`(`,`!`,`/`,[`a`,`z`],[`A`,`Z`]],!1,!1,!1),ne=dn(`<`,!1),re=dn(`[`,!1),ie=dn(`[[`,!1),O=dn(`]]`,!1),ae=dn(` `,!1),oe=fn([`.`,`#`],!1,!1,!1),se=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`-`],!1,!1,!1),ce=fn([`$`,`_`,`@`,`%`],!1,!1,!1),le=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`.`],!1,!1,!1),ue=dn(`}`,!1),de=fn([`$`,`_`,`@`,`%`,`(`,`!`],!1,!1,!1),fe=dn(`/`,!1),pe=fn([[`a`,`z`],[`A`,`Z`]],!1,!1,!1),me=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`}`],!0,!1,!1),he=dn(`>`,!1),ge=fn([[`\t`,`\\r`],` `,`/`,`>`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),_e=dn(`</`,!1),ve=fn([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`-`],!1,!1,!1),k=fn([[`\t`,`\\r`],` `,`\"`,`'`,`/`,[`<`,`>`],`{`,`}`,`\\xA0`,` `,[` `,` `],[`\\u2028`,`\\u2029`],` `,` `,` `,``],!1,!1,!1),ye=dn(`=`,!1),be=dn(`\"`,!1),xe=fn([`\"`],!0,!1,!1),Se=dn(`'`,!1),A=fn([`'`],!0,!1,!1),Ce=fn([`\"`,`'`],!1,!1,!1),we=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``,`>`],!0,!1,!1),Te=fn([` `,`\t`,`\n`,`\\r`,`\\v`,`\\f`,`\\xA0`,` `,[` `,` `],`\\u2028`,`\\u2029`,` `,` `,` `,``],!1,!1,!1);function Ee(e){return e}function De(e){Or(cr(e)+` must be directly inside {`+tr[e.lower]+Zn,e.loc)}function Oe(e){Or(cr(e)+` closes nothing: no `+(e.lex===`html`?`<`+e.tag+`>`:Xn+e.name+Zn)+` is open here`,e.loc)}function ke(e){return hr(e,pr)}function Ae(e){return e.kind===`open`}function je(e){return Er=e.lower,Cr.isRaw(Er)}function Me(e,t){return t}function Ne(e){return Cr.isBlock(e.lower)}function j(e,t){return t}function Pe(e){return null}function Fe(e,t){return jr(e,t)}function Ie(){return!Sr}function Le(e){return!e.isSelfClose}function Re(e,t){return t}function ze(e,t){let n={type:`html`,tag:e.tag,attributes:e.attributes,children:[]};return t&&(Ar(e,t),n.children=t.children),n}function Be(e,t,n){return{children:e,branches:t,end:n}}function Ve(e,t){return{tag:e,children:t}}function He(){return null}function Ue(e){return e.kind===`branch`}function We(e){return e}function Ge(e){return e.kind===`close`}function Ke(e){return e}function qe(){return!Sr}function Je(e){return e}function Ye(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function Xe(e){return wr-sn()}function Ze(e,t,n){return{children:t?[{type:`text`,value:t}]:[],branches:[],end:n}}function Qe(){return{children:[],branches:[],end:null}}function $e(e){return hr(e,mr)}function et(){return!Sr}function tt(e){return e}function nt(){return!Sr}function rt(e){return er.has(e.lower)?null:e}function it(e){return Er=e.lower,e.kind===`open`&&Cr.isRaw(Er)}function at(e,t){return t}function ot(e,t){return t?[e,t]:e}function st(t){return Dr(Cr.rawBodyEnd(e,t,Er))}function ct(e){return wr-sn()}function lt(e,t,n){let r={start:{offset:e},end:{offset:e+t.length}};return[t?fr(`text`,r,{value:t}):null,n]}function ut(){return sn()}function dt(e){return fr(`text`,cn(),{value:e})}function ft(e){return e.length%2==1}function pt(e,t){return t}function mt(t,n){let r=cn(),i=e.charAt(r.end.offset);if(Sr){if(!n&&i!==Xn&&i!==Zn)return fr(`text`,r,{value:t});let e=fr(`text`,r,{value:`\\\\`.repeat(t.length>>1)+(n||``)});return e.escape=!0,e}if(!n)return fr(`text`,r,{value:t});let a=fr(`text`,r,{value:t.slice(1)});a.end=r.end.offset-2;let o=fr(`text`,r,{value:n});return o.start=r.end.offset-2,o.escape=!0,t.length>1?[a,o]:o}function ht(){return fr(`text`,cn(),{value:Xn})}function gt(){return!Sr}function _t(){return fr(`text`,cn(),{value:`<`})}function vt(){return fr(`text`,cn(),{value:`[`})}function yt(){return!Sr}function bt(e,t,n){return $n(fr(`link`,cn(),ar(n,t)),e)}function xt(){return!Sr}function St(){Or(`Unclosed link: [[ without ]]`,cn())}function M(e){return sr(e)}function Ct(){return ir}function wt(e,t){return{...e,end:t}}function Tt(e,t){return[e,t]}function Et(e,t,n){return $n(fr(`variable`,cn(),{name:n,scope:Qn[t]}),e)}function Dt(e,t){return $n(fr(`expression`,cn(),{expression:t}),e)}function Ot(){Or(`Unclosed `+Xn+e.substr(cn().end.offset,1)+`…: no } ends it`,cn())}function kt(t){return Dr(Cr.closeBrace(e,t,t))}function At(e){return wr-sn()}function jt(e,t){return t}function Mt(t,n,r,i,a){return Dr(Cr.closeBrace(e,a,n))}function Nt(e,t,n,r,i){return wr-sn()}function Pt(e,t,n,r,i,a){return a}function Ft(e,t,n,r,i,a){let o=cn(),s=r.toLowerCase(),c=fr(`macro`,o,{name:r,lower:s,rawArgs:``,isClose:!!n});return a===null&&Or(`Unclosed `+Xn+(n?`/`:``)+r+`…: no } ends the macro`,o),c.rawArgs=a.trim(),n?(e!==ir&&Or(`A closing tag takes no selectors: `+cr(c),o),c.rawArgs&&Or(`A closing tag takes no arguments: `+Xn+`/`+r+` `+c.rawArgs+Zn,o),c.kind=`close`):($n(c,e),c.kind=Object.prototype.hasOwnProperty.call(tr,s)?`branch`:`open`),c}function It(e){Or(`A closing tag starts with a letter after `+Xn+`/`,cn())}function Lt(){return!Sr}function Rt(e){return er.has(e.lower)}function zt(e){return null}function Bt(e,t,n){let r=e.toLowerCase();return fr(`html`,cn(),{tag:e,lower:r,attributes:kr(t),isClose:!1,isSelfClose:!!n||er.has(r)})}function Vt(t,n){let r=e.charAt(n);r||Or(`Unclosed tag <`+t+`: no > ends it (write &lt; for a < that starts no tag)`,cn());let i={source:cn().source,start:{offset:n,line:0,column:0},end:{offset:n+1,line:0,column:0}};Or(`Unexpected `+JSON.stringify(r)+` in the tag <`+t+`>: expected an attribute, or > to end the tag`,i)}function Ht(e){return fr(`html`,cn(),{tag:e,lower:e.toLowerCase(),attributes:{},isClose:!0,isSelfClose:!1})}function Ut(e){return Tr=Cr.isCodeAttribute(e),!0}function Wt(e,t){return t}function Gt(e,t){return[e,t??``]}function Kt(e){return e}function qt(e){return e}function Jt(e){Or(`Unclosed attribute value: the `+e+` here has no closing `+e,cn())}function Yt(){return!Tr}function Xt(e){return e.length%2==1}function Zt(){return!Tr}function Qt(t,n){return Dr(Cr.closeBrace(e,n,t))}function $t(e,t){return wr-sn()}function en(){return!Tr}function tn(){return Tr}let N=t.peg$currPos|0,P=N,nn=[{line:1,column:1}],rn=N,an=t.peg$maxFailExpected||[],F=t.peg$silentFails|0,on;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule \"`+t.startRule+`\".`);a=i[t.startRule]}function sn(){return P}function cn(){return gn(P,N)}function ln(e,t){throw t=t===void 0?gn(P,N):t,_n(e,t)}function un(t=N){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function dn(e,t){return{type:`literal`,text:e,ignoreCase:t}}function fn(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function pn(){return{type:`any`}}function mn(){return{type:`end`}}function hn(t){let n=nn[t],r;if(n)return n;if(t>=nn.length)r=nn.length-1;else for(r=t;!nn[--r];);for(n=nn[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return nn[t]=n,n}function gn(e,t,n){let i=hn(e),a=hn(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function I(e){N<rn||(N>rn&&(rn=N,an=[]),an.push(e))}function _n(e,t){return new gr(e,null,null,t)}function vn(e,t,n){return new gr(gr.buildMessage(e,t),e,t,n)}function yn(){let e,t,r;return e=N,t=xn(),r=bn(),r===n?(N=e,e=n):(P=e,e=Ee(t)),e}function bn(){let t,r;return t=N,F++,e.length>N?(r=e.charAt(N),N++):(r=n,F===0&&I(w)),F--,r===n?t=void 0:(N=t,t=n),t===n&&(t=N,r=On(),r!==n&&(P=t,r=De(r)),t=r,t===n&&(t=N,r=kn(),r!==n&&(P=t,r=Oe(r)),t=r)),t}function xn(){let e,t,r;for(e=N,t=[],r=Sn();r!==n;)t.push(r),r=Sn();return P=e,t=ke(t),e=t,e}function Sn(){let e;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=wn(),e===n&&(e=Jn(),e===n&&(e=Wn(),e===n&&(e=Cn(),e===n&&(e=Ln()))))))),e}function Cn(){let e,t,r,i,a,o;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ae(t),r=r?void 0:n,r===n?(N=e,e=n):(i=N,P=N,a=je(t),a=a?void 0:n,a===n?(N=i,i=n):(o=An(),o===n?(N=i,i=n):(P=i,i=Me(t,o))),i===n&&(i=N,P=N,a=Ne(t),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=j(t,o))),i===n&&(i=N,a=``,P=i,a=Pe(t),i=a)),i===n?(N=e,e=n):(P=e,e=Fe(t,i)))),e}function wn(){let e,t,r,i,a,o;return e=N,P=N,t=Ie(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(i=N,P=N,a=Le(r),a=a?void 0:n,a===n?(N=i,i=n):(o=Tn(),o===n?(N=i,i=n):(P=i,i=Re(r,o))),i===n&&(i=null),P=e,e=ze(r,i))),e}function Tn(){let e,t,r,i;if(e=N,t=xn(),t!==n){for(r=[],i=En();i!==n;)r.push(i),i=En();i=Dn(),i===n?(N=e,e=n):(P=e,e=Be(t,r,i))}else N=e,e=n;return e}function En(){let e,t,r;return e=N,t=On(),t===n?(N=e,e=n):(r=xn(),r===n?(N=e,e=n):(P=e,e=Ve(t,r))),e}function Dn(){let t,r,i;return t=kn(),t===n&&(t=N,r=N,F++,e.length>N?(i=e.charAt(N),N++):(i=n,F===0&&I(w)),F--,i===n?r=void 0:(N=r,r=n),r!==n&&(P=t,r=He()),t=r),t}function On(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ue(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=We(t))),e}function kn(){let e,t,r;return e=N,t=Kn(),t===n?(N=e,e=n):(P=N,r=Ge(t),r=r?void 0:n,r===n?(N=e,e=n):(P=e,e=Ke(t))),e===n&&(e=N,P=N,t=qe(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=Je(r)))),e}function An(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=Ye(r),i=i?void 0:n,i!==n){for(a=N,o=Xe(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=Ze(r,a,o)))}else N=t,t=n;return t===n&&(t=N,r=``,P=t,r=Qe(),t=r),t}function jn(){let e,t,r;for(e=N,t=[],r=Mn();r!==n;)t.push(r),r=Mn();return P=e,t=$e(t),e=t,e}function Mn(){let e,t,r,i,a;return e=Fn(),e===n&&(e=In(),e===n&&(e=Rn(),e===n&&(e=N,P=N,t=et(),t=t?void 0:n,t===n?(N=e,e=n):(r=Yn(),r===n?(N=e,e=n):(P=e,e=tt(r))),e===n&&(e=N,P=N,t=nt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=e,e=rt(r))),e===n&&(e=Wn(),e===n&&(e=N,t=Kn(),t===n?(N=e,e=n):(r=N,P=N,i=it(t),i=i?void 0:n,i===n?(N=r,r=n):(a=Nn(),a===n?(N=r,r=n):(P=r,r=at(t,a))),r===n&&(r=null),P=e,e=ot(t,r)),e===n&&(e=Ln()))))))),e}function Nn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=st(r),i=i?void 0:n,i!==n){for(a=N,o=ct(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(o=kn(),o===n?(N=t,t=n):(P=t,t=lt(r,a,o)))}else N=t,t=n;return t}function Pn(){let e,t;return e=N,t=``,P=e,t=ut(),e=t,e}function Fn(){let t,r,i,a;if(t=N,r=N,i=[],a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(N),o.test(a)?N++:(a=n,F===0&&I(T));else i=n;return r=i===n?i:e.substring(r,N),r!==n&&(P=t,r=dt(r)),t=r,t}function In(){let t,r,i,a,o;if(t=N,r=N,i=[],e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(ee)),a!==n)for(;a!==n;)i.push(a),e.charCodeAt(N)===92?(a=`\\\\`,N++):(a=n,F===0&&I(ee));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(i=N,P=N,a=ft(r),a=a?void 0:n,a===n?(N=i,i=n):(o=e.charAt(N),s.test(o)?N++:(o=n,F===0&&I(E)),o===n?(N=i,i=n):(P=i,i=pt(r,o))),i===n&&(i=null),P=t,t=mt(r,i)),t}function Ln(){let t,r,i,a,o,s;return t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=N,F++,a=N,o=Bn(),o===n?(N=a,a=n):(s=e.charAt(N),c.test(s)?N++:(s=n,F===0&&I(te)),s===n?(N=a,a=n):(o=[o,s],a=o)),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=t,t=n):(P=t,t=ht())),t===n&&(t=N,r=N,F++,i=N,P=N,a=gt(),a=a?void 0:n,a===n?(N=i,i=n):(o=rr(),o===n?(N=i,i=n):(a=[a,o],i=a)),F--,i===n?r=void 0:(N=r,r=n),r===n?(N=t,t=n):(e.charCodeAt(N)===60?(i=`<`,N++):(i=n,F===0&&I(ne)),i===n?(N=t,t=n):(P=t,t=_t())),t===n&&(t=N,e.charCodeAt(N)===91?(r=`[`,N++):(r=n,F===0&&I(re)),r!==n&&(P=t,r=vt()),t=r)),t}function Rn(){let t,r,i,a,o,s,c;return t=N,P=N,r=yt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=Pn(),s=N,c=zn(),s=e.substring(s,N),e.substr(N,2)===`]]`?(c=`]]`,N+=2):(c=n,F===0&&I(O)),c===n?(N=t,t=n):(P=t,t=bt(a,o,s))))),t===n&&(t=N,P=N,r=xt(),r=r?void 0:n,r===n?(N=t,t=n):(e.substr(N,2)===`[[`?(i=`[[`,N+=2):(i=n,F===0&&I(ie)),i===n?(N=t,t=n):(P=t,t=St()))),t}function zn(){let t,r,i,a;for(t=[],r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));r!==n;)t.push(r),r=N,i=N,F++,e.substr(N,2)===`]]`?(a=`]]`,N+=2):(a=n,F===0&&I(O)),a===n&&(e.substr(N,2)===`[[`?(a=`[[`,N+=2):(a=n,F===0&&I(ie))),F--,a===n?i=void 0:(N=i,i=n),i===n?(N=r,r=n):(e.length>N?(a=e.charAt(N),N++):(a=n,F===0&&I(w)),a===n?(N=r,r=n):(i=[i,a],r=i));return t}function Bn(){let t,r,i;if(t=N,r=[],i=Hn(),i!==n)for(;i!==n;)r.push(i),i=Hn();else r=n;return r===n?(N=t,t=n):(e.charCodeAt(N)===32?(i=` `,N++):(i=n,F===0&&I(ae)),i===n&&(i=null),P=t,t=M(r)),t===n&&(t=N,r=``,P=t,r=Ct(),t=r),t}function Vn(){let t,r,i,a,o;if(t=N,r=Bn(),r!==n){for(i=Pn(),a=[],e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));o!==n;)a.push(o),e.length>N?(o=e.charAt(N),N++):(o=n,F===0&&I(w));P=t,t=wt(r,i)}else N=t,t=n;return t}function Hn(){let t,r,i,a,o;if(t=N,r=e.charAt(N),l.test(r)?N++:(r=n,F===0&&I(oe)),r!==n){for(i=N,a=[],o=Un();o!==n;)a.push(o),o=Un();i=e.substring(i,N),P=t,t=Tt(r,i)}else N=t,t=n;return t}function Un(){let t,r,i,a,o;if(t=e.charAt(N),u.test(t)?N++:(t=n,F===0&&I(se)),t===n)if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=e.charAt(N),d.test(i)?N++:(i=n,F===0&&I(ce)),i!==n){for(a=[],o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));o!==n;)a.push(o),o=e.charAt(N),f.test(o)?N++:(o=n,F===0&&I(le));e.charCodeAt(N)===125?(o=`}`,N++):(o=n,F===0&&I(ue)),o===n?(N=t,t=n):(r=[r,i,a,o],t=r)}else N=t,t=n;else N=t,t=n;return t}function Wn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=e.charAt(N),d.test(a)?N++:(a=n,F===0&&I(ce)),a!==n){for(o=N,s=[],c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));c!==n;)s.push(c),c=e.charAt(N),f.test(c)?N++:(c=n,F===0&&I(le));o=e.substring(o,N),e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Et(i,a,o))}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(s=`}`,N++):(s=n,F===0&&I(ue)),s===n?(N=t,t=n):(P=t,t=Dt(i,o)))))),t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),p.test(o)?N++:(o=n,F===0&&I(de)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(P=t,t=Ot()))))),t}function Gn(){let t,r,i,a,o,s,c,l;if(t=N,r=Pn(),P=N,i=kt(r),i=i?void 0:n,i!==n){for(a=N,o=At(r),s=N,c=[],c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));l!==n;)c.push(l),c.length>=(o|0)?l=n:e.length>N?(l=e.charAt(N),N++):(l=n,F===0&&I(w));c.length<(o|0)?(N=s,s=n):s=c,o=s,a=o===n?o:e.substring(a,N),a===n?(N=t,t=n):(P=t,t=jt(r,a))}else N=t,t=n;return t}function Kn(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r!==n)if(i=Bn(),i!==n)if(a=Pn(),e.charCodeAt(N)===47?(o=`/`,N++):(o=n,F===0&&I(fe)),o===n&&(o=null),s=qn(),s!==n){if(c=Pn(),l=N,P=N,u=Mt(i,a,o,s,c),u=u?void 0:n,u!==n){for(d=N,f=Nt(i,a,o,s,c),p=N,m=[],m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));h!==n;)m.push(h),m.length>=(f|0)?h=n:e.length>N?(h=e.charAt(N),N++):(h=n,F===0&&I(w));m.length<(f|0)?(N=p,p=n):p=m,f=p,d=f===n?f:e.substring(d,N),d===n?(N=l,l=n):(e.charCodeAt(N)===125?(f=`}`,N++):(f=n,F===0&&I(ue)),f===n?(N=l,l=n):(P=l,l=Pt(i,a,o,s,c,d)))}else N=l,l=n;l===n&&(l=null),P=t,t=Ft(i,a,o,s,c,l)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t===n&&(t=N,e.charCodeAt(N)===123?(r=`{`,N++):(r=n,F===0&&I(D)),r===n?(N=t,t=n):(i=Bn(),i===n?(N=t,t=n):(e.charCodeAt(N)===47?(a=`/`,N++):(a=n,F===0&&I(fe)),a===n?(N=t,t=n):(P=t,t=It(i))))),t}function qn(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));o!==n;)a.push(o),o=e.charAt(N),h.test(o)?N++:(o=n,F===0&&I(me));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function Jn(){let e,t,r,i;return e=N,P=N,t=Lt(),t=t?void 0:n,t===n?(N=e,e=n):(r=rr(),r===n?(N=e,e=n):(P=N,i=Rt(r),i=i?void 0:n,i===n?(N=e,e=n):(P=e,e=zt(r)))),e}function Yn(){let t,r,i,a,o,s,c;if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n){for(a=[],o=_r();o!==n;)a.push(o),o=_r();o=br(),e.charCodeAt(N)===47?(s=`/`,N++):(s=n,F===0&&I(fe)),s===n&&(s=null),e.charCodeAt(N)===62?(c=`>`,N++):(c=n,F===0&&I(he)),c===n?(N=t,t=n):(P=t,t=Bt(i,a,s))}else N=t,t=n;else N=t,t=n;if(t===n)if(t=N,e.charCodeAt(N)===60?(r=`<`,N++):(r=n,F===0&&I(ne)),r!==n)if(i=or(),i!==n)if(a=N,F++,o=e.charAt(N),g.test(o)?N++:(o=n,F===0&&I(ge)),o===n&&(o=N,F++,e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),F--,s===n?o=void 0:(N=o,o=n)),F--,o===n?a=n:(N=a,a=void 0),a!==n){for(o=[],s=_r();s!==n;)o.push(s),s=_r();s=br(),c=Pn(),P=t,t=Vt(i,c)}else N=t,t=n;else N=t,t=n;else N=t,t=n;return t}function rr(){let t,r,i,a;return t=N,e.substr(N,2)===`</`?(r=`</`,N+=2):(r=n,F===0&&I(_e)),r===n?(N=t,t=n):(i=or(),i===n?(N=t,t=n):(br(),e.charCodeAt(N)===62?(a=`>`,N++):(a=n,F===0&&I(he)),a===n?(N=t,t=n):(P=t,t=Ht(i)))),t}function or(){let t,r,i,a,o;if(t=N,r=N,i=e.charAt(N),m.test(i)?N++:(i=n,F===0&&I(pe)),i!==n){for(a=[],o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));o!==n;)a.push(o),o=e.charAt(N),_.test(o)?N++:(o=n,F===0&&I(ve));i=[i,a],r=i}else N=r,r=n;return t=r===n?r:e.substring(t,N),t}function _r(){let t,r,i,a,o,s,c;if(t=N,br(),r=N,i=[],a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o)),a!==n)for(;a!==n;)i.push(a),a=N,o=N,F++,s=e.charAt(N),v.test(s)?N++:(s=n,F===0&&I(k)),F--,s===n?o=void 0:(N=o,o=n),o===n?(N=a,a=n):(e.length>N?(s=e.charAt(N),N++):(s=n,F===0&&I(w)),s===n?(N=a,a=n):(o=[o,s],a=o));else i=n;return r=i===n?i:e.substring(r,N),r===n?(N=t,t=n):(P=N,i=Ut(r),i=i?void 0:n,i===n?(N=t,t=n):(a=N,o=br(),e.charCodeAt(N)===61?(s=`=`,N++):(s=n,F===0&&I(ye)),s===n?(N=a,a=n):(br(),c=vr(),c===n?(N=a,a=n):(P=a,a=Wt(r,c))),a===n&&(a=null),P=t,t=Gt(r,a))),t}function vr(){let t,r,i,a,o;if(t=N,e.charCodeAt(N)===34?(r=`\"`,N++):(r=n,F===0&&I(be)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),y.test(o)?N++:(o=n,F===0&&I(xe)));i=e.substring(i,N),e.charCodeAt(N)===34?(a=`\"`,N++):(a=n,F===0&&I(be)),a===n?(N=t,t=n):(P=t,t=Kt(i))}else N=t,t=n;if(t===n){if(t=N,e.charCodeAt(N)===39?(r=`'`,N++):(r=n,F===0&&I(Se)),r!==n){for(i=N,a=[],o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));o!==n;)a.push(o),o=yr(),o===n&&(o=e.charAt(N),b.test(o)?N++:(o=n,F===0&&I(A)));i=e.substring(i,N),e.charCodeAt(N)===39?(a=`'`,N++):(a=n,F===0&&I(Se)),a===n?(N=t,t=n):(P=t,t=qt(i))}else N=t,t=n;if(t===n&&(t=N,r=e.charAt(N),x.test(r)?N++:(r=n,F===0&&I(Ce)),r!==n&&(P=t,r=Jt(r)),t=r,t===n)){for(t=N,r=[],i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));i!==n;)r.push(i),i=e.charAt(N),S.test(i)?N++:(i=n,F===0&&I(we));t=e.substring(t,N)}}return t}function yr(){let t,r,i,a,o,c,l,u,f,p,h,g,_,v;if(t=N,P=N,r=Yt(),r=r?void 0:n,r!==n){if(i=N,a=[],e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(ee)),o!==n)for(;o!==n;)a.push(o),e.charCodeAt(N)===92?(o=`\\\\`,N++):(o=n,F===0&&I(ee));else a=n;i=a===n?a:e.substring(i,N),i===n?(N=t,t=n):(a=N,P=N,o=Xt(i),o=o?void 0:n,o===n?(N=a,a=n):(c=e.charAt(N),s.test(c)?N++:(c=n,F===0&&I(E)),c===n?(N=a,a=n):(o=[o,c],a=o)),a===n&&(a=null),r=[r,i,a],t=r)}else N=t,t=n;if(t===n){if(t=N,P=N,r=Zt(),r=r?void 0:n,r!==n)if(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i!==n)if(a=Bn(),a!==n)if(o=Pn(),e.charCodeAt(N)===47?(c=`/`,N++):(c=n,F===0&&I(fe)),c===n&&(c=null),l=qn(),l!==n)if(u=Pn(),P=N,f=Qt(o,u),f=f?void 0:n,f!==n){for(p=N,h=$t(o,u),g=N,_=[],_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));v!==n;)_.push(v),_.length>=(h|0)?v=n:e.length>N?(v=e.charAt(N),N++):(v=n,F===0&&I(w));_.length<(h|0)?(N=g,g=n):g=_,h=g,p=h===n?h:e.substring(p,N),p===n?(N=t,t=n):(e.charCodeAt(N)===125?(h=`}`,N++):(h=n,F===0&&I(ue)),h===n?(N=t,t=n):(r=[r,i,a,o,c,l,u,f,p,h],t=r))}else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;else N=t,t=n;t===n&&(t=N,P=N,r=en(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=Bn(),a===n?(N=t,t=n):(o=N,F++,c=N,e.charCodeAt(N)===47?(l=`/`,N++):(l=n,F===0&&I(fe)),l===n&&(l=null),u=e.charAt(N),m.test(u)?N++:(u=n,F===0&&I(pe)),u===n?(N=c,c=n):(l=[l,u],c=l),F--,c===n?o=void 0:(N=o,o=n),o===n?(N=t,t=n):(c=Gn(),c===n?(N=t,t=n):(e.charCodeAt(N)===125?(l=`}`,N++):(l=n,F===0&&I(ue)),l===n?(N=t,t=n):(r=[r,i,a,o,c,l],t=r)))))),t===n&&(t=N,P=N,r=tn(),r=r?void 0:n,r===n?(N=t,t=n):(e.charCodeAt(N)===123?(i=`{`,N++):(i=n,F===0&&I(D)),i===n?(N=t,t=n):(a=N,F++,o=e.charAt(N),d.test(o)?N++:(o=n,F===0&&I(ce)),F--,o===n?a=n:(N=a,a=void 0),a===n?(N=t,t=n):(o=Gn(),o===n?(N=t,t=n):(e.charCodeAt(N)===125?(c=`}`,N++):(c=n,F===0&&I(ue)),c===n?(N=t,t=n):(r=[r,i,a,o,c],t=r)))))))}return t}function br(){let e,t;for(e=[],t=xr();t!==n;)e.push(t),t=xr();return e}function xr(){let t;return t=e.charAt(N),C.test(t)?N++:(t=n,F===0&&I(Te)),t}let Sr=t.text===!0,Cr=t.hooks,wr=-1,Tr=!1,Er=``;function Dr(e){return wr=e,e>=0}function Or(e,t){ln(e,t)}function kr(e){let t={},n=new Set;for(let[r,i]of e){let e=r.toLowerCase();n.has(e)||(n.add(e),Object.defineProperty(t,r,{value:i,enumerable:!0,writable:!0,configurable:!0}))}return t}function Ar(e,t){for(let n of t.branches){let t=tr[n.tag.lower];(e.lex!==`macro`||e.lower!==t)&&Or(cr(n.tag)+` must be directly inside {`+t+Zn+`, not inside `+cr(e),n.tag.loc)}t.end||Or(`Unclosed `+cr(e)+`: no `+lr(e)+` closes it`,e.loc),dr(e,t.end)||Or(cr(t.end)+` found where `+lr(e)+` should close the `+cr(e)+` opened at `+ur(e.loc),t.end.loc)}function jr(e,t){let n={type:`macro`,name:e.lower,rawArgs:e.rawArgs,children:[]};if(!t)return $n(n,e);if(Ar(e,t),n.children=t.children,nr.has(e.lower)){n.branches=[$n({rawArgs:e.rawArgs,children:t.children},e)];for(let e of t.branches)n.branches.push($n({rawArgs:e.tag.rawArgs,children:e.children},e.tag));n.children=[]}else $n(n,e);return n}on=a();let Mr=on!==n&&N===e.length;function Nr(){throw on!==n&&N<e.length&&I(mn()),vn(an,rn<e.length?un(rn):null,rn<e.length?gn(rn,rn+1):gn(rn,rn))}if(t.peg$library)return{peg$result:on,peg$currPos:N,peg$FAILED:n,peg$maxFailExpected:an,peg$maxFailPos:rn,peg$success:Mr,peg$throw:Mr?void 0:Nr};if(Mr)return on;Nr()}var vr=class extends Map{get(e){return super.get(e.toLowerCase())}set(e,t){return super.set(e.toLowerCase(),t)}has(e){return super.has(e.toLowerCase())}delete(e){return super.delete(e.toLowerCase())}},yr=class{constructor(e=[]){this.names=new vr;for(let t of e)this.add(t)}add(e){this.names.set(e,!0)}has(e){return this.names.has(e)}delete(e){this.names.delete(e)}},br=new yr([`if`,`for`,`do`,`button`,`link`,`listbox`,`cycle`,`switch`,`timed`,`repeat`,`type`,`widget`,`span`,`nobr`]);function xr(e){return br.has(e)}function Sr(e){br.add(e)}var Cr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,31,4,33,15,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,7,0,259,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,481,1,61,4,4,5,9,7,3,6,31,3,149,2,12,2,9,1,3,0,33,1,1357,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239],wr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,13,65,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,18,21,18,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,18,0,182,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,22,0,239,18,16,0,2,12,2,33,125,0,80,921,103,111,6,206,13,310,2314,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7386,37,33,96,114,14,913,15,50,7710,3,2,6,2,1,2,296,10,0,30,2,3,0,15,4,8,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,340,2,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,129,15,6,55,50,49,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4382,2,5773,3,7472,16,621,2467,541,1507,4938,6,8489,39815,11327],Tr=`‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄ-׉ؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୓-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫰ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・`,Er=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆ՘ՙՠ-ֈ֋֌א-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿ₏-₟ℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-꟝꟢꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩ꭬꭭ꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,Dr={3:`abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile`,5:`class enum extends super const export import`,6:`enum`,strict:`implements interface let package private protected public static yield`,strictBind:`eval arguments`},Or=`break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this`,kr={5:Or,\"5module\":Or+` export import`,6:Or+` const class extends export import super`},Ar=/^in(stanceof)?$/,jr=RegExp(`[`+Er+`]`),Mr=RegExp(`[`+Er+Tr+`]`);function Nr(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Pr(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)}function Fr(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Mr.test(String.fromCharCode(e)):t===!1?!1:Nr(e,wr)||Nr(e,Cr)}var L=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Ir(e,t){return new L(e,{beforeExpr:!0,binop:t})}var Lr={beforeExpr:!0},Rr={startsExpr:!0},zr={};function R(e,t){return t===void 0&&(t={}),t.keyword=e,zr[e]=new L(e,t)}var z={num:new L(`num`,Rr),regexp:new L(`regexp`,Rr),string:new L(`string`,Rr),name:new L(`name`,Rr),privateId:new L(`privateId`,Rr),eof:new L(`eof`),bracketL:new L(`[`,{beforeExpr:!0,startsExpr:!0}),bracketR:new L(`]`),braceL:new L(`{`,{beforeExpr:!0,startsExpr:!0}),braceR:new L(`}`),parenL:new L(`(`,{beforeExpr:!0,startsExpr:!0}),parenR:new L(`)`),comma:new L(`,`,Lr),semi:new L(`;`,Lr),colon:new L(`:`,Lr),dot:new L(`.`),question:new L(`?`,Lr),questionDot:new L(`?.`),arrow:new L(`=>`,Lr),template:new L(`template`),invalidTemplate:new L(`invalidTemplate`),ellipsis:new L(`...`,Lr),backQuote:new L(\"`\",Rr),dollarBraceL:new L(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new L(`=`,{beforeExpr:!0,isAssign:!0}),assign:new L(`_=`,{beforeExpr:!0,isAssign:!0}),incDec:new L(`++/--`,{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new L(`!/~`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ir(`||`,1),logicalAND:Ir(`&&`,2),bitwiseOR:Ir(`|`,3),bitwiseXOR:Ir(`^`,4),bitwiseAND:Ir(`&`,5),equality:Ir(`==/!=/===/!==`,6),relational:Ir(`</>/<=/>=`,7),bitShift:Ir(`<</>>/>>>`,8),plusMin:new L(`+/-`,{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ir(`%`,10),star:Ir(`*`,10),slash:Ir(`/`,10),starstar:new L(`**`,{beforeExpr:!0}),coalesce:Ir(`??`,1),_break:R(`break`),_case:R(`case`,Lr),_catch:R(`catch`),_continue:R(`continue`),_debugger:R(`debugger`),_default:R(`default`,Lr),_do:R(`do`,{isLoop:!0,beforeExpr:!0}),_else:R(`else`,Lr),_finally:R(`finally`),_for:R(`for`,{isLoop:!0}),_function:R(`function`,Rr),_if:R(`if`),_return:R(`return`,Lr),_switch:R(`switch`),_throw:R(`throw`,Lr),_try:R(`try`),_var:R(`var`),_const:R(`const`),_while:R(`while`,{isLoop:!0}),_with:R(`with`),_new:R(`new`,{beforeExpr:!0,startsExpr:!0}),_this:R(`this`,Rr),_super:R(`super`,Rr),_class:R(`class`,Rr),_extends:R(`extends`,Lr),_export:R(`export`),_import:R(`import`,Rr),_null:R(`null`,Rr),_true:R(`true`,Rr),_false:R(`false`,Rr),_in:R(`in`,{beforeExpr:!0,binop:7}),_instanceof:R(`instanceof`,{beforeExpr:!0,binop:7}),_typeof:R(`typeof`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:R(`void`,{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:R(`delete`,{beforeExpr:!0,prefix:!0,startsExpr:!0})},Br=/\\r\\n?|\\n|\\u2028|\\u2029/,Vr=new RegExp(Br.source,`g`);function Hr(e){return e===10||e===13||e===8232||e===8233}function Ur(e,t,n){n===void 0&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(Hr(i))return r<n-1&&i===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var Wr=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,Gr=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,Kr=Object.prototype,qr=Kr.hasOwnProperty,Jr=Kr.toString,Yr=Object.hasOwn||(function(e,t){return qr.call(e,t)}),Xr=Array.isArray||(function(e){return Jr.call(e)===`[object Array]`}),Zr=Object.create(null);function Qr(e){return Zr[e]||(Zr[e]=RegExp(`^(?:`+e.replace(/ /g,`|`)+`)$`))}function $r(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var ei=/(?:[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/,ti=function(e,t){this.line=e,this.column=t};ti.prototype.offset=function(e){return new ti(this.line,this.column+e)};var ni=function(e,t,n){this.start=t,this.end=n,e.sourceFile!==null&&(this.source=e.sourceFile)};function ri(e,t){for(var n=1,r=0;;){var i=Ur(e,r,t);if(i<0)return new ti(n,t-r);++n,r=i}}var ii={ecmaVersion:null,sourceType:`script`,strict:!1,onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,startLocation:null,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},ai=!1;function oi(e){var t={};for(var n in ii)t[n]=e&&Yr(e,n)?e[n]:ii[n];if(t.ecmaVersion===`latest`?t.ecmaVersion=1e8:t.ecmaVersion==null?(!ai&&typeof console==`object`&&console.warn&&(ai=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved??(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Xr(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}if(Xr(t.onComment)&&(t.onComment=si(t,t.onComment)),t.sourceType===`commonjs`&&t.allowAwaitOutsideFunction)throw Error(`Cannot use allowAwaitOutsideFunction with sourceType: commonjs`);return t}function si(e,t){return function(n,r,i,a,o,s){var c={type:n?`Block`:`Line`,value:r,start:i,end:a};e.locations&&(c.loc=new ni(this,o,s)),e.ranges&&(c.range=[i,a]),t.push(c)}}var ci=1,li=2,ui=4,di=8,fi=16,pi=32,mi=64,hi=128,gi=256,_i=512,vi=1024,yi=ci|li|gi;function bi(e,t){return li|(e?ui:0)|(t?di:0)}var xi=0,Si=1,Ci=2,wi=3,Ti=4,Ei=5,Di=function(e,t,n){this.options=e=oi(e),this.sourceFile=e.sourceFile,this.keywords=Qr(kr[e.ecmaVersion>=6?6:e.sourceType===`module`?`5module`:5]);var r=``;e.allowReserved!==!0&&(r=Dr[e.ecmaVersion>=6?6:e.ecmaVersion===5?5:3],e.sourceType===`module`&&(r+=` await`)),this.reservedWords=Qr(r);var i=(r?r+` `:``)+Dr.strict;this.reservedWordsStrict=Qr(i),this.reservedWordsStrictBind=Qr(i+` `+Dr.strictBind),this.input=String(t),this.containsEsc=!1,this.pos=n||0,this.curLine=1,e.startLocation?(this.lineStart=this.pos-e.startLocation.column,this.curLine=e.startLocation.line):n?(this.lineStart=this.input.lastIndexOf(`\n`,n-1)+1,this.options.locations&&(this.curLine=this.input.slice(0,this.lineStart).split(Br).length)):this.lineStart=0,this.type=z.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType===`module`,this.strict=this.inModule||e.strict===!0||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&e.allowHashBang&&this.input.slice(0,2)===`#!`&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(this.options.sourceType===`commonjs`?li:ci),this.regexpState=null,this.privateNameStack=[]},Oi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowReturn:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},allowUsing:{configurable:!0},inClassStaticBlock:{configurable:!0}};Di.prototype.parse=function(){var e=this,t=this.options.program||this.startNode();return this.nextToken(),this.catchStackOverflow(function(){return e.parseTopLevel(t)})},Oi.inFunction.get=function(){return(this.currentVarScope().flags&li)>0},Oi.inGenerator.get=function(){return(this.currentVarScope().flags&di)>0},Oi.inAsync.get=function(){return(this.currentVarScope().flags&ui)>0},Oi.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i))return!1;if(t&li)return(t&ui)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},Oi.allowReturn.get=function(){return!!(this.inFunction||this.options.allowReturnOutsideFunction&&this.currentVarScope().flags&ci)},Oi.allowSuper.get=function(){return(this.currentThisScope().flags&mi)>0||this.options.allowSuperOutsideMethod},Oi.allowDirectSuper.get=function(){return(this.currentThisScope().flags&hi)>0},Oi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Oi.allowNewDotTarget.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e].flags;if(t&(gi|_i)||t&li&&!(t&fi))return!0}return!1},Oi.allowUsing.get=function(){var e=this.currentScope().flags;return!(e&vi||!this.inModule&&e&ci)},Oi.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&gi)>0},Di.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,r=0;r<e.length;r++)n=e[r](n);return n},Di.parse=function(e,t){return new this(t,e).parse()},Di.parseExpressionAt=function(e,t,n){var r=new this(n,e,t);return r.nextToken(),r.parseExpression()},Di.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(Di.prototype,Oi);var ki=Di.prototype,Ai=/^(?:'((?:\\\\[^]|[^'\\\\])*?)'|\"((?:\\\\[^]|[^\"\\\\])*?)\")/;ki.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length;var t=Ai.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])===`use strict`){Gr.lastIndex=e+t[0].length;var n=Gr.exec(this.input),r=n.index+n[0].length,i=this.input.charAt(r);return i===`;`||i===`}`||Br.test(n[0])&&!(/[(`.[+\\-/*%<>=,?^&]/.test(i)||i===`!`&&this.input.charAt(r+1)===`=`||i===`i`&&ji(this,r))}e+=t[0].length,Gr.lastIndex=e,e+=Gr.exec(this.input)[0].length,this.input[e]===`;`&&e++}};function ji(e,t){for(var n=t+1,r=Math.min(e.input.length,t+11);n<r;){var i=e.fullCharCodeAt(n);if(!Fr(i,!0))break;n+=i<=65535?1:2}return n===t+2&&e.input.slice(t,n)===`in`||n===t+10&&e.input.slice(t,n)===`instanceof`}ki.eat=function(e){return this.type===e?(this.next(),!0):!1},ki.isContextual=function(e){return this.type===z.name&&this.value===e&&!this.containsEsc},ki.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},ki.catchStackOverflow=function(e){try{return e()}catch(e){if(e instanceof Error&&(/\\bstack\\b.*\\b(exceeded|overflow)\\b/i.test(e.message)||/\\btoo much recursion\\b/i.test(e.message)))this.raise(this.start,`Not enough stack space to parse input`);else throw e}},ki.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ki.canInsertSemicolon=function(){return this.type===z.eof||this.type===z.braceR||Br.test(this.input.slice(this.lastTokEnd,this.start))},ki.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ki.semicolon=function(){!this.eat(z.semi)&&!this.insertSemicolon()&&this.unexpected()},ki.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ki.expect=function(e){this.eat(e)||this.unexpected()},ki.unexpected=function(e){this.raise(e??this.start,`Unexpected token`)};var Mi=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ki.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,`Comma is not permitted after the rest element`);var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?`Assigning to rvalue`:`Parenthesized pattern`)}},ki.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,r=e.doubleProto;if(!t)return n>=0||r>=0;n>=0&&this.raise(n,`Shorthand property assignments are valid only in destructuring patterns`),r>=0&&this.raiseRecoverable(r,`Redefinition of __proto__ property`)},ki.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,`Yield expression cannot be a default value`),this.awaitPos&&this.raise(this.awaitPos,`Await expression cannot be a default value`)},ki.isSimpleAssignTarget=function(e){return e.type===`ParenthesizedExpression`?this.isSimpleAssignTarget(e.expression):e.type===`Identifier`||e.type===`MemberExpression`};var B=Di.prototype;B.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==z.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var r=0,i=Object.keys(this.undefinedExports);r<i.length;r+=1){var a=i[r];this.raiseRecoverable(this.undefinedExports[a].start,`Export '`+a+`' is not defined`)}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType===`commonjs`?`script`:this.options.sourceType,this.finishNode(e,`Program`)};var Ni={kind:`loop`},Pi={kind:`switch`};B.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual(`let`))return!1;Gr.lastIndex=this.pos;var t=Gr.exec(this.input),n=this.pos+t[0].length,r=this.fullCharCodeAt(n);if(r===91||r===92)return!0;if(e)return!1;if(r===123)return!0;if(Pr(r)){var i=n;do n+=r<=65535?1:2;while(Fr(r=this.fullCharCodeAt(n)));if(r===92)return!0;var a=this.input.slice(i,n);if(!Ar.test(a))return!0}return!1},B.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(`async`))return!1;Gr.lastIndex=this.pos;var e=Gr.exec(this.input),t=this.pos+e[0].length,n;return!Br.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)===`function`&&(t+8===this.input.length||!(Fr(n=this.fullCharCodeAt(t+8))||n===92))},B.isUsingKeyword=function(e,t){if(this.options.ecmaVersion<17||!this.isContextual(e?`await`:`using`))return!1;Gr.lastIndex=this.pos;var n=Gr.exec(this.input),r=this.pos+n[0].length;if(Br.test(this.input.slice(this.pos,r)))return!1;if(e){var i=r+5,a;if(this.input.slice(r,i)!==`using`||i===this.input.length||Fr(a=this.fullCharCodeAt(i))||a===92)return!1;Gr.lastIndex=i;var o=Gr.exec(this.input);if(r=i+o[0].length,o&&Br.test(this.input.slice(i,r)))return!1}var s=this.fullCharCodeAt(r);if(!Pr(s)&&s!==92)return!1;var c=r;do r+=s<=65535?1:2;while(Fr(s=this.fullCharCodeAt(r)));if(s===92)return!0;var l=this.input.slice(c,r);if(Ar.test(l))return!1;if(t&&!e&&l===`of`){Gr.lastIndex=r;var u=Gr.exec(this.input);if(r+=u[0].length,this.input.charCodeAt(r)!==61||(s=this.input.charCodeAt(r+1))===61||s===62)return!1}return!0},B.isAwaitUsing=function(e){return this.isUsingKeyword(!0,e)},B.isUsing=function(e){return this.isUsingKeyword(!1,e)},B.parseStatement=function(e,t,n){var r=this.type,i=this.startNode(),a;switch(this.isLet(e)&&(r=z._var,a=`let`),r){case z._break:case z._continue:return this.parseBreakContinueStatement(i,r.keyword);case z._debugger:return this.parseDebuggerStatement(i);case z._do:return this.parseDoStatement(i);case z._for:return this.parseForStatement(i);case z._function:return e&&(this.strict||e!==`if`&&e!==`label`)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case z._class:return e&&this.unexpected(),this.parseClass(i,!0);case z._if:return this.parseIfStatement(i);case z._return:return this.parseReturnStatement(i);case z._switch:return this.parseSwitchStatement(i);case z._throw:return this.parseThrowStatement(i);case z._try:return this.parseTryStatement(i);case z._const:case z._var:return a=a||this.value,e&&a!==`var`&&this.unexpected(),this.parseVarStatement(i,a);case z._while:return this.parseWhileStatement(i);case z._with:return this.parseWithStatement(i);case z.braceL:return this.parseBlock(!0,i);case z.semi:return this.parseEmptyStatement(i);case z._export:case z._import:if(this.options.ecmaVersion>10&&r===z._import){Gr.lastIndex=this.pos;var o=Gr.exec(this.input),s=this.pos+o[0].length,c=this.input.charCodeAt(s);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,`'import' and 'export' may only appear at the top level`),this.inModule||this.raise(this.start,`'import' and 'export' may appear only with 'sourceType: module'`)),r===z._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.isAwaitUsing(!1)?`await using`:this.isUsing(!1)?`using`:null;if(l)return this.allowUsing||this.raise(this.start,\"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement\"),e&&this.raise(this.start,`Using declaration is not allowed in single-statement positions`),l===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.next(),this.parseVar(i,!1,l),this.semicolon(),this.finishNode(i,`VariableDeclaration`);var u=this.value,d=this.parseExpression();return r===z.name&&d.type===`Identifier`&&this.eat(z.colon)?this.parseLabeledStatement(i,u,d,e):this.parseExpressionStatement(i,d)}},B.parseBreakContinueStatement=function(e,t){var n=t===`break`;this.next(),this.eat(z.semi)||this.insertSemicolon()?e.label=null:this.type===z.name?(e.label=this.parseIdent(),this.semicolon()):this.unexpected();for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if((e.label==null||i.name===e.label.name)&&(i.kind!=null&&(n||i.kind===`loop`)||e.label&&n))break}return r===this.labels.length&&this.raise(e.start,`Unsyntactic `+t),this.finishNode(e,n?`BreakStatement`:`ContinueStatement`)},B.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)},B.parseDoStatement=function(e){return this.next(),this.labels.push(Ni),e.body=this.parseStatement(`do`),this.labels.pop(),this.expect(z._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(z.semi):this.semicolon(),this.finishNode(e,`DoWhileStatement`)},B.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual(`await`)?this.lastTokStart:-1;if(this.labels.push(Ni),this.enterScope(0),this.expect(z.parenL),this.type===z.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===z._var||this.type===z._const||n){var r=this.startNode(),i=n?`let`:this.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,`VariableDeclaration`),this.parseForAfterInit(e,r,t)}var a=this.isContextual(`let`),o=!1,s=this.isUsing(!0)?`using`:this.isAwaitUsing(!0)?`await using`:null;if(s){var c=this.startNode();return this.next(),s===`await using`&&(this.canAwait||this.raise(this.start,`Await using cannot appear outside of async function`),this.next()),this.parseVar(c,!0,s),this.finishNode(c,`VariableDeclaration`),this.parseForAfterInit(e,c,t)}var l=this.containsEsc,u=new Mi,d=this.start,f=t>-1?this.parseExprSubscripts(u,`await`):this.parseExpression(!0,u);return this.type===z._in||(o=this.options.ecmaVersion>=6&&this.isContextual(`of`))?(t>-1?(this.type===z._in&&this.unexpected(t),e.await=!0):o&&this.options.ecmaVersion>=8&&(f.start===d&&!l&&f.type===`Identifier`&&f.name===`async`?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),a&&o&&this.raise(f.start,`The left-hand side of a for-of loop may not start with 'let'.`),this.toAssignable(f,!1,u),this.checkLValPattern(f),this.parseForIn(e,f)):(this.checkExpressionErrors(u,!0),t>-1&&this.unexpected(t),this.parseFor(e,f))},B.parseForAfterInit=function(e,t,n){return(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))&&t.declarations.length===1?(this.type===z._in?((t.kind===`using`||t.kind===`await using`)&&!t.declarations[0].init&&this.raise(this.start,`Using declaration is not allowed in for-in loops`),this.options.ecmaVersion>=9&&n>-1&&this.unexpected(n)):this.options.ecmaVersion>=9&&(e.await=n>-1),this.parseForIn(e,t)):(n>-1&&this.unexpected(n),this.parseFor(e,t))},B.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,Ii|(n?0:Li),!1,t)},B.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(`if`),e.alternate=this.eat(z._else)?this.parseStatement(`if`):null,this.finishNode(e,`IfStatement`)},B.parseReturnStatement=function(e){return this.allowReturn||this.raise(this.start,`'return' outside of function`),this.next(),this.eat(z.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)},B.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(z.braceL),this.labels.push(Pi),this.enterScope(vi);for(var t,n=!1;this.type!==z.braceR;)if(this.type===z._case||this.type===z._default){var r=this.type===z._case;t&&this.finishNode(t,`SwitchCase`),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,`Multiple default clauses`),n=!0,t.test=null),this.expect(z.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,`SwitchCase`),this.next(),this.labels.pop(),this.finishNode(e,`SwitchStatement`)},B.parseThrowStatement=function(e){return this.next(),Br.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,`Illegal newline after throw`),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)};var Fi=[];B.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type===`Identifier`;return this.enterScope(t?pi:0),this.checkLValPattern(e,t?Ti:Ci),this.expect(z.parenR),e},B.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===z._catch){var t=this.startNode();this.next(),this.eat(z.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(z._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,`Missing catch or finally clause`),this.finishNode(e,`TryStatement`)},B.parseVarStatement=function(e,t,n){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)},B.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Ni),e.body=this.parseStatement(`while`),this.labels.pop(),this.finishNode(e,`WhileStatement`)},B.parseWithStatement=function(e){return this.strict&&this.raise(this.start,`'with' in strict mode`),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(`with`),this.finishNode(e,`WithStatement`)},B.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,`EmptyStatement`)},B.parseLabeledStatement=function(e,t,n,r){for(var i=0,a=this.labels;i<a.length;i+=1)a[i].name===t&&this.raise(n.start,`Label '`+t+`' is already declared`);for(var o=this.type.isLoop?`loop`:this.type===z._switch?`switch`:null,s=this.labels.length-1;s>=0;s--){var c=this.labels[s];if(c.statementStart===e.start)c.statementStart=this.start,c.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf(`label`)===-1?r+`label`:r:`label`),this.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)},B.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)},B.parseBlock=function(e,t,n){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(z.braceL),e&&this.enterScope(0);this.type!==z.braceR;){var r=this.parseStatement(null);t.body.push(r)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,`BlockStatement`)},B.parseFor=function(e,t){return e.init=t,this.expect(z.semi),e.test=this.type===z.semi?null:this.parseExpression(),this.expect(z.semi),e.update=this.type===z.parenR?null:this.parseExpression(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,`ForStatement`)},B.parseForIn=function(e,t){var n=this.type===z._in;return this.next(),t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!n||this.options.ecmaVersion<8||this.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(t.start,(n?`for-in`:`for-of`)+` loop variable declaration may not have an initializer`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(z.parenR),e.body=this.parseStatement(`for`),this.exitScope(),this.labels.pop(),this.finishNode(e,n?`ForInStatement`:`ForOfStatement`)},B.parseVar=function(e,t,n,r){for(e.declarations=[],e.kind=n;;){var i=this.startNode();if(this.parseVarId(i,n),this.eat(z.eq)?i.init=this.parseMaybeAssign(t):!r&&n===`const`&&!(this.type===z._in||this.options.ecmaVersion>=6&&this.isContextual(`of`))?this.unexpected():!r&&(n===`using`||n===`await using`)&&this.options.ecmaVersion>=17&&this.type!==z._in&&!this.isContextual(`of`)?this.raise(this.lastTokEnd,`Missing initializer in `+n+` declaration`):!r&&i.id.type!==`Identifier`&&!(t&&(this.type===z._in||this.isContextual(`of`)))?this.raise(this.lastTokEnd,`Complex binding patterns require an initialization value`):i.init=null,e.declarations.push(this.finishNode(i,`VariableDeclarator`)),!this.eat(z.comma))break}return e},B.parseVarId=function(e,t){e.id=t===`using`||t===`await using`?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(e.id,t===`var`?Si:Ci,!1)};var Ii=1,Li=2,Ri=4;B.parseFunction=function(e,t,n,r,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===z.star&&t&Li&&this.unexpected(),e.generator=this.eat(z.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Ii&&(e.id=t&Ri&&this.type!==z.name?null:this.parseIdent(),e.id&&!(t&Li)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?Si:Ci:wi));var a=this.yieldPos,o=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(e.async,e.generator)),t&Ii||(e.id=this.type===z.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,i),this.yieldPos=a,this.awaitPos=o,this.awaitIdentPos=s,this.finishNode(e,t&Ii?`FunctionDeclaration`:`FunctionExpression`)},B.parseFunctionParams=function(e){this.expect(z.parenL),e.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},B.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),i=this.startNode(),a=!1;for(i.body=[],this.expect(z.braceL);this.type!==z.braceR;){var o=this.parseClassElement(e.superClass!==null);o&&(i.body.push(o),o.type===`MethodDefinition`&&o.kind===`constructor`?(a&&this.raiseRecoverable(o.start,`Duplicate constructor in the same class`),a=!0):o.key&&o.key.type===`PrivateIdentifier`&&zi(r,o)&&this.raiseRecoverable(o.key.start,`Identifier '#`+o.key.name+`' has already been declared`))}return this.strict=n,this.next(),e.body=this.finishNode(i,`ClassBody`),this.exitClassBody(),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)},B.parseClassElement=function(e){if(this.eat(z.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),r=``,i=!1,a=!1,o=`method`,s=!1;if(this.eatContextual(`static`)){if(t>=13&&this.eat(z.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===z.star?s=!0:r=`static`}if(n.static=s,!r&&t>=8&&this.eatContextual(`async`)&&((this.isClassElementNameStart()||this.type===z.star)&&!this.canInsertSemicolon()?a=!0:r=`async`),!r&&(t>=9||!a)&&this.eat(z.star)&&(i=!0),!r&&!a&&!i){var c=this.value;(this.eatContextual(`get`)||this.eatContextual(`set`))&&(this.isClassElementNameStart()?o=c:r=c)}if(r?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=r,this.finishNode(n.key,`Identifier`)):this.parseClassElementName(n),t<13||this.type===z.parenL||o!==`method`||i||a){var l=!n.static&&Bi(n,`constructor`),u=l&&e;l&&o!==`method`&&this.raise(n.key.start,`Constructor can't have get/set modifier`),n.kind=l?`constructor`:o,this.parseClassMethod(n,i,a,u)}else this.parseClassField(n);return n},B.isClassElementNameStart=function(){return this.type===z.name||this.type===z.privateId||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword},B.parseClassElementName=function(e){this.type===z.privateId?(this.value===`constructor`&&this.raise(this.start,`Classes can't have an element named '#constructor'`),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},B.parseClassMethod=function(e,t,n,r){var i=e.key;e.kind===`constructor`?(t&&this.raise(i.start,`Constructor can't be a generator`),n&&this.raise(i.start,`Constructor can't be an async method`)):e.static&&Bi(e,`prototype`)&&this.raise(i.start,`Classes may not have a static property named prototype`);var a=e.value=this.parseMethod(t,n,r);return e.kind===`get`&&a.params.length!==0&&this.raiseRecoverable(a.start,`getter should have no params`),e.kind===`set`&&a.params.length!==1&&this.raiseRecoverable(a.start,`setter should have exactly one param`),e.kind===`set`&&a.params[0].type===`RestElement`&&this.raiseRecoverable(a.params[0].start,`Setter cannot use rest params`),this.finishNode(e,`MethodDefinition`)},B.parseClassField=function(e){return Bi(e,`constructor`)?this.raise(e.key.start,`Classes can't have a field named 'constructor'`):e.static&&Bi(e,`prototype`)&&this.raise(e.key.start,`Classes can't have a static field named 'prototype'`),this.eat(z.eq)?(this.enterScope(_i|mi),e.value=this.parseMaybeAssign(),this.exitScope()):e.value=null,this.semicolon(),this.finishNode(e,`PropertyDefinition`)},B.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(gi|mi);this.type!==z.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,`StaticBlock`)},B.parseClassId=function(e,t){this.type===z.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Ci,!1)):(t===!0&&this.unexpected(),e.id=null)},B.parseClassSuper=function(e){e.superClass=this.eat(z._extends)?this.parseExprSubscripts(null,!1):null},B.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},B.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,n=e.used;if(this.options.checkPrivateFields)for(var r=this.privateNameStack.length,i=r===0?null:this.privateNameStack[r-1],a=0;a<n.length;++a){var o=n[a];Yr(t,o.name)||(i?i.used.push(o):this.raiseRecoverable(o.start,`Private field '#`+o.name+`' must be declared in an enclosing class`))}};function zi(e,t){var n=t.key.name,r=e[n],i=`true`;return t.type===`MethodDefinition`&&(t.kind===`get`||t.kind===`set`)&&(i=(t.static?`s`:`i`)+t.kind),r===`iget`&&i===`iset`||r===`iset`&&i===`iget`||r===`sget`&&i===`sset`||r===`sset`&&i===`sget`?(e[n]=`true`,!1):r?!0:(e[n]=i,!1)}function Bi(e,t){var n=e.computed,r=e.key;return!n&&(r.type===`Identifier`&&r.name===t||r.type===`Literal`&&r.value===t)}B.parseExportAllDeclaration=function(e,t){return this.options.ecmaVersion>=11&&(this.eatContextual(`as`)?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual(`from`),this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ExportAllDeclaration`)},B.parseExport=function(e,t){if(this.next(),this.eat(z.star))return this.parseExportAllDeclaration(e,t);if(this.eat(z._default))return this.checkExport(t,`default`,this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,`ExportDefaultDeclaration`);if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type===`VariableDeclaration`?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[]);else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual(`from`))this.type!==z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var n=0,r=e.specifiers;n<r.length;n+=1){var i=r[n];this.checkUnreserved(i.local),this.checkLocalExport(i.local),i.local.type===`Literal`&&this.raise(i.local.start,\"A string literal cannot be used as an exported binding without `from`.\")}e.source=null,this.options.ecmaVersion>=16&&(e.attributes=[])}this.semicolon()}return this.finishNode(e,`ExportNamedDeclaration`)},B.parseExportDeclaration=function(e){return this.parseStatement(null)},B.parseExportDefaultDeclaration=function(){var e;if(this.type===z._function||(e=this.isAsyncFunction())){var t=this.startNode();return this.next(),e&&this.next(),this.parseFunction(t,Ii|Ri,!1,e)}else if(this.type===z._class){var n=this.startNode();return this.parseClass(n,`nullableID`)}else{var r=this.parseMaybeAssign();return this.semicolon(),r}},B.checkExport=function(e,t,n){e&&(typeof t!=`string`&&(t=t.type===`Identifier`?t.name:t.value),Yr(e,t)&&this.raiseRecoverable(n,`Duplicate export '`+t+`'`),e[t]=!0)},B.checkPatternExport=function(e,t){var n=t.type;if(n===`Identifier`)this.checkExport(e,t,t.start);else if(n===`ObjectPattern`)for(var r=0,i=t.properties;r<i.length;r+=1){var a=i[r];this.checkPatternExport(e,a)}else if(n===`ArrayPattern`)for(var o=0,s=t.elements;o<s.length;o+=1){var c=s[o];c&&this.checkPatternExport(e,c)}else n===`Property`?this.checkPatternExport(e,t.value):n===`AssignmentPattern`?this.checkPatternExport(e,t.left):n===`RestElement`&&this.checkPatternExport(e,t.argument)},B.checkVariableExport=function(e,t){if(e)for(var n=0,r=t;n<r.length;n+=1){var i=r[n];this.checkPatternExport(e,i.id)}},B.shouldParseExportStatement=function(){return this.type.keyword===`var`||this.type.keyword===`const`||this.type.keyword===`class`||this.type.keyword===`function`||this.isLet()||this.isAsyncFunction()},B.parseExportSpecifier=function(e){var t=this.startNode();return t.local=this.parseModuleExportName(),t.exported=this.eatContextual(`as`)?this.parseModuleExportName():t.local,this.checkExport(e,t.exported,t.exported.start),this.finishNode(t,`ExportSpecifier`)},B.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(z.braceL);!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;t.push(this.parseExportSpecifier(e))}return t},B.parseImport=function(e){return this.next(),this.type===z.string?(e.specifiers=Fi,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual(`from`),e.source=this.type===z.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,`ImportDeclaration`)},B.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual(`as`)?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportSpecifier`)},B.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportDefaultSpecifier`)},B.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual(`as`),e.local=this.parseIdent(),this.checkLValSimple(e.local,Ci),this.finishNode(e,`ImportNamespaceSpecifier`)},B.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===z.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(z.comma)))return e;if(this.type===z.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(z.braceL);!this.eat(z.braceR);){if(t)t=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;e.push(this.parseImportSpecifier())}return e},B.parseWithClause=function(){var e=[];if(!this.eat(z._with))return e;this.expect(z.braceL);for(var t={},n=!0;!this.eat(z.braceR);){if(n)n=!1;else if(this.expect(z.comma),this.afterTrailingComma(z.braceR))break;var r=this.parseImportAttribute(),i=r.key.type===`Identifier`?r.key.name:r.key.value;Yr(t,i)&&this.raiseRecoverable(r.key.start,`Duplicate attribute key '`+i+`'`),t[i]=!0,e.push(r)}return e},B.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`),this.expect(z.colon),this.type!==z.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,`ImportAttribute`)},B.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===z.string){var e=this.parseLiteral(this.value);return ei.test(e.value)&&this.raise(e.start,`An export name cannot include a lone surrogate.`),e}return this.parseIdent(!0)},B.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},B.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&(this.input[e.start]===`\"`||this.input[e.start]===`'`)};var Vi=Di.prototype;Vi.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case`Identifier`:this.inAsync&&e.name===`await`&&this.raise(e.start,`Cannot use 'await' as identifier inside an async function`);break;case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:break;case`ObjectExpression`:e.type=`ObjectPattern`,n&&this.checkPatternErrors(n,!0);for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.toAssignable(a,t),a.type===`RestElement`&&(a.argument.type===`ArrayPattern`||a.argument.type===`ObjectPattern`)&&this.raise(a.argument.start,`Unexpected token`)}break;case`Property`:e.kind!==`init`&&this.raise(e.key.start,`Object pattern can't contain getter or setter`),this.toAssignable(e.value,t);break;case`ArrayExpression`:e.type=`ArrayPattern`,n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case`SpreadElement`:e.type=`RestElement`,this.toAssignable(e.argument,t),e.argument.type===`AssignmentPattern`&&this.raise(e.argument.start,`Rest elements cannot have a default value`);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(e.left.end,`Only '=' operator can be used for specifying default value.`),e.type=`AssignmentPattern`,delete e.operator,this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(e.expression,t,n);break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:if(!t)break;default:this.raise(e.start,`Assigning to rvalue`)}else n&&this.checkPatternErrors(n,!0);return e},Vi.toAssignableList=function(e,t){for(var n=e.length,r=0;r<n;r++){var i=e[r];i&&this.toAssignable(i,t)}if(n){var a=e[n-1];this.options.ecmaVersion===6&&t&&a&&a.type===`RestElement`&&a.argument.type!==`Identifier`&&this.unexpected(a.argument.start)}return e},Vi.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,`SpreadElement`)},Vi.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==z.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,`RestElement`)},Vi.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case z.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(z.bracketR,!0,!0),this.finishNode(e,`ArrayPattern`);case z.braceL:return this.parseObj(!0)}return this.parseIdent()},Vi.parseBindingList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);)if(a?a=!1:this.expect(z.comma),t&&this.type===z.comma)i.push(null);else if(n&&this.afterTrailingComma(e))break;else if(this.type===z.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),i.push(o),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.expect(e);break}else i.push(this.parseAssignableListItem(r));return i},Vi.parseAssignableListItem=function(e){var t=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(t),t},Vi.parseBindingListItem=function(e){return e},Vi.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(z.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,`AssignmentPattern`)},Vi.checkLValSimple=function(e,t,n){t===void 0&&(t=xi);var r=t!==xi;switch(e.type){case`Identifier`:this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?`Binding `:`Assigning to `)+e.name+` in strict mode`),r&&(t===Ci&&e.name===`let`&&this.raiseRecoverable(e.start,`let is disallowed as a lexically bound name`),n&&(Yr(n,e.name)&&this.raiseRecoverable(e.start,`Argument name clash`),n[e.name]=!0),t!==Ei&&this.declareName(e.name,t,e.start));break;case`ChainExpression`:this.raiseRecoverable(e.start,`Optional chaining cannot appear in left-hand side`);break;case`MemberExpression`:r&&this.raiseRecoverable(e.start,`Binding member expression`);break;case`ParenthesizedExpression`:return r&&this.raiseRecoverable(e.start,`Binding parenthesized expression`),this.checkLValSimple(e.expression,t,n);default:this.raise(e.start,(r?`Binding`:`Assigning to`)+` rvalue`)}},Vi.checkLValPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`ObjectPattern`:for(var r=0,i=e.properties;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,t,n)}break;case`ArrayPattern`:for(var o=0,s=e.elements;o<s.length;o+=1){var c=s[o];c&&this.checkLValInnerPattern(c,t,n)}break;default:this.checkLValSimple(e,t,n)}},Vi.checkLValInnerPattern=function(e,t,n){switch(t===void 0&&(t=xi),e.type){case`Property`:this.checkLValInnerPattern(e.value,t,n);break;case`AssignmentPattern`:this.checkLValPattern(e.left,t,n);break;case`RestElement`:this.checkLValPattern(e.argument,t,n);break;default:this.checkLValPattern(e,t,n)}};var Hi=function(e,t,n,r,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r,this.generator=!!i},V={b_stat:new Hi(`{`,!1),b_expr:new Hi(`{`,!0),b_tmpl:new Hi(\"${\",!1),p_stat:new Hi(`(`,!1),p_expr:new Hi(`(`,!0),q_tmpl:new Hi(\"`\",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new Hi(`function`,!1),f_expr:new Hi(`function`,!0),f_expr_gen:new Hi(`function`,!0,!1,null,!0),f_gen:new Hi(`function`,!1,!1,null,!0)},Ui=Di.prototype;Ui.initialContext=function(){return[V.b_stat]},Ui.curContext=function(){return this.context[this.context.length-1]},Ui.braceIsBlock=function(e){var t=this.curContext();return t===V.f_expr||t===V.f_stat?!0:e===z.colon&&(t===V.b_stat||t===V.b_expr)?!t.isExpr:e===z._return||e===z.name&&this.exprAllowed?Br.test(this.input.slice(this.lastTokEnd,this.start)):e===z._else||e===z.semi||e===z.eof||e===z.parenR||e===z.arrow?!0:e===z.braceL?t===V.b_stat:e===z._var||e===z._const||e===z.name?!1:!this.exprAllowed},Ui.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token===`function`)return t.generator}return!1},Ui.updateContext=function(e){var t,n=this.type;n.keyword&&e===z.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Ui.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},z.parenR.updateContext=z.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===V.b_stat&&this.curContext().token===`function`&&(e=this.context.pop()),this.exprAllowed=!e.isExpr},z.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?V.b_stat:V.b_expr),this.exprAllowed=!0},z.dollarBraceL.updateContext=function(){this.context.push(V.b_tmpl),this.exprAllowed=!0},z.parenL.updateContext=function(e){var t=e===z._if||e===z._for||e===z._with||e===z._while;this.context.push(t?V.p_stat:V.p_expr),this.exprAllowed=!0},z.incDec.updateContext=function(){},z._function.updateContext=z._class.updateContext=function(e){e.beforeExpr&&e!==z._else&&!(e===z.semi&&this.curContext()!==V.p_stat)&&!(e===z._return&&Br.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===z.colon||e===z.braceL)&&this.curContext()===V.b_stat)?this.context.push(V.f_expr):this.context.push(V.f_stat),this.exprAllowed=!1},z.colon.updateContext=function(){this.curContext().token===`function`&&this.context.pop(),this.exprAllowed=!0},z.backQuote.updateContext=function(){this.curContext()===V.q_tmpl?this.context.pop():this.context.push(V.q_tmpl),this.exprAllowed=!1},z.star.updateContext=function(e){if(e===z._function){var t=this.context.length-1;this.context[t]===V.f_expr?this.context[t]=V.f_expr_gen:this.context[t]=V.f_gen}this.exprAllowed=!0},z.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==z.dot&&(this.value===`of`&&!this.exprAllowed||this.value===`yield`&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var H=Di.prototype;H.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&e.type===`SpreadElement`)&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,i;switch(r.type){case`Identifier`:i=r.name;break;case`Literal`:i=String(r.value);break;default:return}var a=e.kind;if(this.options.ecmaVersion>=6){i===`__proto__`&&a===`init`&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,`Redefinition of __proto__ property`)),t.proto=!0);return}i=`$`+i;var o=t[i];o?(a===`init`?this.strict&&o.init||o.get||o.set:o.init||o[a])&&this.raiseRecoverable(r.start,`Redefinition of property`):o=t[i]={init:!1,get:!1,set:!1},o[a]=!0}},H.parseExpression=function(e,t){var n=this;return this.catchStackOverflow(function(){var r=n.start,i=n.startLoc,a=n.parseMaybeAssign(e,t);if(n.type===z.comma){var o=n.startNodeAt(r,i);for(o.expressions=[a];n.eat(z.comma);)o.expressions.push(n.parseMaybeAssign(e,t));return n.finishNode(o,`SequenceExpression`)}return a})},H.parseMaybeAssign=function(e,t,n){if(this.isContextual(`yield`)){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,i=-1,a=-1,o=-1;t?(i=t.parenthesizedAssign,a=t.trailingComma,o=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new Mi,r=!0);var s=this.start,c=this.startLoc;(this.type===z.parenL||this.type===z.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e===`await`);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,s,c)),this.type.isAssign){var u=this.startNodeAt(s,c);return u.operator=this.value,this.type===z.eq&&(l=this.toAssignable(l,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=-1,t.shorthandAssign>=l.start&&(t.shorthandAssign=-1),t.doubleProto>=l.start&&(t.doubleProto=-1)),this.type===z.eq?this.checkLValPattern(l):this.checkLValSimple(l),u.left=l,this.next(),u.right=this.parseMaybeAssign(e),o>-1&&(t.doubleProto=o),this.finishNode(u,`AssignmentExpression`)}else r&&this.checkExpressionErrors(t,!0);return i>-1&&(t.parenthesizedAssign=i),a>-1&&(t.trailingComma=a),l},H.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(!(i.type===`ArrowFunctionExpression`&&i.start===n)&&this.eat(z.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(z.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,`ConditionalExpression`)}return i},H.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||i.start===n&&i.type===`ArrowFunctionExpression`?i:this.parseExprOp(i,n,r,-1,e)},H.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(a!=null&&(!i||this.type!==z._in)&&a>r){var o=this.type===z.logicalOR||this.type===z.logicalAND,s=this.type===z.coalesce;s&&(a=z.logicalAND.binop);var c=this.value;this.next();var l=this.start,u=this.startLoc,d=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,i),l,u,a,i),f=this.buildBinary(t,n,e,d,c,o||s);return(o&&this.type===z.coalesce||s&&(this.type===z.logicalOR||this.type===z.logicalAND))&&this.raiseRecoverable(this.start,`Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses`),this.parseExprOp(f,t,n,r,i)}return e},H.buildBinary=function(e,t,n,r,i,a){r.type===`PrivateIdentifier`&&this.raise(r.start,`Private identifier can only be left side of binary expression`);var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?`LogicalExpression`:`BinaryExpression`)},H.parseMaybeUnary=function(e,t,n,r){var i=this.start,a=this.startLoc,o;if(this.isContextual(`await`)&&this.canAwait)o=this.parseAwait(r),t=!0;else if(this.type.prefix){var s=this.startNode(),c=this.type===z.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(s.argument):this.strict&&s.operator===`delete`&&Wi(s.argument)?this.raiseRecoverable(s.start,`Deleting local variable in strict mode`):s.operator===`delete`&&Gi(s.argument)?this.raiseRecoverable(s.start,`Private fields can not be deleted`):t=!0,o=this.finishNode(s,c?`UpdateExpression`:`UnaryExpression`)}else if(!t&&this.type===z.privateId)(r||this.privateNameStack.length===0)&&this.options.checkPrivateFields&&this.unexpected(),o=this.parsePrivateIdent(),this.type!==z._in&&this.unexpected();else{if(o=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return o;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(i,a);l.operator=this.value,l.prefix=!1,l.argument=o,this.checkLValSimple(o),this.next(),o=this.finishNode(l,`UpdateExpression`)}}if(!n&&!(o.type===`ArrowFunctionExpression`&&o.start===i)&&this.eat(z.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(i,a,o,this.parseMaybeUnary(null,!1,!1,r),`**`,!1);else return o};function Wi(e){return e.type===`Identifier`||e.type===`ParenthesizedExpression`&&Wi(e.expression)}function Gi(e){return e.type===`MemberExpression`&&e.property.type===`PrivateIdentifier`||e.type===`ChainExpression`&&Gi(e.expression)||e.type===`ParenthesizedExpression`&&Gi(e.expression)}H.parseExprSubscripts=function(e,t){var n=this.start,r=this.startLoc,i=-1,a=-1;e&&(i=e.doubleProto,a=e.shorthandAssign,e.doubleProto=e.shorthandAssign=-1);var o=this.parseExprAtom(e,t);if(o.type===`ArrowFunctionExpression`&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==`)`)return o;var s=this.parseSubscripts(o,n,r,!1,t);return e&&(s.end>o.end&&(this.checkExpressionErrors(e,!0),e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1),e.trailingComma>=s.start&&(e.trailingComma=-1)),i>-1&&(e.doubleProto=i),a>-1&&(e.shorthandAssign=a)),s},H.parseSubscripts=function(e,t,n,r,i){for(var a=this.options.ecmaVersion>=8&&e.type===`Identifier`&&e.name===`async`&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,o=!1;;){var s=this.parseSubscript(e,t,n,r,a,o,i);if(s.optional&&(o=!0),s.end===e.end||s.type===`ArrowFunctionExpression`){if(o){var c=this.startNodeAt(t,n);c.expression=s,s=this.finishNode(c,`ChainExpression`)}return s}e=s,a=!1}},H.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(z.arrow)},H.parseSubscriptAsyncArrow=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!0,r)},H.parseSubscript=function(e,t,n,r,i,a,o){var s=this.options.ecmaVersion>=11,c=s&&this.eat(z.questionDot);r&&c&&this.raise(this.lastTokStart,`Optional chaining cannot appear in the callee of new expressions`);var l=this.eat(z.bracketL);if(l||c&&this.type!==z.parenL&&this.type!==z.backQuote||this.eat(z.dot)){var u=this.startNodeAt(t,n);u.object=e,l?(u.property=this.parseExpression(),this.expect(z.bracketR)):this.type===z.privateId&&e.type!==`Super`?u.property=this.parsePrivateIdent():u.property=this.parseIdent(this.options.allowReserved!==`never`),u.computed=!!l,s&&(u.optional=c),e=this.finishNode(u,`MemberExpression`)}else if(!r&&this.eat(z.parenL)){var d=new Mi,f=this.yieldPos,p=this.awaitPos,m=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var h=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1,d);if(i&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,`Cannot use 'await' as identifier inside an async function`),this.yieldPos=f,this.awaitPos=p,this.awaitIdentPos=m,this.parseSubscriptAsyncArrow(t,n,h,o);this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,this.awaitIdentPos=m||this.awaitIdentPos;var g=this.startNodeAt(t,n);g.callee=e,g.arguments=h,s&&(g.optional=c),e=this.finishNode(g,`CallExpression`)}else if(this.type===z.backQuote){(c||a)&&this.raise(this.start,`Optional chaining cannot appear in the tag of tagged template expressions`);var _=this.startNodeAt(t,n);_.tag=e,_.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(_,`TaggedTemplateExpression`)}return e},H.parseExprAtom=function(e,t,n){this.type===z.slash&&this.readRegexp();var r,i=this.potentialArrowAt===this.start;switch(this.type){case z._super:return this.allowSuper||this.raise(this.start,`'super' keyword outside a method`),r=this.startNode(),this.next(),this.type===z.parenL&&!this.allowDirectSuper&&this.raise(r.start,`super() call outside constructor of a subclass`),this.type!==z.dot&&this.type!==z.bracketL&&this.type!==z.parenL&&this.unexpected(),this.finishNode(r,`Super`);case z._this:return r=this.startNode(),this.next(),this.finishNode(r,`ThisExpression`);case z.name:var a=this.start,o=this.startLoc,s=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&c.name===`async`&&!this.canInsertSemicolon()&&this.eat(z._function))return this.overrideContext(V.f_expr),this.parseFunction(this.startNodeAt(a,o),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(z.arrow))return this.parseArrowExpression(this.startNodeAt(a,o),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name===`async`&&this.type===z.name&&!s&&(!this.potentialArrowInForAwait||this.value!==`of`||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(z.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,o),[c],!0,t)}return c;case z.regexp:var l=this.value;return r=this.parseLiteral(l.value),r.regex={pattern:l.pattern,flags:l.flags},r;case z.num:case z.string:return this.parseLiteral(this.value);case z._null:case z._true:case z._false:return r=this.startNode(),r.value=this.type===z._null?null:this.type===z._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,`Literal`);case z.parenL:var u=this.start,d=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(d)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),d;case z.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(z.bracketR,!0,!0,e),this.finishNode(r,`ArrayExpression`);case z.braceL:return this.overrideContext(V.b_expr),this.parseObj(!1,e);case z._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case z._class:return this.parseClass(this.startNode(),!1);case z._new:return this.parseNew();case z.backQuote:return this.parseTemplate();case z._import:return this.options.ecmaVersion>=11?this.parseExprImport(n):this.unexpected();default:return this.parseExprAtomDefault()}},H.parseExprAtomDefault=function(){this.unexpected()},H.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword import`),this.next(),this.type===z.parenL&&!e)return this.parseDynamicImport(t);if(this.type===z.dot){var n=this.startNodeAt(t.start,t.loc&&t.loc.start);return n.name=`import`,t.meta=this.finishNode(n,`Identifier`),this.parseImportMeta(t)}else this.unexpected()},H.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(z.parenR)?e.options=null:(this.expect(z.comma),this.afterTrailingComma(z.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(z.parenR)||(this.expect(z.comma),this.afterTrailingComma(z.parenR)||this.unexpected())));else if(!this.eat(z.parenR)){var t=this.start;this.eat(z.comma)&&this.eat(z.parenR)?this.raiseRecoverable(t,`Trailing comma is not allowed in import()`):this.unexpected(t)}return this.finishNode(e,`ImportExpression`)},H.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`meta`&&this.raiseRecoverable(e.property.start,`The only valid meta property for import is 'import.meta'`),t&&this.raiseRecoverable(e.start,`'import.meta' must not contain escaped characters`),this.options.sourceType!==`module`&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,`Cannot use 'import.meta' outside a module`),this.finishNode(e,`MetaProperty`)},H.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.value==null?t.raw.slice(0,-1).replace(/_/g,``):t.value.toString()),this.next(),this.finishNode(t,`Literal`)},H.parseParenExpression=function(){this.expect(z.parenL);var e=this.parseExpression();return this.expect(z.parenR),e},H.shouldParseArrow=function(e){return!this.canInsertSemicolon()},H.parseParenAndDistinguishExpression=function(e,t){var n=this.start,r=this.startLoc,i,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o=this.start,s=this.startLoc,c=[],l=!0,u=!1,d=new Mi,f=this.yieldPos,p=this.awaitPos,m;for(this.yieldPos=0,this.awaitPos=0;this.type!==z.parenR;)if(l?l=!1:this.expect(z.comma),a&&this.afterTrailingComma(z.parenR,!0)){u=!0;break}else if(this.type===z.ellipsis){m=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`);break}else c.push(this.parseMaybeAssign(!1,d,this.parseParenItem));var h=this.lastTokEnd,g=this.lastTokEndLoc;if(this.expect(z.parenR),e&&this.shouldParseArrow(c)&&this.eat(z.arrow))return this.checkPatternErrors(d,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=f,this.awaitPos=p,this.parseParenArrowList(n,r,c,t);(!c.length||u)&&this.unexpected(this.lastTokStart),m&&this.unexpected(m),this.checkExpressionErrors(d,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=p||this.awaitPos,c.length>1?(i=this.startNodeAt(o,s),i.expressions=c,this.finishNodeAt(i,`SequenceExpression`,h,g)):i=c[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var _=this.startNodeAt(n,r);return _.expression=i,this.finishNode(_,`ParenthesizedExpression`)}else return i},H.parseParenItem=function(e){return e},H.parseParenArrowList=function(e,t,n,r){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,r)};var Ki=[];H.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword new`);var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===z.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name=`new`,e.meta=this.finishNode(t,`Identifier`),this.next();var n=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!==`target`&&this.raiseRecoverable(e.property.start,`The only valid meta property for new is 'new.target'`),n&&this.raiseRecoverable(e.start,`'new.target' must not contain escaped characters`),this.allowNewDotTarget||this.raiseRecoverable(e.start,`'new.target' can only be used in functions and class static block`),this.finishNode(e,`MetaProperty`)}var r=this.start,i=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),r,i,!0,!1),e.callee.type===`Super`&&this.raiseRecoverable(r,`Invalid use of 'super'`),this.eat(z.parenL)?e.arguments=this.parseExprList(z.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ki,this.finishNode(e,`NewExpression`)},H.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===z.invalidTemplate?(t||this.raiseRecoverable(this.start,`Bad escape sequence in untagged template literal`),n.value={raw:this.value.replace(/\\r\\n?/g,`\n`),cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,`\n`),cooked:this.value},this.next(),n.tail=this.type===z.backQuote,this.finishNode(n,`TemplateElement`)},H.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.type===z.eof&&this.raise(this.pos,`Unterminated template literal`),this.expect(z.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(z.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,`TemplateLiteral`)},H.isAsyncProp=function(e){return!e.computed&&e.key.type===`Identifier`&&e.key.name===`async`&&(this.type===z.name||this.type===z.num||this.type===z.string||this.type===z.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===z.star)&&!Br.test(this.input.slice(this.lastTokEnd,this.start))},H.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(z.braceR);){if(r)r=!1;else if(this.expect(z.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(z.braceR))break;var a=this.parseProperty(e,t);e||this.checkPropClash(a,i,t),n.properties.push(a)}return this.finishNode(n,e?`ObjectPattern`:`ObjectExpression`)},H.parseProperty=function(e,t){var n=this.startNode(),r,i,a,o;if(this.options.ecmaVersion>=9&&this.eat(z.ellipsis))return e?(n.argument=this.parseIdent(!1),this.type===z.comma&&this.raiseRecoverable(this.start,`Comma is not permitted after the rest element`),this.finishNode(n,`RestElement`)):(n.argument=this.parseMaybeAssign(!1,t),this.type===z.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(n,`SpreadElement`));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(e||t)&&(a=this.start,o=this.startLoc),e||(r=this.eat(z.star)));var s=this.containsEsc;return this.parsePropertyName(n),!e&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(n)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(z.star),this.parsePropertyName(n)):i=!1,this.parsePropertyValue(n,e,r,i,a,o,t,s),this.finishNode(n,`Property`)},H.parseGetterSetter=function(e){var t=e.key.name;this.parsePropertyName(e),e.value=this.parseMethod(!1),e.kind=t;var n=e.kind===`get`?0:1;if(e.value.params.length!==n){var r=e.value.start;e.kind===`get`?this.raiseRecoverable(r,`getter should have no params`):this.raiseRecoverable(r,`setter should have exactly one param`)}else e.kind===`set`&&e.value.params[0].type===`RestElement`&&this.raiseRecoverable(e.value.params[0].start,`Setter cannot use rest params`)},H.parsePropertyValue=function(e,t,n,r,i,a,o,s){(n||r)&&this.type===z.colon&&this.unexpected(),this.eat(z.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind=`init`):this.options.ecmaVersion>=6&&this.type===z.parenL?(t&&this.unexpected(),e.method=!0,e.value=this.parseMethod(n,r),e.kind=`init`):!t&&!s&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.type!==z.comma&&this.type!==z.braceR&&this.type!==z.eq?((n||r)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type===`Identifier`?((n||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=i),t?e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key)):this.type===z.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,a,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.kind=`init`,e.shorthand=!0):this.unexpected()},H.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(z.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(z.bracketR),e.key;e.computed=!1}return e.key=this.type===z.num||this.type===z.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==`never`)},H.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},H.parseMethod=function(e,t,n){var r=this.startNode(),i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bi(t,r.generator)|mi|(n?hi:0)),this.expect(z.parenL),r.params=this.parseBindingList(z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(r,`FunctionExpression`)},H.parseArrowExpression=function(e,t,n,r){var i=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(bi(n,!1)|fi),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=i,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,`ArrowFunctionExpression`)},H.parseFunctionBody=function(e,t,n,r){var i=t&&this.type!==z.braceL,a=this.strict,o=!1;if(i)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!a||s)&&(o=this.strictDirective(this.end),o&&s&&this.raiseRecoverable(e.start,`Illegal 'use strict' directive in function with non-simple parameter list`));var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(e,!a&&!o&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ei),e.body=this.parseBlock(!1,void 0,o&&!a),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()},H.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1)if(n[t].type!==`Identifier`)return!1;return!0},H.checkParams=function(e,t){for(var n=Object.create(null),r=0,i=e.params;r<i.length;r+=1){var a=i[r];this.checkLValInnerPattern(a,Si,t?null:n)}},H.parseExprList=function(e,t,n,r){for(var i=[],a=!0;!this.eat(e);){if(a)a=!1;else if(this.expect(z.comma),t&&this.afterTrailingComma(e))break;var o=void 0;n&&this.type===z.comma?o=null:this.type===z.ellipsis?(o=this.parseSpread(r),r&&this.type===z.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):o=this.parseMaybeAssign(!1,r),i.push(o)}return i},H.checkUnreserved=function(e){var t=e.start,n=e.end,r=e.name;this.inGenerator&&r===`yield`&&this.raiseRecoverable(t,`Cannot use 'yield' as identifier inside a generator`),this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use 'await' as identifier inside an async function`),!(this.currentThisScope().flags&yi)&&r===`arguments`&&this.raiseRecoverable(t,`Cannot use 'arguments' in class field initializer`),this.inClassStaticBlock&&(r===`arguments`||r===`await`)&&this.raise(t,`Cannot use `+r+` in class static initialization block`),this.keywords.test(r)&&this.raise(t,`Unexpected keyword '`+r+`'`),!(this.options.ecmaVersion<6&&this.input.slice(t,n).indexOf(`\\\\`)!==-1)&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(r)&&(!this.inAsync&&r===`await`&&this.raiseRecoverable(t,`Cannot use keyword 'await' outside an async function`),this.raiseRecoverable(t,`The keyword '`+r+`' is reserved`))},H.parseIdent=function(e){var t=this.parseIdentNode();return this.next(!!e),this.finishNode(t,`Identifier`),e||(this.checkUnreserved(t),t.name===`await`&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t},H.parseIdentNode=function(){var e=this.startNode();return this.type===z.name?e.name=this.value:this.type.keyword?(e.name=this.type.keyword,(e.name===`class`||e.name===`function`)&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop(),this.type=z.name):this.unexpected(),e},H.parsePrivateIdent=function(){var e=this.startNode();return this.type===z.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,`PrivateIdentifier`),this.options.checkPrivateFields&&(this.privateNameStack.length===0?this.raise(e.start,`Private field '#`+e.name+`' must be declared in an enclosing class`):this.privateNameStack[this.privateNameStack.length-1].used.push(e)),e},H.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===z.semi||this.canInsertSemicolon()||this.type!==z.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(z.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,`YieldExpression`)},H.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,`AwaitExpression`)};var qi=Di.prototype;qi.raise=function(e,t){var n=ri(this.input,e);t+=` (`+n.line+`:`+n.column+`)`,this.sourceFile&&(t+=` in `+this.sourceFile);var r=SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},qi.raiseRecoverable=qi.raise,qi.curPosition=function(){if(this.options.locations)return new ti(this.curLine,this.pos-this.lineStart)};var Ji=Di.prototype,Yi=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};Ji.enterScope=function(e){this.scopeStack.push(new Yi(e))},Ji.exitScope=function(){this.scopeStack.pop()},Ji.treatFunctionsAsVarInScope=function(e){return e.flags&li||!this.inModule&&e.flags&ci},Ji.declareName=function(e,t,n){var r=!1;if(t===Ci){var i=this.currentScope();r=i.lexical.indexOf(e)>-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&ci&&delete this.undefinedExports[e]}else if(t===Ti)this.currentScope().lexical.push(e);else if(t===wi){var a=this.currentScope();r=this.treatFunctionsAsVar?a.lexical.indexOf(e)>-1:a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var s=this.scopeStack[o];if(s.lexical.indexOf(e)>-1&&!(s.flags&pi&&s.lexical[0]===e)||!this.treatFunctionsAsVarInScope(s)&&s.functions.indexOf(e)>-1){r=!0;break}if(s.var.push(e),this.inModule&&s.flags&ci&&delete this.undefinedExports[e],s.flags&yi)break}r&&this.raiseRecoverable(n,`Identifier '`+e+`' has already been declared`)},Ji.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ji.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ji.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi))return t}},Ji.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&(yi|_i|gi)&&!(t.flags&fi))return t}};var Xi=function(e,t,n){this.type=``,this.start=t,this.end=0,e.options.locations&&(this.loc=new ni(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Zi=Di.prototype;Zi.startNode=function(){return new Xi(this,this.start,this.startLoc)},Zi.startNodeAt=function(e,t){return new Xi(this,e,t)};function Qi(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}Zi.finishNode=function(e,t){return Qi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Zi.finishNodeAt=function(e,t,n,r){return Qi.call(this,e,t,n,r)},Zi.copyNode=function(e){var t=new Xi(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var $i=`Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz`,ea=`ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`,ta=ea+` Extended_Pictographic`,na=ta,ra=na+` EBase EComp EMod EPres ExtPict`,ia=ra,aa=ia,oa={9:ea,10:ta,11:na,12:ra,13:ia,14:aa},sa=`Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji`,ca={9:``,10:``,11:``,12:``,13:``,14:sa},la=`Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu`,ua=`Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb`,da=ua+` Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd`,fa=da+` Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho`,pa=fa+` Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi`,ma=pa+` Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith`,ha=ma+` `+$i,ga={9:ua,10:da,11:fa,12:pa,13:ma,14:ha},_a={};function va(e){var t=_a[e]={binary:Qr(oa[e]+` `+la),binaryOfStrings:Qr(ca[e]),nonBinary:{General_Category:Qr(la),Script:Qr(ga[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var ya=0,ba=[9,10,11,12,13,14];ya<ba.length;ya+=1){var xa=ba[ya];va(xa)}var U=Di.prototype,Sa=function(e,t){this.parent=e,this.base=t||this};Sa.prototype.separatedFrom=function(e){for(var t=this;t;t=t.parent)for(var n=e;n;n=n.parent)if(t.base===n.base&&t!==n)return!0;return!1},Sa.prototype.sibling=function(){return new Sa(this.parent,this.base)};var Ca=function(e){this.parser=e,this.validFlags=`gim`+(e.options.ecmaVersion>=6?`uy`:``)+(e.options.ecmaVersion>=9?`s`:``)+(e.options.ecmaVersion>=13?`d`:``)+(e.options.ecmaVersion>=15?`v`:``),this.unicodeProperties=_a[e.options.ecmaVersion>=14?14:e.options.ecmaVersion],this.source=``,this.flags=``,this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=``,this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};Ca.prototype.reset=function(e,t,n){var r=n.indexOf(`v`)!==-1,i=n.indexOf(`u`)!==-1;this.start=e|0,this.source=t+``,this.flags=n,r&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=i&&this.parser.options.ecmaVersion>=9)},Ca.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,`Invalid regular expression: /`+this.source+`/: `+e)},Ca.prototype.at=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return-1;var i=n.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=r)return i;var a=n.charCodeAt(e+1);return a>=56320&&a<=57343?(i<<10)+a-56613888:i},Ca.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var n=this.source,r=n.length;if(e>=r)return r;var i=n.charCodeAt(e),a;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=r||(a=n.charCodeAt(e+1))<56320||a>57343?e+1:e+2},Ca.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},Ca.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Ca.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Ca.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1},Ca.prototype.eatChars=function(e,t){t===void 0&&(t=!1);for(var n=this.pos,r=0,i=e;r<i.length;r+=1){var a=i[r],o=this.at(n,t);if(o===-1||o!==a)return!1;n=this.nextIndex(n,t)}return this.pos=n,!0},U.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,r=!1,i=!1,a=0;a<n.length;a++){var o=n.charAt(a);t.indexOf(o)===-1&&this.raise(e.start,`Invalid regular expression flag`),n.indexOf(o,a+1)>-1&&this.raise(e.start,`Duplicate regular expression flag`),o===`u`&&(r=!0),o===`v`&&(i=!0)}this.options.ecmaVersion>=15&&r&&i&&this.raise(e.start,`Invalid regular expression flag`)};function wa(e){for(var t in e)return!0;return!1}U.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&wa(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))},U.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue=``,e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise(`Unmatched ')'`),(e.eat(93)||e.eat(125))&&e.raise(`Lone quantifier brackets`)),e.maxBackReference>e.numCapturingParens&&e.raise(`Invalid escape`);for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var r=n[t];e.groupNames[r]||e.raise(`Invalid named capture referenced`)}},U.regexp_disjunction=function(e){var t=this.options.ecmaVersion>=16;for(t&&(e.branchID=new Sa(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise(`Nothing to repeat`),e.eat(123)&&e.raise(`Lone quantifier brackets`)},U.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},U.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise(`Invalid quantifier`),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1},U.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise(`Unterminated group`),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},U.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},U.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},U.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var r=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i<r&&!t&&e.raise(`numbers out of order in {} quantifier`),!0;e.switchU&&!t&&e.raise(`Incomplete quantifier`),e.pos=n}return!1},U.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},U.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},U.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)){if(this.options.ecmaVersion>=16){var n=this.regexp_eatModifiers(e),r=e.eat(45);if(n||r){for(var i=0;i<n.length;i++){var a=n.charAt(i);n.indexOf(a,i+1)>-1&&e.raise(`Duplicate regular expression modifiers`)}if(r){var o=this.regexp_eatModifiers(e);!n&&!o&&e.current()===58&&e.raise(`Invalid regular expression modifiers`);for(var s=0;s<o.length;s++){var c=o.charAt(s);(o.indexOf(c,s+1)>-1||n.indexOf(c)>-1)&&e.raise(`Duplicate regular expression modifiers`)}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise(`Unterminated group`)}}e.pos=t}return!1},U.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise(`Invalid group`),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise(`Unterminated group`)}return!1},U.regexp_eatModifiers=function(e){for(var t=``,n=0;(n=e.current())!==-1&&Ta(n);)t+=$r(n),e.advance();return t};function Ta(e){return e===105||e===109||e===115}U.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},U.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise(`Nothing to repeat`),!1},U.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Ea(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Ea(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}U.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;(n=e.current())!==-1&&!Ea(n);)e.advance();return e.pos!==t},U.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},U.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise(`Invalid group`);var t=this.options.ecmaVersion>=16,n=e.groupNames[e.lastStringValue];if(n)if(t)for(var r=0,i=n;r<i.length;r+=1)i[r].separatedFrom(e.branchID)||e.raise(`Duplicate capture group name`);else e.raise(`Duplicate capture group name`);t?(n||(e.groupNames[e.lastStringValue]=[])).push(e.branchID):e.groupNames[e.lastStringValue]=!0}},U.regexp_eatGroupName=function(e){if(e.lastStringValue=``,e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise(`Invalid capture group name`)}return!1},U.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue=``,this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=$r(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=$r(e.lastIntValue);return!0}return!1},U.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Da(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Da(e){return Pr(e,!0)||e===36||e===95}U.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,r=e.current(n);return e.advance(n),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(r=e.lastIntValue),Oa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function Oa(e){return Fr(e,!0)||e===36||e===95||e===8204||e===8205}U.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise(`Invalid unicode escape`),e.raise(`Invalid escape`)),!1)},U.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},U.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise(`Invalid named reference`)}return!1},U.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},U.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},U.regexp_eatZero=function(e){return e.current()===48&&!Ba(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},U.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},U.regexp_eatControlLetter=function(e){var t=e.current();return ka(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ka(e){return e>=65&&e<=90||e>=97&&e<=122}U.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var n=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=(i-55296)*1024+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Aa(e.lastIntValue))return!0;r&&e.raise(`Invalid unicode escape`),e.pos=n}return!1};function Aa(e){return e>=0&&e<=1114111}U.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},U.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};var ja=0,Ma=1,Na=2;U.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Pa(t))return e.lastIntValue=-1,e.advance(),Ma;var n=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((n=t===80)||t===112)){e.lastIntValue=-1,e.advance();var r;if(e.eat(123)&&(r=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return n&&r===Na&&e.raise(`Invalid property name`),r;e.raise(`Invalid property name`)}return ja};function Pa(e){return e===100||e===68||e===115||e===83||e===119||e===87}U.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,r),Ma}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i)}return ja},U.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Yr(e.unicodeProperties.nonBinary,t)||e.raise(`Invalid property name`),e.unicodeProperties.nonBinary[t].test(n)||e.raise(`Invalid property value`)},U.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return Ma;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return Na;e.raise(`Invalid property name`)},U.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue=``;Fa(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Fa(e){return ka(e)||e===95}U.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue=``;Ia(t=e.current());)e.lastStringValue+=$r(t),e.advance();return e.lastStringValue!==``};function Ia(e){return Fa(e)||Ba(e)}U.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},U.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),n=this.regexp_classContents(e);return e.eat(93)||e.raise(`Unterminated character class`),t&&n===Na&&e.raise(`Negated character class may contain strings`),!0}return!1},U.regexp_classContents=function(e){return e.current()===93?Ma:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),Ma)},U.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;e.switchU&&(t===-1||n===-1)&&e.raise(`Invalid character class`),t!==-1&&n!==-1&&t>n&&e.raise(`Range out of order in character class`)}}},U.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(n===99||Ua(n))&&e.raise(`Invalid class escape`),e.raise(`Invalid escape`)}e.pos=t}var r=e.current();return r===93?!1:(e.lastIntValue=r,e.advance(),!0)},U.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},U.regexp_classSetExpression=function(e){var t=Ma,n;if(!this.regexp_eatClassSetRange(e))if(n=this.regexp_eatClassSetOperand(e)){n===Na&&(t=Na);for(var r=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(n=this.regexp_eatClassSetOperand(e))){n!==Na&&(t=Ma);continue}e.raise(`Invalid character in character class`)}if(r!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise(`Invalid character in character class`);if(r!==e.pos)return t}else e.raise(`Invalid character in character class`);for(;;)if(!this.regexp_eatClassSetRange(e)){if(n=this.regexp_eatClassSetOperand(e),!n)return t;n===Na&&(t=Na)}},U.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var n=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;return n!==-1&&r!==-1&&n>r&&e.raise(`Range out of order in character class`),!0}e.pos=t}return!1},U.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?Ma:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)},U.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var n=e.eat(94),r=this.regexp_classContents(e);if(e.eat(93))return n&&r===Na&&e.raise(`Negated character class may contain strings`),r;e.pos=t}if(e.eat(92)){var i=this.regexp_eatCharacterClassEscape(e);if(i)return i;e.pos=t}return null},U.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var n=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return n}else e.raise(`Invalid escape`);e.pos=t}return null},U.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===Na&&(t=Na);return t},U.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?Ma:Na},U.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var n=e.current();return n<0||n===e.lookahead()&&La(n)||Ra(n)?!1:(e.advance(),e.lastIntValue=n,!0)};function La(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function Ra(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}U.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return za(t)?(e.lastIntValue=t,e.advance(),!0):!1};function za(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}U.regexp_eatClassControlLetter=function(e){var t=e.current();return Ba(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},U.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise(`Invalid escape`),e.pos=t}return!1},U.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Ba(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t};function Ba(e){return e>=48&&e<=57}U.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;Va(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ha(n),e.advance();return e.pos!==t};function Va(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ha(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}U.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+n*8+e.lastIntValue:e.lastIntValue=t*8+n}else e.lastIntValue=t;return!0}return!1},U.regexp_eatOctalDigit=function(e){var t=e.current();return Ua(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function Ua(e){return e>=48&&e<=55}U.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var i=e.current();if(!Va(i))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ha(i),e.advance()}return!0};var Wa=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ni(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},W=Di.prototype;W.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,`Escape sequence in keyword `+this.type.keyword),this.options.onToken&&this.options.onToken(new Wa(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},W.getToken=function(){return this.next(),new Wa(this)},typeof Symbol<`u`&&(W[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===z.eof,value:t}}}}),W.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(z.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},W.readToken=function(e){return Pr(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},W.fullCharCodeAt=function(e){var t=this.input.charCodeAt(e);if(t<=55295||t>=56320)return t;var n=this.input.charCodeAt(e+1);return n<=56319||n>=57344?t:(t<<10)+n-56613888},W.fullCharCodeAtPos=function(){return this.fullCharCodeAt(this.pos)},W.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf(`*/`,this.pos+=2);if(n===-1&&this.raise(this.pos-2,`Unterminated comment`),this.pos=n+2,this.options.locations)for(var r=void 0,i=t;(r=Ur(this.input,i,this.pos))>-1;)++this.curLine,i=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},W.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!Hr(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},W.skipSpace=function(){loop:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break loop}break;default:if(e>8&&e<14||e>=5760&&Wr.test(String.fromCharCode(e)))++this.pos;else break loop}}},W.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},W.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(z.ellipsis)):(++this.pos,this.finishToken(z.dot))},W.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(z.assign,2):this.finishOp(z.slash,1)},W.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=e===42?z.star:z.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++n,r=z.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(z.assign,n+1):this.finishOp(r,n)},W.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(e===124?z.logicalOR:z.logicalAND,2):t===61?this.finishOp(z.assign,2):this.finishOp(e===124?z.bitwiseOR:z.bitwiseAND,1)},W.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(z.assign,2):this.finishOp(z.bitwiseXOR,1)},W.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||Br.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(z.incDec,2):t===61?this.finishOp(z.assign,2):this.finishOp(z.plusMin,1)},W.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+n)===61?this.finishOp(z.assign,n+1):this.finishOp(z.bitShift,n)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(n=2),this.finishOp(z.relational,n))},W.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(z.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(z.arrow)):this.finishOp(e===61?z.eq:z.prefix,1)},W.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(z.questionDot,2)}if(t===63)return e>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(z.assign,3):this.finishOp(z.coalesce,2)}return this.finishOp(z.question,1)},W.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),Pr(t,!0)||t===92))return this.finishToken(z.privateId,this.readWord1());this.raise(this.pos,`Unexpected character '`+$r(t)+`'`)},W.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(z.parenL);case 41:return++this.pos,this.finishToken(z.parenR);case 59:return++this.pos,this.finishToken(z.semi);case 44:return++this.pos,this.finishToken(z.comma);case 91:return++this.pos,this.finishToken(z.bracketL);case 93:return++this.pos,this.finishToken(z.bracketR);case 123:return++this.pos,this.finishToken(z.braceL);case 125:return++this.pos,this.finishToken(z.braceR);case 58:return++this.pos,this.finishToken(z.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(z.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(z.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,`Unexpected character '`+$r(e)+`'`)},W.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},W.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,`Unterminated regular expression`);var r=this.input.charAt(this.pos);if(Br.test(r)&&this.raise(n,`Unterminated regular expression`),e)e=!1;else{if(r===`[`)t=!0;else if(r===`]`&&t)t=!1;else if(r===`/`&&!t)break;e=r===`\\\\`}++this.pos}var i=this.input.slice(n,this.pos);++this.pos;var a=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(a);var s=this.regexpState||(this.regexpState=new Ca(this));s.reset(n,i,o),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var c=null;try{c=new RegExp(i,o)}catch{}return this.finishToken(z.regexp,{pattern:i,flags:o,value:c})},W.readInt=function(e,t,n){for(var r=this.options.ecmaVersion>=12&&t===void 0,i=n&&this.input.charCodeAt(this.pos)===48,a=this.pos,o=0,s=0,c=0,l=t??1/0;c<l;++c,++this.pos){var u=this.input.charCodeAt(this.pos),d=void 0;if(r&&u===95){i&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed in legacy octal numeric literals`),s===95&&this.raiseRecoverable(this.pos,`Numeric separator must be exactly one underscore`),c===0&&this.raiseRecoverable(this.pos,`Numeric separator is not allowed at the first of digits`),s=u;continue}if(d=u>=97?u-97+10:u>=65?u-65+10:u>=48&&u<=57?u-48:1/0,d>=e)break;s=u,o=o*e+d}return r&&s===95&&this.raiseRecoverable(this.pos-1,`Numeric separator is not allowed at the last of digits`),this.pos===a||t!=null&&this.pos-a!==t?null:o};function Ga(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,``))}function Ka(e){return typeof BigInt==`function`?BigInt(e.replace(/_/g,``)):null}W.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return n??this.raise(this.start+2,`Expected number in radix `+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(n=Ka(this.input.slice(t,this.pos)),++this.pos):Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,n)},W.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,`Invalid number`);var n=this.pos-t>=2&&this.input.charCodeAt(t)===48;n&&this.strict&&this.raise(t,`Invalid number`);var r=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&r===110){var i=Ka(this.input.slice(t,this.pos));return++this.pos,Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`),this.finishToken(z.num,i)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),r===46&&!n&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!n&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,`Invalid number`)),Pr(this.fullCharCodeAtPos())&&this.raise(this.pos,`Identifier directly after number`);var a=Ga(this.input.slice(t,this.pos),n);return this.finishToken(z.num,a)},W.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;t=this.readHexChar(this.input.indexOf(`}`,this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(n,`Code point out of bounds`)}else t=this.readHexChar(4);return t},W.readString=function(e){for(var t=``,n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated string constant`);var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,`Unterminated string constant`),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Hr(r)&&this.raise(this.start,`Unterminated string constant`),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(z.string,t)};var qa={};W.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===qa)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},W.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw qa;this.raise(e,t)},W.readTmplToken=function(){for(var e=``,t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,`Unterminated template`);var n=this.input.charCodeAt(this.pos);if(n===96||n===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===z.template||this.type===z.invalidTemplate)?n===36?(this.pos+=2,this.finishToken(z.dollarBraceL)):(++this.pos,this.finishToken(z.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(z.template,e));if(n===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Hr(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`\n`;break;default:e+=String.fromCharCode(n);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else ++this.pos}},W.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case\"`\":return this.finishToken(z.invalidTemplate,this.input.slice(this.start,this.pos));case`\\r`:this.input[this.pos+1]===`\n`&&++this.pos;case`\n`:case`\\u2028`:case`\\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},W.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return`\n`;case 114:return`\\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return $r(this.readCodePoint());case 116:return`\t`;case 98:return`\\b`;case 118:return`\\v`;case 102:return`\\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),e){var n=this.pos-1;this.invalidStringToken(n,`Invalid escape sequence in template string`)}default:if(t>=48&&t<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(r,8);return i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),this.pos+=r.length-1,t=this.input.charCodeAt(this.pos),(r!==`0`||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-r.length,e?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(i)}return Hr(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(t)}},W.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return n===null&&this.invalidStringToken(t,`Bad character escape sequence`),n},W.readWord1=function(){this.containsEsc=!1;for(var e=``,t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Fr(i,r))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,e+=this.input.slice(n,this.pos);var a=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\\\uXXXX`),++this.pos;var o=this.readCodePoint();(t?Pr:Fr)(o,r)||this.invalidStringToken(a,`Invalid Unicode escape`),e+=$r(o),n=this.pos}else break;t=!1}return e+this.input.slice(n,this.pos)},W.readWord=function(){var e=this.readWord1(),t=z.name;return this.keywords.test(e)&&(t=zr[e]),this.finishToken(t,e)},Di.acorn={Parser:Di,version:`8.19.0`,defaultOptions:ii,Position:ti,SourceLocation:ni,getLineInfo:ri,Node:Xi,TokenType:L,tokTypes:z,keywordTypes:zr,TokContext:Hi,tokContexts:V,isIdentifierChar:Fr,isIdentifierStart:Pr,Token:Wa,isNewLine:Hr,lineBreak:Br,lineBreakG:Vr,nonASCIIwhitespace:Wr};var Ja={ecmaVersion:`latest`,sourceType:`script`,allowReturnOutsideFunction:!0},Ya=/\\w+(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Xa=/[A-Za-z_]\\w*(?![\\p{ID_Continue}$\\u200c\\u200d])/uy,Za=/^[$_]\\w+$/,Qa=/[\\n\\r\\u2028\\u2029]/,$a=/\\s*(?:[;},:)]|=(?![=>]))/y;function eo(e,t){return $a.lastIndex=t,$a.test(e)}var to=new Set([z.name,z.num,z.string,z.regexp,z.backQuote,z.bracketR,z.braceR,z.parenR,z.incDec,z._this,z._null,z._true,z._false]),no=class extends Di{constructor(...e){super(...e),this.operandBeforeLast=!0,this.operandHere=!0,this.breakBeforeLast=!1,this.breakHere=!1,this.ternaries=[],this.colonEndsTernary=!1,this.closedBlock=!1,this.lookahead=!0}readToken(e){let t=this;if(t.lastTokEnd=t.end,this.operandBeforeLast=this.operandHere,this.operandHere=t.exprAllowed,this.breakBeforeLast=this.breakHere,this.breakHere=Qa.test(t.input.slice(t.end,t.pos)),e===64||e===37){let n=t.pos,r=e===64?Ya:Xa;r.lastIndex=n+1;let i=r.exec(t.input)?.[0];if(i){let r=n+1+i.length,a=t.type===z.incDec&&(this.operandBeforeLast||this.breakBeforeLast),o=e===37?this.percentAt?.get(n):void 0;if(e===64||(o??(t.exprAllowed||a||this.lookahead&&ro(t,r)))){e===37&&this.transientsRead?.add(n),t.pos=r,t.finishToken(z.name,t.input.charAt(n)+i);return}}}super.readToken(e)}finishToken(e,t){let{context:n}=this,r=n.length;if(e===z.braceR){let e=n[r-1];this.closedBlock=e.token===`{`&&!e.isExpr}else if(e===z.question)this.ternaries[r]=(this.ternaries[r]??0)+1;else if(e===z.colon){let e=this.ternaries[r]??0;this.colonEndsTernary=e>0,e>0&&(this.ternaries[r]=e-1)}let i=this,a=i.type;this.prevValue=i.value;let o=e.keyword!==void 0&&(a===z.dot||a===z.questionDot)||(e===z._function||e===z._class)&&eo(i.input,i.pos);super.finishToken(o?z.name:e,t),e===z.name&&t===`of`&&(a===z._const||a===z._var||this.prevValue===`let`)&&(i.exprAllowed=!1)}braceIsBlock(e){if(e===z.colon&&this.colonEndsTernary)return!1;if(e===z.braceR&&this.closedBlock||e===z.name&&this.prevValue===`static`)return!0;if(this.breakHere&&to.has(e)){let{context:e}=this,t=e[e.length-1];if(t.token===`{`&&!t.isExpr)return!0}return super.braceIsBlock(e)}};function ro(e,t){if(!Qa.test(e.input.slice(e.end,e.pos)))return!1;let n=oo(e.input,t,`statements`,{afterOperand:!0});n.lookahead=!1;let r=0;try{for(;;){n.nextToken();let e=n.type;if(e===z.eof)return!1;if(r>0)io.has(e)?r++:ao.has(e)&&r--;else if(e===z.bracketL)r=1;else if(e===z.dot){if(n.nextToken(),n.type!==z.name&&!n.type.keyword)return!1}else return e===z.eq||e===z.assign}}catch{return!1}}var io=new Set([z.parenL,z.bracketL,z.braceL,z.dollarBraceL]),ao=new Set([z.parenR,z.bracketR,z.braceR]);function oo(e,t,n,{onComment:r,afterOperand:i=!1}={}){let a=new no(r?{...Ja,onComment:r}:Ja,e,t);return n===`expression`&&(a.type=z.parenL),i&&(a.exprAllowed=!1),a}var so=class extends SyntaxError{constructor(e,t,n,r){super(`${e} ${uo(t,n)}`+co(r,e=>lo(t,e))),this.reason=e,this.source=t,this.pos=n,this.bracket=r,this.name=`SyntaxError`}reasonIn(e,t){return this.reason+co(this.bracket,n=>{let{line:r,column:i}=ri(e,t+n);return`at line ${r}, column ${i+1}`})}};function co(e,t){return e?` (missing \"${e.closer}\" for the \"${e.open}\" ${t(e.pos)})`:``}function lo(e,t){let{line:n,column:r}=ri(e,t);return Qa.test(e)?`at line ${n}, column ${r+1}`:`at column ${r+1}`}function uo(e,t){let{column:n}=ri(e,t),r=t-n,i=e.slice(r).search(Qa),a=i<0?e.length:r+i,o=Math.max(r,t-30),s=Math.min(a,t+30),c=(o>r?`…`:``)+e.slice(o,t)+`▶`+e.slice(t,s)+(s<a?`…`:``);return`${lo(e,t)}: ${c.trim()}`}var fo=e=>e[e.length-1],po={\"(\":`)`,\"[\":`]`,\"{\":`}`,\"${\":`}`};function mo(e,t){if(!(t instanceof SyntaxError)||!(`pos`in t))throw t;let n=t.pos,r=t.message.replace(/ \\(\\d+:\\d+\\)$/,``),{open:i,token:a}=ho(e,n),o=n>=e.length||a===``,s=!1;r===`Unexpected token`?(r=o?`Unexpected end of code`:`Unexpected \"${a}\"`,s=!!i&&po[i.text]!==a&&(o||[`)`,`]`,`}`,`;`,`{`].includes(a))):r.startsWith(`Unterminated template`)&&(s=i?.text===\"${\");let c=s&&i?{open:i.text,closer:po[i.text],pos:i.pos}:void 0;return new so(r,e,n,c)}function ho(e,t){let n=[];for(let r of ko(e,0,`statements`)){if(`error`in r)break;if(r.start>=t||r.type===z.eof)return{open:fo(n),token:e.slice(r.start,r.end)};let i=e.slice(r.start,r.end);i in po?n.push({text:i,pos:r.start}):n.length&&po[fo(n).text]===i&&n.pop()}return{open:fo(n),token:e.charAt(t)}}function go(e,t=`expression`){let n=new Map;for(;;){let r=new Set;try{let i=_o(e,t,n,r),a={refs:[],strings:[]};return So(i,e,a,!1,!1),a.refs.sort((e,t)=>e.start-t.start),a}catch(t){let i=t.pos??-1;if(!(t instanceof SyntaxError)||n.has(i)||(Xa.lastIndex=i+1,e.charAt(i)!==`%`||!Xa.test(e)))throw t;n.set(i,!r.has(i))}}}function _o(e,t,n,r){try{let i=oo(e,0,t);if(i.percentAt=n,i.transientsRead=r,t===`statements`)return i.parse();i.nextToken();let a=i.parseExpression();if(i.type!==z.eof)throw Object.assign(SyntaxError(`Unexpected token`),{pos:i.start});return a}catch(t){throw mo(e,t)}}var vo=e=>typeof e==`object`&&!!e&&typeof e.type==`string`,yo={$:`story`,_:`temporary`,\"@\":`local`,\"%\":`transient`};function bo(e,t){let n=e.name,r=t.charAt(e.start);return r===n.charAt(0)&&(r===`@`||r===`%`||(r===`$`||r===`_`)&&Za.test(n))?[r,n.slice(1)]:null}function xo(e,t){if(!vo(e)||e.type!==`Identifier`)return;let n=t.charAt(e.start);if(n===`@`||n===`%`)throw new so(`\"${e.name}\" can't be a property name`,t,e.start)}function So(e,t,n,r,i){if(Array.isArray(e)){for(let i of e)So(i,t,n,r,!1);return}if(!vo(e))return;let a=(e,r=!1,i=!1)=>So(e,t,n,r,i);switch(e.type){case`Identifier`:{let a=bo(e,t);if(!a)return;if(r)throw new so(`\"${e.name}\" is a ${yo[a[0]]} variable and can't be declared`,t,e.start);n.refs.push({sigil:a[0],name:a[1],start:e.start,end:e.end,shorthand:i});return}case`Literal`:typeof e.value==`string`&&n.strings.push(t.slice(e.start+1,e.end-1));return;case`TemplateElement`:n.strings.push(e.value.raw);return;case`MemberExpression`:a(e.object),e.computed?a(e.property):xo(e.property,t);return;case`Property`:if(e.computed?a(e.key):e.shorthand||xo(e.key,t),e.shorthand){let t=e.value;t.type===`AssignmentPattern`?(a(t.left,r,!0),a(t.right)):a(t,r,!0)}else a(e.value,r);return;case`MethodDefinition`:case`PropertyDefinition`:e.computed?a(e.key):xo(e.key,t),a(e.value);return;case`LabeledStatement`:a(e.body);return;case`BreakStatement`:case`ContinueStatement`:case`MetaProperty`:case`PrivateIdentifier`:return;case`VariableDeclarator`:a(e.id,!0),a(e.init);return;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:a(e.id,!0);for(let t of e.params)a(t,!0);a(e.body);return;case`ClassDeclaration`:case`ClassExpression`:a(e.id,!0),a(e.superClass),a(e.body);return;case`CatchClause`:a(e.param,!0),a(e.body);return;case`AssignmentPattern`:a(e.left,r),a(e.right);return;case`ObjectPattern`:case`ArrayPattern`:case`RestElement`:for(let t of[`properties`,`elements`,`argument`])a(e[t],r);return;default:for(let t in e){if(t===`type`||t===`start`||t===`end`)continue;let n=e[t];typeof n==`object`&&n&&a(n)}}}var Co=/[\\p{ID_Continue}$.]*/uy,wo=/[\\p{ID_Continue}$]*/uy,To=new Set([`of`,`get`,`set`,`static`,`async`]);function Eo(e,t,{goal:n=`expression`,stop:r}={}){let i=Oo(e,t,n,r);return i<0&&!r?Do(e,t,n):i}function Do(e,t,n){let r=oo(e,t,n);try{if(n===`statements`)r.parse();else if(r.nextToken(),r.parseExpression(),r.type===z.braceR)return r.start}catch(t){let n=t.pos??-1;if(e.charAt(n)===`}`)return n}return-1}function Oo(e,t,n,r){let i=[],a=-1,o=!1,s=t,c=!1,l=!1;for(;;){let t=-1;for(let u of ko(e,s,n,{afterOperand:c})){if(`error`in u){let{message:n}=u.error,a=i.includes(\"${\");if(!/^Unterminated/.test(n)&&!a){if(t=Math.max(u.pos,s)+1,c=!1,t>=e.length)return-1;break}let o=i.lastIndexOf(\"${\");if(!/^Unterminated template/.test(n)||o<0||l||r)return-1;l=!0,i.length=o,t=u.pos,c=!0;break}if(u.restarted&&i.includes(\"${\"))return-1;let n=u.type;if(n===z.eof||n===z.string&&o&&u.start===a)return-1;if(o=n===z.name&&!To.has(u.value)||n===z.num,a=u.end,n===z.braceL){if(r?.(u.start))return u.start;i.push(`{`)}else if(n===z.dollarBraceL)i.push(\"${\");else if(n===z.parenL)i.push(`(`);else if(n===z.bracketL)i.push(`[`);else if(n===z.parenR||n===z.bracketR)fo(i)===(n===z.parenR?`(`:`[`)&&i.pop();else if(n===z.braceR){let e=Math.max(i.lastIndexOf(`{`),i.lastIndexOf(\"${\"));if(e>=0)i.length=e;else if(!r)return u.start}}s=t,o=!1}}function*ko(e,t,n,r={}){let i=oo(e,t,n,r);for(;;){try{i.nextToken()}catch(t){let n=Math.min(t.pos??i.pos,e.length),a=t.message,o=(t,n,a)=>(i=oo(e,a,`statements`,{onComment:r.onComment,afterOperand:!0}),{type:t,start:n,end:a,value:void 0,restarted:!0}),s=e.charAt(i.start),c=/^Unterminated/.test(a);if(/^Unterminated string/.test(a)){let{end:t,closed:r}=Io(e,n);if(r){yield o(z.string,n,t);continue}}else if(!c&&i.start<=n&&(s===`\"`||s===`'`)){let{end:t,closed:n}=Io(e,i.start);if(n){yield o(z.string,i.start,t);continue}}else if(!c&&i.start<=n&&s===`/`){let t=Po(e,i.start);if(t>0){yield o(z.regexp,i.start,t);continue}}else if(!c&&i.start<=n&&/[\\d.]/.test(s)&&/\\d/.test(e.slice(i.start,i.start+2))){Co.lastIndex=i.start,Co.test(e),yield o(z.num,i.start,Co.lastIndex);continue}yield{error:t,pos:n};return}if(yield{type:i.type,start:i.start,end:i.end,value:i.value},i.type===z.eof)return}}function Ao(e,t,n=`expression`){return jo(e,0,t,0,n,!1)}function jo(e,t,n,r,i,a){let o=[],s=(e,t,n,r)=>{o.push([n,r])},c=(t,i)=>{for(let a=t;a<i;a++)n.code?.(e.charAt(a),a,r)},l=(t,i)=>{i>t&&n.literal?.(e.slice(t,i),t,r)},u=(e,t)=>{for(let[n,r]of o)r<=e||n>=t||(c(e,n),l(n,r),e=r);o.length=0,c(e,t)},d=[],f=0,p=ko(e,t,i,{onComment:s}),m=t,h;for(;;){let t=p.next().value;if(`error`in t){let n=Math.max(m,t.pos);if(u(m,n),n>=e.length)return e.length;if(/^Unterminated/.test(t.error.message))return l(n,e.length),e.length;c(n,n+1),m=n+1,p=ko(e,m,i,{onComment:s}),h=void 0;continue}let o=t.type;if(o===z.eof)return u(m,e.length),e.length;if(u(m,t.start),o===z.name){let i=Mo(e,t.start,t.value),a=h===z.dot||h===z.questionDot||(i===`$`||i===`_`)&&No(e,t.end,h);i&&!a?n.variable?.(i,e.slice(t.start+1,t.end),t.start,r):c(t.start,t.end)}else if(o===z.string||o===z.regexp||o===z.template||o===z.invalidTemplate)l(t.start,t.end);else if(o===z.backQuote)if(l(t.start,t.end),h===z.template||h===z.invalidTemplate){if(f--,a&&f===0)return t.end}else f++;else o===z.dollarBraceL?(l(t.start,t.end),d.push(\"${\"),r++):o===z.braceR&&fo(d)===\"${\"?(d.pop(),r--,l(t.start,t.end)):(o===z.braceL||o===z.parenL||o===z.bracketL?d.push(e.charAt(t.start)):(o===z.braceR||o===z.parenR||o===z.bracketR)&&d.length&&fo(d)!==\"${\"&&d.pop(),c(t.start,t.end));h=o,m=t.end}}function Mo(e,t,n){let r=e.charAt(t);return(r===`@`||r===`%`)&&n.charAt(0)===r||(r===`$`||r===`_`)&&Za.test(n)?r:null}function No(e,t,n){if(n!==z.braceL&&n!==z.comma)return!1;let r=/\\S/g;r.lastIndex=t;let i=r.exec(e)?.[0];return i===`:`||i===`(`}function Po(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let t=e.charAt(r);if(Qa.test(t))return-1;if(t===`\\\\`)r++;else if(t===`[`)n=!0;else if(t===`]`)n=!1;else if(t===`/`&&!n)return wo.lastIndex=r+1,wo.test(e),wo.lastIndex}return-1}function Fo(e){if(e[0]!==`\"`&&e[0]!==`'`)return null;try{let t=oo(e,0,`expression`);return t.nextToken(),t.type===z.string&&t.end===e.length?t.value:null}catch{return null}}function Io(e,t){let n=e.charAt(t),r=t+1;for(;r<e.length;){let t=e.charAt(r);if(t===`\\\\`)r+=2;else if(t===n)return{end:r+1,closed:!0};else r++}return{end:e.length,closed:!1}}var Lo=/[\\p{L}\\p{N}_\\\\]/u;function Ro(e,t){let n=e[t],r=n===\"`\";for(let i=t+1;i<e.length;){let t=e[i];if(t===`\\\\`)i+=2;else if(t===n)return i+1;else if(!r&&t===`\n`)return-1;else if(r&&t===`$`&&e[i+1]===`{`){let t=zo(e,i+2);if(t===-1)return-1;i=t+1}else i++}return-1}function zo(e,t){Bo!==e&&(Bo=e,Vo.clear());let n=Vo.get(t);return n===void 0&&(n=Ho(e,t),Vo.set(t,n)),n}var Bo=``,Vo=new Map;function Ho(e,t){let n=0;for(;t<e.length;){let r=e[t];if(r===`{`)n++,t++;else if(r===`}`){if(n===0)return t;n--,t++}else if(r===\"`\"||(r===`\"`||r===`'`)&&!(t>0&&Lo.test(e[t-1]))){let n=Ro(e,t);t=n===-1?t+1:n}else t++}return-1}var Uo={closeBrace(e,t,n){let r=Eo(e,t);return r===-1?zo(e,n):r},rawBodyEnd(e,t,n){let r=`\\\\{/${n}\\\\s*\\\\}`,i=new RegExp(r,`gi`);i.lastIndex=t;let a=i.exec(e)?.index??-1;if(a===-1)return-1;let o=new RegExp(r,`iy`),s=Eo(e,t,{goal:`statements`,stop:t=>(o.lastIndex=t,o.test(e))});return s===-1?a:s}};function Wo(e){let t=e.toLowerCase();return t.startsWith(`on`)||t===`pattern`||t===`srcdoc`}function Go(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`{`,r);if(i===-1){n+=e.slice(r);break}n+=e.slice(r,i),r=i+1;let a=qn(e[r])?Uo.closeBrace(e,r,r):-1;if(a===-1){n+=`{`;continue}n&&t.push({text:n}),n=``;let o=e.slice(r,a);t.push(/^.\\w/.test(o)?{expr:o}:{verbatim:`{${o}}`}),r=a+1}return n&&t.push({text:n}),t}var Ko=new Set([`do`]),qo={...Uo,isBlock:xr,isRaw:e=>Ko.has(e),isCodeAttribute:Wo},Jo=class extends Error{constructor(e,t,n,r){super(`${e} (line ${n}, column ${r})`),this.reason=e,this.offset=t,this.line=n,this.column=r,this.name=`MarkupError`}};function Yo(e,t){let n=1,r=0;for(let i=e.indexOf(`\n`);i!==-1&&i<t;)n++,r=i+1,i=e.indexOf(`\n`,r);return{line:n,column:t-r+1}}function Xo(e,t,n){let r=n.hooks?{...qo,...n.hooks}:qo;try{return _r(e,{startRule:t,text:n.text===!0,hooks:r})}catch(t){let n=t.location;if(t instanceof Error&&t.name===`SyntaxError`&&n){let{offset:r}=n.start,{line:i,column:a}=Yo(e,r);throw new Jo(t.message,r,i,a)}throw t}}function Zo(e,t={}){return Xo(e,`Markup`,t)}function Qo(e,t={}){return Xo(e,`Tokens`,t)}var $o=e=>Symbol.iterator in e,es=e=>`entries`in e,ts=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},ns=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rs(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$o(e)&&$o(t)?es(e)&&es(t)?ts(e,t):ns(e,t):ts({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function is(...e){let t=j();return Q(n=>{let r={};for(let t of e)r[t]=n[t];return rs(t.current,r)?t.current:t.current=r})}function as(){let{variables:e,temporary:t,transient:n}=is(`variables`,`temporary`,`transient`),r=Ie(Mf);return Pe(()=>[e,t,r,n],[e,t,r,n])}var os=1831565813;function ss(e){let t=e|0;return()=>{t=t+os|0;let e=Math.imul(t^t>>>15,t|1);return e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function cs(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t}var ls=!1,us=``,ds=0,fs=null,ps=0;function ms(e,t=!0){let n;n=e===void 0?String(Date.now())+String(Math.random()):t?e+`|`+Date.now()+`|`+Math.random():e,us=n,ds=0,fs=ss(cs(n)),ls=!0,ps++}function hs(e,t){ps++,gs(e,t)}function gs(e,t){us=e;let n=Math.imul(t%4294967296,os);fs=ss(cs(e)+n|0),ls=!0,ds=t}function _s(){ps++,ls=!1,us=``,ds=0,fs=null}function vs(e){let t={generation:ps,seed:us,pull:ds};try{return e()}finally{ls&&ps===t.generation&&ds!==t.pull&&gs(t.seed,t.pull)}}function ys(){return ls?{seed:us,pull:ds}:null}function bs(){return!ls||!fs?Math.random():(ds++,fs())}function xs(e,t){return e>t&&([e,t]=[t,e]),Math.floor(bs()*(t-e+1))+e}function Ss(){return ls}function Cs(){return us}function ws(){return ds}var Ts=`__proto__`;function Es(e,t=e){return e===`__proto__`?`\"${t}\" cannot be used as a variable name (${Ts} is reserved)`:void 0}function Ds(e,t=e){let n=Es(e,t);if(n)throw TypeError(`spindle: ${n}`)}var G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Os=(e,t)=>e&&G(e,t)?e[t]:void 0;function ks(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}):e[t]=n}function As(e,t=()=>!0){let n=Object.create(null);for(let r of e)if(r)for(let e of Object.keys(r)){let i=r[e];t(i)&&(n[e]=i)}return n}var K=(...e)=>As(e),js=e=>Object.getPrototypeOf(e)===null,Ms=e=>js(e)?e:K(e);function Ns(e,t,n){let r=K(e);return r[t]=n,r}var Ps=Object.freeze(K());function Fs(e,t){return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>Os(e,n)!==Os(t,n))}var Is=e=>typeof e==`number`&&Number.isInteger(e)&&e>=0;function Ls(e,t){let n=Os(e,t);return Is(n)?n:0}function Rs(e,t){let n=As([e],Is);return t!==void 0&&(n[t]=Ls(e,t)+1),n}var zs=500,Bs={$:`variables`,_:`temporary`,\"@\":`locals`,\"%\":`transient`},Vs=/[\\p{ID_Continue}$\\u200c\\u200d]$/u;function Hs(e,t=`expression`){let n=t===`statements`?`s`+e:`e`+e,r=Us.get(n);if(r!==void 0)return r;let{refs:i}=go(e,t),a=``,o=0;for(let t of i){let n=Es(t.name,t.sigil+t.name);if(n)throw SyntaxError(`spindle: ${n}`);a+=e.slice(o,t.start),t.shorthand?a+=`${t.name}: `:Vs.test(a.slice(-2))&&(a+=` `),a+=`${Bs[t.sigil]}[\"${t.name}\"]`,o=t.end}return a+=e.slice(o),Us.size>=zs&&Us.delete(Us.keys().next().value),Us.set(n,a),a}var Us=new Map,Ws=500,Gs=new Map,Ks=`const {currentPassage,previousPassage,visited,hasVisited,hasVisitedAny,hasVisitedAll,rendered,hasRendered,hasRenderedAny,hasRenderedAll,random,randomInt}=__fns;`;function qs(e,t){let n=Gs.get(e);if(n)return Gs.delete(e),Gs.set(e,n),n;let r=Function(`variables`,`temporary`,`locals`,`__fns`,`transient`,Ks+t);if(Gs.set(e,r),Gs.size>Ws){let e=Gs.keys().next().value;e!==void 0&&Gs.delete(e)}return r}function Js(){let e=Q.getState();return e.storyData?.passages.get(e.currentPassage)}function Ys(){let e=Q.getState();if(e.historyIndex<=0)return;let t=e.history[e.historyIndex-1]?.passage;return t?e.storyData?.passages.get(t):void 0}function Xs(e){let t=t=>Ls(e(),t??Q.getState().currentPassage);return{count:t,has:e=>t(e)>0,any:(...e)=>e.some(e=>t(e)>0),all:(...e)=>e.every(e=>t(e)>0)}}function Zs(e,t){let n=Xs(e),r=Xs(t);return{currentPassage:Js,previousPassage:Ys,visited:n.count,hasVisited:n.has,hasVisitedAny:n.any,hasVisitedAll:n.all,rendered:r.count,hasRendered:r.has,hasRenderedAny:r.any,hasRenderedAll:r.all}}var Qs=null;function $s(){return Qs??(Qs={...Zs(()=>Q.getState().visitCounts,()=>Q.getState().renderCounts),random:bs,randomInt:xs}),Qs}function ec(e){return js(e)?e:Object.isExtensible(e)?(Object.setPrototypeOf(e,null),e):Ms(e)}function tc(e,...[t,n,r=Ps,i=Ps]){return e(ec(t),ec(n),ec(r),$s(),ec(i))}function nc(e,...t){let n=`return (${Hs(e)}\\n);`;return tc(qs(n,n),...t)}function rc(e,...t){let n=Hs(e,`statements`);tc(qs(`exec:`+n,n),...t)}var ic=new vr;function ac(e,t){ic.set(e,t)}function oc(e){return ic.get(e)}var sc=new vr;function cc(e,t){t?sc.set(e,t):sc.delete(e)}function lc(e){return sc.get(e)}var uc=new yr;function dc(e){uc.add(e)}function fc(e){return uc.has(e)}var pc=[`expression`,`statements`,`passage`,`variable`,`string`,`text`,`names`,`delay`,`number`,`flag`,`separator`,`options`],mc=[`markup`,`text`,`passage`,`expression`,`statements`];function hc(e,t){let n=`Give a \\`string\\` or \\`text\\` parameter one of ${mc.join(`, `)} to hold (see docs/custom-macros.md#what-a-string-holds).`;for(let r of t){let t=r.type;if(!pc.includes(t))throw gc(e,r,t===void 0?`has no type`:`has the unknown type ${JSON.stringify(t)}`,`Give it one of the types ${pc.join(`, `)} (see docs/custom-macros.md#parameter-types), or declare no parameters and read props.rawArgs.`);let i=r.holds;if(i!==void 0&&t!==`string`&&t!==`text`)throw gc(e,r,`is of the type ${t}, which holds what it is`,n);if(i!==void 0&&!mc.includes(i))throw gc(e,r,`holds the unknown ${JSON.stringify(i)}`,n);r.parameters&&hc(e,r.parameters)}}function gc(e,t,n,r){return Error(`spindle: The parameter \"${t.name}\" of the macro {${e}} ${n}. ${r}`)}var _c=new vr;function vc(e,t){_c.set(e,t)}function yc(e){return _c.get(e)?.parameters}function bc(){return Array.from(_c.values())}var xc=new vr;function Sc(e,t,n,r=!1){let i=n.filter(e=>e!==`@children`);for(let e of i)e.startsWith(`@`)&&Ds(e.slice(1),e);xc.set(e,{body:t,params:i,isBlock:r})}function Cc(e){return xc.get(e)}function wc(e){return/\\s/.test(e)}function Tc(e){return e===`(`||e===`[`||e===`{`}function Ec(e){return e===`)`||e===`]`||e===`}`}function Dc(e){return e.replace(/\\\\([\"'\\\\])/g,`$1`)}function Oc(e,t){let n=e[t];if(n!==`\"`&&n!==`'`)return null;let{end:r,closed:i}=Io(e,t);return i?{value:Dc(e.slice(t+1,r-1)),end:r}:null}function kc(e){let t=Oc(e,0);return t&&t.end===e.length?t.value:null}function Ac(e){return/^[\"']?(.+?)[\"']?$/s.exec(e)?.[1]??e}var jc=/(?:[-+*/%&|^!~=<>?:,.]|(?:^|[^\\w$@.])(?:typeof|void|new|delete|in|instanceof|await|yield))$/;function Mc(e){let t=-1;if(Ao(e,{code(e,n,r){r===0&&!wc(e)&&(t=n+1)},literal(e,n,r){let i=e.startsWith(`//`)||e.startsWith(`/*`);r===0&&!i&&(t=-1)},variable(e,n,r,i){i===0&&(t=-1)}}),t<0)return!1;let n=e.slice(0,t);return/(?:\\+\\+|--)$/.test(n)?!1:jc.test(n)}function Nc(e,t){let n=[],r=0;return Ao(e,{code(e,i,a){a>0||(Tc(e)?r++:Ec(e)?r--:r===0&&t(e)&&n.push(i))}}),n}function Pc(e,t){let n=[],r=0;for(let i of Nc(e,t))n.push(e.slice(r,i)),r=i+1;return n.push(e.slice(r)),n}function Fc(e){return Ic(e)&&!Mc(e)}function Ic(e){let t=e[0];return!!(t===`\"`||t===`'`||t===\"`\"||/^[$_@]\\w|^%[A-Za-z_]/.test(e)||/\\d/.test(t)||(t===`-`||t===`+`)&&e.length>1&&/\\d/.test(e[1])||t===`(`||t===`[`||t===`{`||/^(?:true|false|null|undefined)(?![\\w$])/.test(e)||t===`!`&&e.length>1&&e[1]!==`=`)}function Lc(e){let t=Pc(e,wc).filter(Boolean);if(t.length<2)return null;for(let e of t)if(!Fc(e))return null;return t}function Rc(e){let t=Pc(e,e=>e===`,`).map(e=>e.trim()),n=t.length>1;if(t[t.length-1]===``&&t.pop(),!n&&t.length===1){let e=Lc(t[0]);if(e)return e}return t}function zc(e){return e==null?``:String(e)}function Bc(e,t,n){return e||t?b(`span`,{id:t,class:e},n):b(S,null,n)}function Vc(e){return e.includes(`{`)||e.includes(`}`)}var Hc=new Map,Uc=2e3;function Wc(e){let t=Hc.get(e);if(t===void 0){try{t={nodes:Zo(e,{text:!0})}}catch(e){t={error:e}}Hc.size>=Uc&&Hc.clear(),Hc.set(e,t)}return t}function Gc(e,t){return e.map(e=>{switch(e.type){case`text`:return{type:`text`,value:t(e.value)};case`html`:return{...e,children:Gc(e.children,t)};case`macro`:{let n={...e,children:Gc(e.children,t)};return e.branches&&(n.branches=e.branches.map(e=>({...e,children:Gc(e.children,t)}))),n}default:return e}})}var Kc=100;function qc(e,t,n){let r=n.split(`.`),i=r[0];Ds(i,Gn[t]+i);let a=Os(t===`variable`?e.variables:t===`temporary`?e.temporary:t===`transient`?e.transient:e.locals,i);for(let e=1;e<r.length;e++){if(a==null)return;a=a[r[e]]}return a}function Jc(e,t){return nc(e,t.variables,t.temporary,t.locals,t.transient)}var Yc=class{constructor(){this.errors=[]}nodes(e,t,n){let r=``;for(let i of e)r+=this.node(i,t,n);return r}node(e,t,n){switch(e.type){case`text`:return e.value;case`variable`:if(e.scope===`local`&&e.name===`children`){let e=t.widgetChildren;return e?this.nested(`children`,e,t,n,{widgetChildren:null}):``}return this.variable(e.scope,e.name,t);case`expression`:try{return zc(Jc(e.expression,t))}catch(e){return this.errors.push({macro:`expression`,error:e}),``}case`html`:return this.nodes(e.children,t,n);case`macro`:return this.macro(e,t,n);default:return e}}variable(e,t,n){try{return zc(qc(n,e,t))}catch(n){return this.errors.push({macro:Gn[e]+t,error:n}),``}}nested(e,t,n,r,i={}){return r>=Kc?(this.errors.push({macro:e,error:Error(`markup nested too deeply (a widget using itself?)`)}),``):this.nodes(t,{...n,...i},r+1)}macro(e,t,n){if(fc(e.name))return``;let r=Cc(e.name);if(r){let i=t.locals;if(r.params.length>0){let n=e.rawArgs?Rc(e.rawArgs):[];i=K(t.locals),r.params.forEach((e,r)=>{let a,o=n[r];if(o!==void 0)try{a=Jc(o,t)}catch{a=void 0}i[e.startsWith(`@`)?e.slice(1):e]=a})}return this.nested(e.name,r.body,t,n,{locals:i,widgetChildren:e.children.length>0?e.children:null})}let i=lc(e.name);if(!i){let t=oc(e.name)?`{${e.name}} has no text form, so it can't be used in an attribute value or label`:`unknown macro {${e.name}}`;return this.errors.push({macro:e.name,error:Error(t)}),``}let a={evaluate:e=>Jc(e,t),renderText:(r,i)=>this.nested(e.name,r,t,n,i?{locals:Xc(t.locals,i)}:{})};try{return i({rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},a)}catch(t){return this.errors.push({macro:e.name,error:t}),``}}};function Xc(e,t){for(let e of Object.keys(t))Ds(e,`@${e}`);return K(e,t)}function Zc(e,t){let n=new Yc;return{text:n.nodes(e,t,0),errors:n.errors}}function Qc(e,t){if(!Vc(e))return{text:e,errors:[]};let n=Wc(e);return`error`in n?{text:e,errors:[{macro:`markup`,error:n.error}]}:Zc(n.nodes,t)}function $c(e,t,n){let r=[],i=``;for(let a of Go(e))if(`text`in a)i+=n?n(a.text):a.text;else if(`verbatim`in a)i+=a.verbatim;else if(/^[$_@%][\\w.]+$/.test(a.expr)){let e=Wn[a.expr[0]];try{i+=zc(qc(t,e,a.expr.slice(1)))}catch(e){r.push({macro:a.expr,error:e})}}else try{i+=zc(Jc(a.expr,t))}catch(e){r.push({macro:`expression`,error:e})}return{text:i,errors:r}}function el(e,t){return e instanceof Error?e.message||t||String(e):typeof e==`string`&&e!==``?e:t??String(e)}function tl(){let[e,t,n,r]=as(),i=Ie(Bf);return Pe(()=>({variables:e,temporary:t,locals:n,transient:r,widgetChildren:i}),[e,t,n,r,i])}function nl(){let e=tl();return Fe(t=>{if(t===void 0||!Vc(t))return t;let{text:n,errors:r}=Qc(t,e);for(let{macro:e,error:n}of r)console.error(`spindle: {${e}} error in \"${t}\": ${el(n)}`);return n},[e])}var rl=0;Array.isArray;function q(e,t,n,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--rl,__i:-1,__u:0,__source:a,__self:o};if(typeof e==`function`&&(s=e.defaultProps))for(c in s)l[c]===void 0&&(l[c]=s[c]);return r.vnode&&r.vnode(u),u}var il={variable:`variables`,temporary:`temporary`,transient:`transient`};function al({node:e}){let{name:t,scope:n}=e,r=nl(),i=r(e.className),a=r(e.id),o=Ie(Mf),s=t.split(`.`),c=s[0],l=Q(e=>n===`local`?void 0:Os(e[il[n]],c)),u=Gn[n],d=Es(c,u+c);if(d)return q(`span`,{class:`error`,children:`{${u}${t} error: ${d}}`});let f;f=n===`local`?Os(o,c):l;for(let e=1;e<s.length;e++){if(f==null){f=void 0;break}let t=s[e];f=f[t]}return Bc(i,a,zc(f))}function ol({node:e}){let{expression:t}=e,n=nl(),r=n(e.className),i=n(e.id),[a,o,s,c]=as(),l;try{l=zc(nc(t,a,o,s,c))}catch{l=`{error: ${t}}`}return Bc(r,i,l)}function sl(){return{nobr:Ie(Pf),inline:Ie(Ff),raw:Ie(If),locals:Ie(Mf)}}function cl({body:e,parentValues:t,ownKeys:n}){let r=sl(),[i,a]=Ae({}),o=Pe(()=>K(t,n,i),[t,n,i]),s=j(o);s.current=o;let c=Fe(()=>s.current,[]),l=Fe((e,t)=>{Ds(e,`@${e}`),s.current=Ns(s.current,e,t),a(n=>({...n,[e]:t}))},[]),u=Pe(()=>({update:l,getValues:c}),[l,c]);return q(Nf.Provider,{value:u,children:q(Mf.Provider,{value:o,children:kp(e,{...r,locals:o})})})}function ll({body:e,params:t,rawArgs:n,invocationChildren:r}){let i=sl(),a=i.locals,[o,s,c,l]=as(),u=r?.length?r:null;if(t.length===0)return q(Bf.Provider,{value:u,children:kp(e,i)});let d=n?Rc(n):[],f=[];for(let e=0;e<t.length;e++){let t=d[e],n;if(t!==void 0)try{n=nc(t,o,s,c,l)}catch{n=void 0}f.push(n)}let p=Pe(()=>{let e=K();for(let n=0;n<t.length;n++)e[t[n].startsWith(`@`)?t[n].slice(1):t[n]]=f[n];return e},f);return q(Bf.Provider,{value:u,children:q(cl,{body:e,parentValues:a,ownKeys:p})})}var ul=document.createElement(`i`);function dl(e){let t=`&`+e+`;`;ul.innerHTML=t;let n=ul.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function fl(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function pl(e,t){return e.length>0?(fl(e,e.length,0,t),e):t}var ml={}.hasOwnProperty;function hl(e){let t={},n=-1;for(;++n<e.length;)gl(t,e[n]);return t}function gl(e,t){let n;for(n in t){let r=(ml.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){ml.call(r,a)||(r[a]=[]);let e=i[a];_l(r[a],Array.isArray(e)?e:e?[e]:[])}}}function _l(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);fl(e,0,0,r)}function vl(e){let t={},n=-1;for(;++n<e.length;)yl(t,e[n]);return t}function yl(e,t){let n;for(n in t){let r=(ml.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i)r[a]=i[a]}}function bl(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}var xl={'\"':`quot`,\"&\":`amp`,\"<\":`lt`,\">\":`gt`};function Sl(e){return e.replace(/[\"&<>]/g,t);function t(e){return`&`+xl[e]+`;`}}function Cl(e){return e.replace(/[\\t\\n\\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var wl=Pl(/[A-Za-z]/),Tl=Pl(/[\\dA-Za-z]/),El=Pl(/[#-'*+\\--9=?A-Z^-~]/);function Dl(e){return e!==null&&(e<32||e===127)}var Ol=Pl(/\\d/),kl=Pl(/[\\dA-Fa-f]/),Al=Pl(/[!-/:-@[-`{-~]/);function J(e){return e!==null&&e<-2}function jl(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}var Ml=Pl(/\\p{P}|\\p{S}/u),Nl=Pl(/\\s/);function Pl(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Fl(e,t){let n=Sl(Il(e||``));if(!t)return n;let r=n.indexOf(`:`),i=n.indexOf(`?`),a=n.indexOf(`#`),o=n.indexOf(`/`);return r<0||o>-1&&r>o||i>-1&&r>i||a>-1&&r>a||t.test(n.slice(0,r))?n:``}function Il(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&Tl(e.charCodeAt(n+1))&&Tl(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=``),i&&(n+=i,i=0)}return t.join(``)+e.slice(r)}var Ll={}.hasOwnProperty,Rl=/^(https?|ircs?|mailto|xmpp)$/i,zl=/^https?$/i;function Bl(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=vl([{enter:{blockQuote:ne,codeFenced:ae,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:ce,codeText:ze,content:we,definition:ye,definitionDestinationString:xe,definitionLabelString:h,definitionTitleString:h,emphasis:Le,htmlFlow:Pe,htmlText:Ie,image:ue,label:h,link:de,listItemMarker:ee,listItemValue:T,listOrdered:C,listUnordered:w,paragraph:ie,reference:h,resource:he,resourceDestinationString:ge,resourceTitleString:h,setextHeading:Ee,strong:Re},exit:{atxHeading:Oe,atxHeadingSequence:Te,autolinkEmail:qe,autolinkProtocol:Ke,blockQuote:re,characterEscapeValue:je,characterReferenceMarkerHexadecimal:We,characterReferenceMarkerNumeric:We,characterReferenceValue:Ge,codeFenced:le,codeFencedFence:se,codeFencedFenceInfo:oe,codeFencedFenceMeta:S,codeFlowValue:Ne,codeIndented:le,codeText:Be,codeTextData:je,data:je,definition:Ce,definitionDestinationString:Se,definitionLabelString:be,definitionTitleString:A,emphasis:Ve,hardBreakEscape:j,hardBreakTrailing:j,htmlFlow:Fe,htmlFlowData:je,htmlText:Fe,htmlTextData:je,image:k,label:pe,labelText:fe,lineEnding:Me,link:k,listOrdered:E,listUnordered:D,paragraph:O,reference:S,referenceString:me,resource:S,resourceDestinationString:_e,resourceTitleString:ve,setextHeading:Ae,setextHeadingLineSequence:ke,setextHeadingText:De,strong:He,thematicBreak:Ue}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===`lineEnding`||e[t][1].type===`lineEndingBlank`)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===`listOrdered`||e[t][1].type===`listUnordered`)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===`definition`&&(e[t][0]===`enter`?(o=pl(o,e.slice(n,t)),n=t):(a=pl(a,e.slice(n,t+1)),n=t+1));a=pl(a,o),a=pl(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];Ll.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case`listItemPrefix`:t[0]===`exit`&&(a=!0);break;case`linePrefix`:break;case`lineEndingBlank`:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){return i.pop().join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`\n`)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):null;n===10||n===13||n===null||y()}function x(e){return m(`ignoreEncode`)?e:Sl(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function w(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function T(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),10);t!==1&&_(` start=\"`+x(String(t))+`\"`)}}function ee(){m(`expectFirstItem`)?_(`>`):te(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function E(){te(),o.pop(),y(),_(`</ol>`)}function D(){te(),o.pop(),y(),_(`</ul>`)}function te(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function ne(){o.push(!1),b(),_(`<blockquote>`)}function re(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function ie(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function O(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function ae(){b(),_(`<pre><code`),p(`fencesCount`,0)}function oe(){_(` class=\"language-`+g()+`\"`)}function se(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function ce(){b(),_(`<pre><code>`)}function le(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function ue(){a.push({image:!0}),n=void 0}function de(){a.push({})}function fe(e){a[a.length-1].labelId=this.sliceSerialize(e)}function pe(){a[a.length-1].label=g()}function me(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function he(){h(),a[a.length-1].destination=``}function ge(){h(),p(`ignoreEncode`,!0)}function _e(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function ve(){a[a.length-1].title=g()}function k(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId,s=i.destination===void 0?r[Cl(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src=\"`+Fl(s.destination,t.allowDangerousProtocol?void 0:zl)+`\" alt=\"`),v(i.label),_(`\"`)):_(`<a href=\"`+Fl(s.destination,t.allowDangerousProtocol?void 0:Rl)+`\"`),_(s.title?` title=\"`+s.title+`\"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function ye(){h(),a.push({})}function be(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function xe(){h(),p(`ignoreEncode`,!0)}function Se(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function A(){a[a.length-1].title=g()}function Ce(){let e=a[a.length-1],t=Cl(e.labelId);g(),Ll.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function we(){p(`slurpAllLineEndings`,!0)}function Te(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function Ee(){h(),p(`slurpAllLineEndings`)}function De(){p(`slurpAllLineEndings`,!0)}function Oe(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function ke(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===61?1:2)}function Ae(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function je(e){v(x(this.sliceSerialize(e)))}function Me(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ne(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function j(){_(`<br />`)}function Pe(){b(),Ie()}function Fe(){p(`ignoreEncode`)}function Ie(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function Le(){_(`<em>`)}function Re(){_(`<strong>`)}function ze(){p(`inCodeText`,!0),_(`<code>`)}function Be(){p(`inCodeText`),_(`</code>`)}function Ve(){_(`</em>`)}function He(){_(`</strong>`)}function Ue(){b(),_(`<hr />`)}function We(e){p(`characterReferenceType`,e.type)}function Ge(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?bl(t,m(`characterReferenceType`)===`characterReferenceMarkerNumeric`?10:16):dl(t))),p(`characterReferenceType`)}function Ke(e){let n=this.sliceSerialize(e);_(`<a href=\"`+Fl(n,t.allowDangerousProtocol?void 0:Rl)+`\">`),v(x(n)),_(`</a>`)}function qe(e){let t=this.sliceSerialize(e);_(`<a href=\"`+Fl(`mailto:`+t)+`\">`),v(x(t)),_(`</a>`)}}function X(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Y(r)?(e.enter(n),s(r)):t(r)}function s(r){return Y(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Vl={tokenize:Hl};function Hl(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return J(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Ul={tokenize:Gl},Wl={tokenize:Kl};function Gl(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return fl(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Wl,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Wl,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i=i||t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return J(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;fl(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Kl(e,t,n){return X(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function ql(e){if(e===null||jl(e)||Nl(e))return 1;if(Ml(e))return 2}function Jl(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var Yl={name:`attention`,resolveAll:Xl,tokenize:Zl};function Xl(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};Ql(d,-c),Ql(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=pl(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=pl(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=pl(l,Jl(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=pl(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=pl(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,fl(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function Zl(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ql(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=ql(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function Ql(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var $l={name:`autolink`,tokenize:eu};function eu(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return wl(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||Tl(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||Tl(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Dl(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):El(t)?(e.consume(t),l):n(t)}function u(e){return Tl(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||Tl(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var tu={partial:!0,tokenize:nu};function nu(e,t,n){return r;function r(t){return Y(t)?X(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||J(e)?t(e):n(e)}}var ru={continuation:{tokenize:au},exit:ou,name:`blockQuote`,tokenize:iu};function iu(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||(e.enter(`blockQuote`,{_container:!0}),n.open=!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return Y(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function au(e,t,n){let r=this;return i;function i(t){return Y(t)?X(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(ru,t,n)(r)}}function ou(e){e.exit(`blockQuote`)}var su={name:`characterEscape`,tokenize:cu};function cu(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return Al(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var lu={name:`characterReference`,tokenize:uu};function uu(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=Tl,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=kl,u):(e.enter(`characterReferenceValue`),a=7,o=Ol,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===Tl&&!dl(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var du={partial:!0,tokenize:mu},fu={concrete:!0,name:`codeFenced`,tokenize:pu};function pu(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||J(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(du,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Y(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),X(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||J(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||J(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&Y(t)?X(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||J(t)?e.check(du,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||J(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Y(t)?X(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||J(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function mu(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var hu={name:`codeIndented`,tokenize:_u},gu={partial:!0,tokenize:vu};function _u(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),X(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):J(t)?e.attempt(gu,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||J(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function vu(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):X(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):J(e)?i(e):n(e)}}var yu={name:`codeText`,previous:xu,resolve:bu,tokenize:Su};function bu(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function xu(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function Su(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||J(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var Cu=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&wu(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),wu(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),wu(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);wu(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);wu(this.left,t.reverse())}}};function wu(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Tu(e){let t={},n=-1,r,i,a,o,s,c,l,u=new Cu(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Eu(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return fl(e,0,1/0,u.slice(0)),!l}function Eu(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var Du={resolve:ku,tokenize:Au},Ou={partial:!0,tokenize:ju};function ku(e){return Tu(e),e}function Au(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):J(t)?e.check(Ou,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function ju(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,a,`linePrefix`)}function a(i){if(i===null||J(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function Mu(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Dl(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||J(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||jl(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Dl(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Nu(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):J(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||J(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||(c=!Y(t)),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function Pu(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||J(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Fu(e,t){let n;return r;function r(i){return J(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Y(i)?X(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Iu={name:`definition`,tokenize:Ru},Lu={partial:!0,tokenize:zu};function Ru(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Nu.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Cl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return jl(t)?Fu(e,l)(t):l(t)}function l(t){return Mu(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(Lu,d,d)(t)}function d(t){return Y(t)?X(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||J(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function zu(e,t,n){return r;function r(t){return jl(t)?Fu(e,i)(t):n(t)}function i(t){return Pu(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Y(t)?X(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||J(e)?t(e):n(e)}}var Bu={name:`hardBreakEscape`,tokenize:Vu};function Vu(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return J(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var Hu={name:`headingAtx`,resolve:Uu,tokenize:Wu};function Uu(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},fl(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Wu(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||jl(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||J(n)?(e.exit(`atxHeading`),t(n)):Y(n)?X(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||jl(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var Gu=`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`.split(`.`),Ku=[`pre`,`script`,`style`,`textarea`],qu={concrete:!0,name:`htmlFlow`,resolveTo:Xu,tokenize:Zu},Ju={partial:!0,tokenize:$u},Yu={partial:!0,tokenize:Qu};function Xu(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Zu(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:se):wl(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):wl(a)?(e.consume(a),i=4,r.interrupt?t:se):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:se):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return wl(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||jl(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Ku.includes(l)?(i=1,r.interrupt?t(s):D(s)):Gu.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||Tl(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return Y(t)?(e.consume(t),v):ee(t)}function y(t){return t===47?(e.consume(t),ee):t===58||t===95||wl(t)?(e.consume(t),b):Y(t)?(e.consume(t),y):ee(t)}function b(t){return t===45||t===46||t===58||t===95||Tl(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Y(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Y(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||J(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||jl(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Y(e)?y(e):n(e)}function ee(t){return t===62?(e.consume(t),E):n(t)}function E(t){return t===null||J(t)?D(t):Y(t)?(e.consume(t),E):n(t)}function D(t){return t===45&&i===2?(e.consume(t),ie):t===60&&i===1?(e.consume(t),O):t===62&&i===4?(e.consume(t),ce):t===63&&i===3?(e.consume(t),se):t===93&&i===5?(e.consume(t),oe):J(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Ju,le,te)(t)):t===null||J(t)?(e.exit(`htmlFlowData`),te(t)):(e.consume(t),D)}function te(t){return e.check(Yu,ne,le)(t)}function ne(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||J(t)?te(t):(e.enter(`htmlFlowData`),D(t))}function ie(t){return t===45?(e.consume(t),se):D(t)}function O(t){return t===47?(e.consume(t),o=``,ae):D(t)}function ae(t){if(t===62){let n=o.toLowerCase();return Ku.includes(n)?(e.consume(t),ce):D(t)}return wl(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ae):D(t)}function oe(t){return t===93?(e.consume(t),se):D(t)}function se(t){return t===62?(e.consume(t),ce):t===45&&i===2?(e.consume(t),se):D(t)}function ce(t){return t===null||J(t)?(e.exit(`htmlFlowData`),le(t)):(e.consume(t),ce)}function le(n){return e.exit(`htmlFlow`),t(n)}}function Qu(e,t,n){let r=this;return i;function i(t){return J(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function $u(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(tu,t,n)}}var ed={name:`htmlText`,tokenize:td};function td(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):wl(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):wl(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):J(t)?(o=d,O(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ie(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):J(t)?(o=h,O(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ie(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ie(t):J(t)?(o=v,O(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):J(t)?(o=y,O(t)):(e.consume(t),y)}function b(e){return e===62?ie(e):y(e)}function x(t){return wl(t)?(e.consume(t),S):n(t)}function S(t){return t===45||Tl(t)?(e.consume(t),S):C(t)}function C(t){return J(t)?(o=C,O(t)):Y(t)?(e.consume(t),C):ie(t)}function w(t){return t===45||Tl(t)?(e.consume(t),w):t===47||t===62||jl(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ie):t===58||t===95||wl(t)?(e.consume(t),ee):J(t)?(o=T,O(t)):Y(t)?(e.consume(t),T):ie(t)}function ee(t){return t===45||t===46||t===58||t===95||Tl(t)?(e.consume(t),ee):E(t)}function E(t){return t===61?(e.consume(t),D):J(t)?(o=E,O(t)):Y(t)?(e.consume(t),E):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,te):J(t)?(o=D,O(t)):Y(t)?(e.consume(t),D):(e.consume(t),ne)}function te(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):J(t)?(o=te,O(t)):(e.consume(t),te)}function ne(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||jl(t)?T(t):(e.consume(t),ne)}function re(e){return e===47||e===62||jl(e)?T(e):n(e)}function ie(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function O(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ae}function ae(t){return Y(t)?X(e,oe,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):oe(t)}function oe(t){return e.enter(`htmlTextData`),o(t)}}var nd={name:`labelEnd`,resolveAll:od,resolveTo:sd,tokenize:cd},rd={tokenize:ld},id={tokenize:ud},ad={tokenize:dd};function od(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&fl(e,0,e.length,n),e}function sd(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=pl(s,e.slice(a+1,a+r+3)),s=pl(s,[[`enter`,u,t]]),s=pl(s,Jl(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=pl(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=pl(s,e.slice(o+1)),s=pl(s,[[`exit`,c,t]]),fl(e,a,e.length,s),e}function cd(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(Cl(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(rd,u,o?u:d)(t):t===91?e.attempt(id,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(ad,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function ld(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return jl(t)?Fu(e,a)(t):a(t)}function a(t){return t===41?u(t):Mu(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return jl(t)?Fu(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?Pu(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return jl(t)?Fu(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function ud(e,t,n){let r=this;return i;function i(t){return Nu.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(Cl(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function dd(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var fd={name:`labelStartImage`,resolveAll:nd.resolveAll,tokenize:pd};function pd(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var md={name:`labelStartLink`,resolveAll:nd.resolveAll,tokenize:hd};function hd(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var gd={name:`lineEnding`,tokenize:_d};function _d(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}}var vd={name:`thematicBreak`,tokenize:yd};function yd(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||J(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Y(t)?X(e,s,`whitespace`)(t):s(t))}}var bd={continuation:{tokenize:wd},exit:Ed,name:`list`,tokenize:Cd},xd={partial:!0,tokenize:Dd},Sd={partial:!0,tokenize:Td};function Cd(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:Ol(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(vd,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return Ol(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(tu,r.interrupt?n:u,e.attempt(xd,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Y(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function wd(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(tu,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,X(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Y(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Sd,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,X(e,e.attempt(bd,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Td(e,t,n){let r=this;return X(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Ed(e){e.exit(this.containerState.type)}function Dd(e,t,n){let r=this;return X(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Y(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Od={name:`setextUnderline`,resolveTo:kd,tokenize:Ad};function kd(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function Ad(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Y(t)?X(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||J(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var jd={tokenize:Md};function Md(e){let t=this,n=e.attempt(tu,r,e.attempt(this.parser.constructs.flowInitial,i,X(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Du,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var Nd={resolveAll:Ld()},Pd=Id(`string`),Fd=Id(`text`);function Id(e){return{resolveAll:Ld(e===`text`?Rd:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function Ld(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function Rd(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var zd=t({attentionMarkers:()=>qd,contentInitial:()=>Vd,disable:()=>Jd,document:()=>Bd,flow:()=>Ud,flowInitial:()=>Hd,insideSpan:()=>Kd,string:()=>Wd,text:()=>Gd}),Bd={42:bd,43:bd,45:bd,48:bd,49:bd,50:bd,51:bd,52:bd,53:bd,54:bd,55:bd,56:bd,57:bd,62:ru},Vd={91:Iu},Hd={[-2]:hu,[-1]:hu,32:hu},Ud={35:Hu,42:vd,45:[Od,vd],60:qu,61:Od,95:vd,96:fu,126:fu},Wd={38:lu,92:su},Gd={[-5]:gd,[-4]:gd,[-3]:gd,33:fd,38:lu,42:Yl,60:[$l,ed],91:md,92:[Bu,su],93:nd,95:Yl,96:yu},Kd={null:[Yl,Nd]},qd={null:[42,95]},Jd={null:[]};function Yd(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=pl(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Jl(a,l.events,l),l.events):[]}function f(e,t){return Zd(p(e),t)}function p(e){return Xd(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,ee()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){J(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,ee()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&fl(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,ee()}}function ee(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Xd(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function Zd(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\\r`;break;case-4:o=`\n`;break;case-3:o=`\\r\n`;break;case-2:o=t?` `:`\t`;break;case-1:if(!t&&i)continue;o=` `;break;default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join(``)}function Qd(e){let t={constructs:hl([zd,...(e||{}).extensions||[]]),content:n(Vl),defined:[],document:n(Ul),flow:n(jd),lazy:{},string:n(Pd),text:n(Fd)};return t;function n(e){return n;function n(n){return Yd(t,e,n)}}}function $d(e){for(;!Tu(e););return e}var ef=/[\\0\\t\\n\\r]/g;function tf(){let e=1,t=``,n=!0,r;return i;function i(i,a,o){let s=[],c,l,u,d,f;for(i=t+(typeof i==`string`?i.toString():new TextDecoder(a||void 0).decode(i)),u=0,t=``,n&&(i.charCodeAt(0)===65279&&u++,n=void 0);u<i.length;){if(ef.lastIndex=u,c=ef.exec(i),d=c&&c.index!==void 0?c.index:i.length,f=i.charCodeAt(d),!c){t=i.slice(u);break}if(f===10&&u===d&&r)s.push(-3),r=void 0;else switch(r&&(s.push(-5),r=void 0),u<d&&(s.push(i.slice(u,d)),e+=d-u),f){case 0:s.push(65533),e++;break;case 9:for(l=Math.ceil(e/4)*4,s.push(-2);e++<l;)s.push(-1);break;case 10:s.push(-4),e=1;break;default:r=!0,e=1}u=d+1}return o&&(r&&s.push(-5),t&&s.push(t),s.push(null)),s}}function nf(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),Bl(n)($d(Qd(n).document().write(tf()(e,t,!0))))}var rf={none:``,left:` align=\"left\"`,right:` align=\"right\"`,center:` align=\"center\"`};function af(){return{enter:{table(e){let t=e._align;this.lineEndingIfNeeded(),this.tag(`<table>`),this.setData(`tableAlign`,t)},tableBody(){this.tag(`<tbody>`)},tableData(){let e=rf[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];e===void 0?this.buffer():(this.lineEndingIfNeeded(),this.tag(`<td`+e+`>`))},tableHead(){this.lineEndingIfNeeded(),this.tag(`<thead>`)},tableHeader(){let e=rf[this.getData(`tableAlign`)[this.getData(`tableColumn`)]];this.lineEndingIfNeeded(),this.tag(`<th`+e+`>`)},tableRow(){this.setData(`tableColumn`,0),this.lineEndingIfNeeded(),this.tag(`<tr>`)}},exit:{codeTextData(e){let t=this.sliceSerialize(e);this.getData(`tableAlign`)&&(t=t.replace(/\\\\([\\\\|])/g,of)),this.raw(this.encode(t))},table(){this.setData(`tableAlign`),this.setData(`slurpAllLineEndings`),this.lineEndingIfNeeded(),this.tag(`</table>`)},tableBody(){this.lineEndingIfNeeded(),this.tag(`</tbody>`)},tableData(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);t in e?(this.tag(`</td>`),this.setData(`tableColumn`,t+1)):this.resume()},tableHead(){this.lineEndingIfNeeded(),this.tag(`</thead>`)},tableHeader(){let e=this.getData(`tableColumn`);this.tag(`</th>`),this.setData(`tableColumn`,e+1)},tableRow(){let e=this.getData(`tableAlign`),t=this.getData(`tableColumn`);for(;t<e.length;)this.lineEndingIfNeeded(),this.tag(`<td`+rf[e[t]]+`></td>`),t++;this.setData(`tableColumn`,t),this.lineEndingIfNeeded(),this.tag(`</tr>`)}}}}function of(e,t){return t===`|`?t:e}var sf=class{constructor(){this.map=[]}add(e,t,n){cf(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function cf(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function lf(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function uf(){return{flow:{null:{name:`table`,tokenize:df,resolveAll:ff}}}}function df(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):J(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Y(t)?X(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||jl(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Y(t)?X(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Y(t)?X(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||J(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Y(t)?X(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||J(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||J(n)?(e.exit(`tableRow`),t(n)):Y(n)?X(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||jl(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function ff(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new sf;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(mf(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=pf(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=pf(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=pf(f,t,o,i,n,d)):(o[0]=o[1],d=pf(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&mf(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=lf(t.events,n))}return e}function pf(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},hf(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=hf(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=hf(t.events,n[2]),a=hf(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},hf(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function mf(e,t,n,r,i){let a=[],o=hf(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function hf(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}function gf(){return{enter:{strikethrough(){this.tag(`<del>`)}},exit:{strikethrough(){this.tag(`</del>`)}}}}function _f(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&fl(o,o.length,0,Jl(s,e.slice(r+1,n),t)),fl(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),fl(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=ql(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=ql(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}function vf(e){let t=[`codeIndented`];return e?.inline&&t.push(`list`,`headingAtx`,`setextUnderline`,`thematicBreak`,`blockQuote`,`codeFenced`,`table`),{allowDangerousHtml:!0,extensions:[uf(),_f(),{disable:{null:t}}],htmlExtensions:[af(),gf()]}}function yf(e,t){let n=vf(t);return nf(e,{...n,extensions:[...n.extensions??[],Tf(e),xf]})}var bf=e=>{let t=e.length-2,n=e[t-1];return n&&n[0]===`exit`&&n[1].type===`data`&&(n[1].end=e[t][1].end,e.length=t),e},xf={text:{null:{name:`textData`,tokenize(e,t){let n=this,r=this.parser.constructs.text;function i(e){if(e===null)return!0;let t=r[e]??[];return(Array.isArray(t)?t:[t]).some(e=>!e.previous||e.previous.call(n,n.previous))}function a(n){return i(n)?(e.exit(`data`),t(n)):(e.consume(n),a)}return t=>(e.enter(`data`),e.consume(t),a)},resolveTo:bf}}},Sf=/[#-'*+\\--9=?A-Z^-~]/,Cf=/[0-9A-Za-z]/,wf=/[A-Za-z]/;function Tf(e){let t=e.charCodeAt(0)===65279?1:0,n=e.lastIndexOf(`-->`),r=e.lastIndexOf(`?>`),i=e.lastIndexOf(`]]>`),a=e.lastIndexOf(`>`);function o(t){return e[t]===`<`?e.startsWith(`\\x3C!--`,t)?n<t+2:e.startsWith(`<![CDATA[`,t)?i<t+9:e[t+1]===`!`&&wf.test(e[t+2]??``)?a<t+3:e[t+1]===`?`?r<t+2&&!s(t):!1:!1}function s(t){let n=t+1;for(;Sf.test(e[n]??``);)n++;if(e[n]!==`@`)return!1;n++;let r=0,i=`atSignOrDot`;for(;;){let t=e[n]??``;if(i===`atSignOrDot`){if(!Cf.test(t))return!1;i=`label`}else if(i===`label`){if(t===`>`)return!0;t===`.`?(n++,r=0,i=`atSignOrDot`):i=`value`}else{if(!((t===`-`||Cf.test(t))&&r++<63))return!1;n++,i=t===`-`?`value`:`label`}}}let c={name:`unclosedHtml`,resolveTo:bf,tokenize(e,n,r){let i=this.now().offset+t;return t=>t!==60||!o(i)?r(t):(e.enter(`data`),e.consume(t),e.exit(`data`),n)}};return{text:{60:c}}}function Ef(e){let t=e.metadata[`data-source-file`],n=e.metadata[`data-source-line`];return t?n?` (${t}:${n})`:` (${t})`:``}function Df(){let e=Q.getState();if(!e.storyData)return``;let t=e.storyData.passages.get(e.currentPassage);return t?Ef(t):``}function Of({macro:e,error:t}){return q(`span`,{class:`error`,title:String(t),children:`{${e} error${Df()}: ${el(t)}}`})}function kf(e,t,n=Df()){console.error(`spindle: Error in {${e}}${n}:`,t)}function Af(e,t,n){let r=j();if(r.current===void 0){r.current=null;let i=Df();try{n()}catch(n){r.current={error:n},kf(`${e} ${t}`,n,i)}}return r.current?q(Of,{macro:e,error:r.current.error}):null}var jf={update:e=>{throw Error(`Cannot set @${e} — local variables require a {for}, widget, {link}, or {button} scope`)},getValues:()=>Ps},Mf=_e(Ps),Nf=_e(jf),Pf=_e(!1),Ff=_e(!1),If=_e(!1),Lf=_e(!1),Rf=`http://www.w3.org/2000/svg`,zf=new Set([`pre`,`textarea`]),Bf=_e(null);function Vf(e,t){return`<span data-tw=${e}:${t}></span>`}var Hf=/(?:(?<=\\\\)\\uE000)?<span data-tw=([0-9a-z]+):(\\d+)><\\/span>/g,Uf=``;function Wf(e,t){if(!e.includes(`<span data-tw=`))return[e];let n=[],r=0;for(let i of e.matchAll(Hf))i[1]===t.nonce&&(i.index>r&&n.push(e.slice(r,i.index)),n.push(parseInt(i[2],10)),r=i.index+i[0].length);return r<e.length&&n.push(e.slice(r)),n}function Gf(e,t){return Wf(e,t).map(e=>typeof e==`number`?t.components[e]:e)}function Kf({tag:e,attributes:t,placeholders:n,svg:r,children:i}){let a=tl(),o=[],{props:s,direct:c}=ap(t.map(([e,t,r])=>{let i=n[e];if(!i)return[e,t,r];let s=Zc(i,a);for(let t of s.errors)o.push([e,t]);return[e,s.text,r]}),r),l=op(c);return Jf(o,b(e,l?{...s,ref:l}:s,...i))}function qf({tag:e,props:t,direct:n,children:r}){let i=op(n);return b(e,{...t,ref:i},...r)}function Jf(e,t){return e.length===0?t:q(S,{children:[e.map(([e,{macro:t,error:n}],r)=>q(Of,{macro:t,error:Error(`in attribute \"${e}\": ${el(n)}`)},r)),t]})}function Yf(e,t){if(e==null||e.nodeType!==Node.ELEMENT_NODE)return-1;let n=e.getAttribute(`data-tw`),r=`${t.nonce}:`;return n==null||!n.startsWith(r)?-1:parseInt(n.slice(r.length),10)}function Xf(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}function Zf(e,t,n=!1){let r=Xf(e.trim());if(n)for(let e of Array.from(r.childNodes))e.nodeType===Node.ELEMENT_NODE&&e.nodeName===`P`&&e.replaceWith(...Array.from(e.childNodes));return q(S,{children:Array.from(r.childNodes).map((e,n)=>Qf(e,n,t))})}function Qf(e,t,n){if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;t.endsWith(`\\\\${Uf}`)&&Yf(e.nextSibling,n)!==-1&&(t=t.slice(0,-1));let r=Gf(t,n);return r.length===1?r[0]:r}if(e.nodeType===Node.ELEMENT_NODE){let r=e,i=r.localName,a=Yf(r,n);if(a!==-1)return n.components[a];let o=r.namespaceURI===Rf,s=[],c;for(let{name:e,value:t}of Array.from(r.attributes)){s.push([e,t,t]);let r=Wf(t,n);r.every(e=>typeof e==`string`)||(c??(c={}),c[e]=r.map(e=>typeof e==`string`?{type:`text`,value:e}:n.nodes[e]))}let l=Array.from(r.childNodes).map((e,t)=>Qf(e,t,n));if(c)return q(Kf,{tag:i,attributes:s,placeholders:c,svg:o,children:l},t);let{props:u,direct:d}=ap(s,o);return d.length>0?q(qf,{tag:i,props:u,direct:d,children:l},t):b(i,{...u,key:t},...l)}return null}var $f=new Set(`a.abbr.b.bdi.bdo.br.cite.code.data.dfn.em.i.kbd.label.mark.meter.output.progress.q.rp.rt.ruby.s.samp.small.span.strong.sub.sup.time.u.var.wbr`.split(`.`)),ep=new Set([`value`,`checked`,`selected`,`muted`]),tp=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]),np=new Set([...new Set([`key`,`ref`,`children`,`dangerouslySetInnerHTML`]),`class`,`className`]),rp=/^[A-Za-z_:][\\w:.-]*$/;function ip(e,t,n){if(rp.test(t)){e.setAttribute(t,n);return}let r=Xf(`<i ${t}=\"\"></i>`).firstChild.attributes[0];if(!r)return;let i=r.cloneNode();i.value=n,e.setAttributeNode(i)}function ap(e,t){let n={},r=[];for(let[i,a,o]of e){let e=i.toLowerCase();tp.has(e)&&o!==``&&a===``||(!t&&ep.has(e)?n[e]=e!==`value`&&o===``?!0:a:!rp.test(i)||e.startsWith(`on`)||e===`translate`||t&&(np.has(i)||i===`__proto__`)?r.push([i,a]):n[t?i:i.toUpperCase()]=a)}return{props:n,direct:r}}function op(e){let t=j(null);return Ne(()=>{let n=t.current;if(!(!n||e.length===0)){for(let[t,r]of e)ip(n,t,r);return()=>{for(let[t]of e)n.removeAttribute(t)}}},[JSON.stringify(e)]),e.length>0?t:void 0}var sp=new Map;function cp(e){if(!e.includes(`&`))return e;let t=sp.get(e);return t===void 0&&(t=Xf(`<i title=\"${e.replace(/\"/g,`&quot;`)}\"></i>`).firstChild.getAttribute(`title`)??e,sp.set(e,t)),t}var lp=/\\{[$_@%]\\w/,up=new Map,dp=2e3;function fp(e){let t=up.get(e);return t===void 0&&(t=Wc(e),`nodes`in t&&e.includes(`&`)&&(t={nodes:Gc(t.nodes,cp)}),up.size>=dp&&up.clear(),up.set(e,t)),t}function pp(e,t,n,r){if(Wo(e)){if(!t.includes(`&`)&&!lp.test(t))return t;let i=$c(t,n,cp);for(let t of i.errors)r.push([e,t]);return i.text}if(!Vc(t))return cp(t);let i=fp(t);if(`error`in i)return r.push([e,{macro:`markup`,error:i.error}]),cp(t);let a=Zc(i.nodes,n);for(let t of a.errors)r.push([e,t]);return a.text}function mp({node:e}){let t=tl(),{nobr:n,locals:r,raw:i,inline:a}=sl(),o=Ie(Lf),s=e.tag.toLowerCase(),c=s===`svg`,l=!i&&(c||zf.has(s)),u=[],{props:d,direct:f}=ap(Object.entries(e.attributes).map(([e,n])=>[e,pp(e,n,t,u),n]),o||c),p=op(f);p&&(d.ref=p);let m=$f.has(s),h;e.children.length>0&&(i||l?h=xp(e.children):(h=kp(e.children,{nobr:n,locals:r,inline:m}),m!==a&&(h=q(Ff.Provider,{value:m,children:h}))));let g=b(e.tag,d,h);return c&&!o&&(g=q(Lf.Provider,{value:!0,children:g})),Jf(u,l?q(If.Provider,{value:!0,children:g}):g)}function hp(){let e=Ie(Bf),t=sl();return!e||e.length===0?null:q(S,{children:kp(e,t)})}var gp=new WeakMap,_p=0;function vp(e){let t=gp.get(e);return t===void 0&&(t=`n${_p++}`,gp.set(e,t)),t}function yp(e,t){if(fc(e.name))return null;let n=Cc(e.name);if(n)return q(ll,{body:n.body,params:n.params,rawArgs:e.rawArgs,invocationChildren:e.children},t);let r=oc(e.name);return r?q(r,{rawArgs:e.rawArgs,className:e.className,id:e.id,children:e.children,branches:e.branches},t):q(`span`,{class:`error`,children:`{unknown macro: ${e.name}}`},t)}function bp(e){if(e.type===`text`)return e.value;let t=vp(e);switch(e.type){case`variable`:return e.scope===`local`&&e.name===`children`?q(hp,{},t):q(al,{node:e},t);case`expression`:return q(ol,{node:e},t);case`macro`:return yp(e,t);case`html`:return q(mp,{node:e},t);default:return e}}function xp(e){return e.length===0?null:e.map(e=>bp(e))}var Sp=/[*_`#|~\\[>\\\\\\-+=\\r]|!\\[|\\d+[.)]|&#?[a-zA-Z0-9]+;| {2}\\n|<[!?]/,Cp=/(?:\\r\\n|\\r(?!\\n)|\\n)\\s*[\\r\\n]/,wp=/<span data-tw=[0-9a-z]+:\\d+><\\/span>/g,Tp=` \t\\r\n`;function Ep(e,t,n,r){let i=t;if(n===1)for(;i<e.length&&r.includes(e[i]);)i++;else for(;i>0&&r.includes(e[i-1]);)i--;return i}function Dp(e){return e.includes(`\n`)?e.split(`\n`).map((e,t,n)=>{let r=t===0?0:Ep(e,0,1,` \t`),i=t===n.length-1?e.length:Ep(e,e.length,-1,` \t`);return e.slice(r,Math.max(r,i))}).join(`\n`):e}function Op(e,t,n){let r=Gf(Dp(e),t).filter(e=>e!==``);return n?q(S,{children:r}):b(`p`,null,...r)}function kp(e,t){if(e.length===0)return null;if(t?.raw)return xp(e);if(!e.some(e=>e.type===`text`&&(e.value.trim()!==``||Cp.test(e.value))))return e.map(e=>bp(e));let n=[],r={nonce:Math.random().toString(36).slice(2,10)||`0`,components:n,nodes:[]},i=``;for(let t=0;t<e.length;t++){let a=e[t];if(a.type===`text`){i+=a.value;continue}let o=n.length;n.push(bp(a)),r.nodes.push(a),i.endsWith(`\\\\`)&&(i+=Uf),i+=Vf(r.nonce,o)}let a=!!(t?.nobr||t?.inline),o=i.slice(0,Ep(i,0,1,Tp)),s=o.length===i.length?``:i.slice(Ep(i,i.length,-1,Tp)),c=i.slice(o.length,i.length-s.length),l=e=>a&&(o||s)?q(S,{children:[o,e,s]}):e,u=i.replace(wp,``);return!Sp.test(u)&&!Cp.test(u)?l(Op(c,r,a)):l(Zf(yf(i,{inline:t?.inline}),r,a))}var Ap=2**32-1,jp=Ap-1,Mp=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Np=Symbol();function Pp(e,t){let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];i===Np?n.push(`.get(${t(e[++r])})`):typeof i==`number`?n.push(`[${i}]`):n.push(qp(i))}return n}var Fp=Object.getOwnPropertyNames(Object.prototype).sort().join(`\\0`);function Ip(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\\0`)===Fp}function Lp(e){return Object.prototype.toString.call(e).slice(8,-1)}function Rp(e){return typeof Buffer<`u`&&Buffer.isBuffer(e)}function zp(e){switch(e){case`\"`:return`\\\\\"`;case`<`:return`\\\\u003C`;case`\\\\`:return`\\\\\\\\`;case`\n`:return`\\\\n`;case`\\r`:return`\\\\r`;case`\t`:return`\\\\t`;case`\\b`:return`\\\\b`;case`\\f`:return`\\\\f`;case`\\u2028`:return`\\\\u2028`;case`\\u2029`:return`\\\\u2029`;default:return e<` `?`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}var Bp=/[\"<\\\\\\u0000-\\u001f\\u2028\\u2029]/;function Vp(e){if(!Bp.test(e)&&e.isWellFormed())return`\"${e}\"`;let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let a=e.charCodeAt(i);if(a>=55296&&a<=57343){if(a<=56319&&i+1<r&&(e.charCodeAt(i+1)&64512)==56320){i+=1;continue}t+=e.slice(n,i)+`\\\\u${a.toString(16)}`,n=i+1;continue}let o=zp(e[i]);o&&(t+=e.slice(n,i)+o,n=i+1)}return`\"${n===0?e:t+e.slice(n)}\"`}var Hp=64,Up=new Map;function Wp(e){if(e.length>Hp)return Vp(e);let t=Up.get(e);return t===void 0&&(Up.size>=1024&&Up.clear(),t=Vp(e),Up.set(e,t)),t}function Gp(e){let t=Object.getOwnPropertySymbols(e);return t.length===0?t:t.filter(t=>Object.getOwnPropertyDescriptor(e,t)?.enumerable)}var Kp=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function qp(e){return Kp.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function Jp(e){return!(!Number.isInteger(e)||e<0||e>jp)}function Yp(e){return!(!Number.isInteger(e)||e<0||e>Ap)}function Xp(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Jp(+e)}function Zp(e){for(var t=e.length-1;t>=0&&!Xp(e[t]);t--);return t+1}function Qp(e){let t=Object.keys(e);return t.length=Zp(t),t}function $p(e){return new Uint8Array(e).toBase64()}function em(e){return Uint8Array.fromBase64(e).buffer}function tm(e){return Buffer.from(e).toString(`base64`)}function nm(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function rm(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function im(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var am=typeof Uint8Array.fromBase64==`function`,om=typeof process==`object`&&process.versions?.node!==void 0,sm=am?$p:om?tm:rm,cm=am?em:om?nm:im;function lm(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var um=Object.freeze({kind:`not-plain`}),dm=Object.freeze({kind:`symbol-keys`}),fm=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>Lp(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>(Rp(e)&&(e=new Uint8Array(e)),{buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>Qp(e),shapeOf:e=>Ip(e)?Gp(e).length>0?dm:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:um,get:(e,t)=>e[t]}),pm=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`)?.get,mm=typeof SharedArrayBuffer>`u`?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`)?.get,hm=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{try{pm.call(t)}catch(e){if(!mm)throw e;mm.call(t)}let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[jp]=void 0,delete t[jp],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function gm(){throw Error(`Invalid input`)}function _m(e,t,n){return vm(JSON.parse(e),t,n)}function vm(e,t,n){let r=lm(hm,n?.operations);if(typeof e==`number`)return c(e,!0);(!Array.isArray(e)||e.length===0)&&gm();let i=e,a=Array(i.length),o=null;function s(e){return(!Jp(e)||e>=i.length)&&gm(),i[e]}function c(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if((n||typeof e!=`number`)&&gm(),e in a)return a[e];e>=i.length&&gm();let l=i[e];if(!l||typeof l!=`object`)a[e]=r.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]==`string`){let n=l[0],u=t&&Object.hasOwn(t,n)?t[n]:void 0;if(u){let t=l[1];if(typeof t!=`number`&&(t=i.push(l[1])-1),Object.hasOwn(a,t))return a[e]=u(a[t]);if(o??(o=new Set),o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=u(c(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(l[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<l.length;e+=1)r.addValue(t,c(l[e]));break;case`Map`:let i=r.createMap();a[e]=i;for(let e=1;e<l.length;e+=2)r.addEntry(i,c(l[e]),c(l[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(l[1],l[2]);break;case`Object`:{let t=l[1];if(!(t===-3||t===-4||t===-5||t===-6)){let e=s(t),n=Array.isArray(e)&&e[0]===`BigInt`;(e===void 0||typeof e==`object`)&&!n&&gm()}a[e]=r.box(c(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(l[1]));break;case`null`:let o=r.createNullPrototypeObject();a[e]=o;for(let e=1;e<l.length;e+=2){let t=l[e];if(typeof t!=`string`)throw Error(`Cannot parse an object with a non-string key`);if(t===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(o,t,c(l[e+1]))}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{let t=l[1],i=s(t);(!Array.isArray(i)||i[0]!==`ArrayBuffer`)&&gm();let o=c(t);a[e]=r.fromViewInfo(n,o,l[2],l[3]);break}case`ArrayBuffer`:{let t=l[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(cm(t));break}case`URL`:case`URLSearchParams`:case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:a[e]=r.fromStringValue(n,l[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(l[0]===-7){let t=l[1];Yp(t)||gm();let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<l.length;e+=2){let i=l[e];(!Jp(i)||i>=t)&&gm(),r.set(n,i,c(l[e+1]))}}else{let t=r.createArray(l.length);a[e]=t;for(let e=0;e<l.length;e+=1){let n=l[e];n!==-2&&r.set(t,e,c(n))}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(l)){if(e===`__proto__`)throw Error(\"Cannot parse an object with a `__proto__` property\");r.set(t,e,c(l[e]))}}return a[e]}return c(0)}function ym(e,t,n){let r=bm(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}function bm(e,t,n,r){let i=lm(fm,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(e,n){throw new Mp(e,Pp(c,e=>{let t=i.typeOf(e);return t!==`object`&&t!==`function`&&t!==`symbol`?xm(i.toPrimitive(e)):`...`}),n,t)}function d(t,n){let r=i.typeOf(t);if(r===`undefined`)return-1;let f;if(r===`number`){if(f=i.toPrimitive(t),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(t);if(o.has(p))return o.get(p);n??(n=l++),o.set(p,n);for(let{key:e,fn:r}of s){let i=r(t);if(i)return a[n]=`[\"${e}\",${d(i)}]`,n}r===`function`?u(`Cannot stringify a function`,t):r===`symbol`&&u(`Cannot stringify a Symbol primitive`,t);let m=``;if(r!==`object`)m=xm(r===`number`?f:i.toPrimitive(t));else if(i.isThenable(t)){e||u(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,t);let r=c.slice();m=i.toPromise(t).then(e=>{c=r;let t=d(e,n);t<0&&(a[n]=t)}),m.catch(()=>{})}else{let e=i.tagOf(t);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`[\"Object\",${d(i.unbox(t))}]`;break;case`Date`:m=`[\"Date\",\"${i.toISOString(t)}\"]`;break;case`URL`:m=`[\"URL\",${Vp(i.toStringValue(t))}]`;break;case`URLSearchParams`:m=`[\"URLSearchParams\",${Vp(i.toStringValue(t))}]`;break;case`RegExp`:let{source:n,flags:r}=i.regExpInfo(t);m=r?`[\"RegExp\",${Vp(n)},\"${r}\"]`:`[\"RegExp\",${Vp(n)}]`;break;case`Array`:{let e=!1,n=i.lengthOf(t);m=`[`;for(let r=0;r<n;r+=1)if(r>0&&(m+=`,`),i.hasOwn(t,r))c.push(r),m+=d(i.get(t,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(t),a=r.length,o=String(n).length;if((n-a)*3>4+o+a*(o+1)){m=`[-7,`+n;for(let e=0;e<r.length;e++){let n=r[e];c.push(+n),m+=`,`+n+`,`+d(i.get(t,n)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`[\"Set\"`;for(let e of i.valuesOf(t))m+=`,${d(e)}`;m+=`]`;break;case`Map`:m=`[\"Map\"`;for(let[e,n]of i.entriesOf(t))c.push(Np,e),m+=`,${d(e)},${d(n)}`,c.pop(),c.pop();m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.length}`),m+=`]`;break}case`DataView`:{let n=i.viewInfo(t);m=`[\"`+e+`\",`+d(n.buffer),n.byteLength!==n.bufferByteLength&&(m+=`,${n.byteOffset},${n.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`[\"ArrayBuffer\",\"${sm(i.toArrayBuffer(t))}\"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`[\"${e}\",${Vp(i.toStringValue(t))}]`;break;default:{let e=i.shapeOf(t);if(e.kind===`not-plain`&&u(`Cannot stringify arbitrary non-POJOs`,t),e.kind===`symbol-keys`&&u(`Cannot stringify POJOs with symbolic keys`,t),e.kind===`null-proto`){m=`[\"null\"`;for(let n of e.keys)n===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),c.push(n),m+=`,${Wp(n)},${d(i.get(t,n))}`,c.pop();m+=`]`}else{m=`{`;let n=!1;for(let r of e.keys)r===`__proto__`&&u(`Cannot stringify objects with __proto__ keys`,t),n&&(m+=`,`),n=!0,c.push(r),m+=`${Wp(r)}:${d(i.get(t,r))}`,c.pop();m+=`}`}}}}return a[n]=m,n}let f=d(t);return f<0?`${f}`:a}function xm(e){let t=typeof e;return t===`string`?Vp(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`[\"BigInt\",\"${e}\"]`:String(e)}var Sm=new Map,Cm=new Map;function wm(e,t){Sm.set(e,t),Cm.set(t,e)}function Tm(e){let t=Object.getPrototypeOf(e);return t===null?void 0:Cm.get(t.constructor)}var Em=`c:`,Dm=`E:`,Om=`S`,km=`K`,Am=new Map([Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.AggregateError].map(e=>[e.prototype,e.name])),jm=new Map([...Am].map(([e,t])=>[t,e.constructor])),Mm=[`message`,`cause`,`errors`],Nm=e=>typeof e==`object`&&!!e,Pm=(e,t,n)=>{Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})};function Fm(e){if(Object.getOwnPropertySymbols(e).length>0)throw TypeError(`spindle: Cannot save an object with symbol keys`)}function Im(e){Fm(e);let t={};if(e instanceof Error)for(let n of Mm)G(e,n)&&Pm(t,n,e[n]);for(let n of Object.keys(e))Pm(t,n,e[n]);return t}function Lm(e){for(let t of Mm)G(e,t)&&Object.defineProperty(e,t,{enumerable:!1})}var Rm=e=>e.length===1&&JSON.stringify(e).length>3;function zm(){let e={};for(let[t,n]of Sm)e[Em+t]=e=>Nm(e)&&Object.getPrototypeOf(e)===n.prototype&&Im(e);for(let[t,n]of Am)e[Dm+n]=e=>Nm(e)&&Object.getPrototypeOf(e)===t&&Im(e);return e[Om]=e=>{if(typeof e!=`symbol`)return!1;let t=Symbol.keyFor(e);return t!==void 0&&[t]},e[km]=e=>{if(!Nm(e)||Object.getPrototypeOf(e)!==Object.prototype)return!1;let t=Object.keys(e);if(!t.some(Rm))return!1;if(Fm(e),t.includes(`__proto__`))throw TypeError(`spindle: Cannot save a property named \"__proto__\"`);return t.flatMap(t=>[t,e[t]])},e}function Bm(e){return t=>{if(!Nm(t)||Object.getPrototypeOf(t)!==Object.prototype){if(Nm(t)&&Tm(t)===e)return t;throw TypeError(`spindle: Malformed data for class \"${e}\"`)}let n=Sm.get(e);if(!n)throw TypeError(`spindle: The save holds an instance of class \"${e}\", which is not registered`);return Object.setPrototypeOf(t,n.prototype),t instanceof Error&&Lm(t),t}}function Vm(e){let t=jm.get(e);if(t)return n=>{if(Object.getPrototypeOf(n)===t.prototype)return n;if(!Nm(n)||Object.getPrototypeOf(n)!==Object.prototype)throw TypeError(`spindle: Malformed data for \"${e}\"`);return Object.setPrototypeOf(n,t.prototype),Lm(n),n}}var Hm=new WeakMap;function Um(e){if(!Array.isArray(e)||e.length%2!=0)throw TypeError(`spindle: Malformed object entries`);let t=Hm.get(e);t||Hm.set(e,t={});for(let n=0;n<e.length&&G(e,n);n+=2){let r=e[n];if(typeof r!=`string`||r===`__proto__`)throw TypeError(`spindle: Malformed object entries`);Pm(t,r,G(e,n+1)?e[n+1]:void 0)}return t}var Wm=new Proxy({},{getOwnPropertyDescriptor(e,t){let n=Gm(t);return n&&{value:n,enumerable:!0,configurable:!0}},get:(e,t)=>Gm(t)});function Gm(e){if(typeof e==`string`){if(e===Om)return e=>{if(!Array.isArray(e)||typeof e[0]!=`string`)throw TypeError(`spindle: Malformed symbol`);return Symbol.for(e[0])};if(e===km)return Um;if(e.startsWith(Em))return Bm(e.slice(2));if(e.startsWith(Dm))return Vm(e.slice(2))}}function Km(e,t){if(!(e instanceof Error)||e.name!==`DevalueError`)return e instanceof Error?e:Error(String(e));let{path:n,value:r}=e,i=n?` (at ${n})`:``,a=e.message;return typeof r==`function`?a=`Cannot save a function`:Nm(r)&&/non-POJO/.test(e.message)?a=`Cannot save an instance of class \"${Object.getPrototypeOf(r)?.constructor?.name??`?`}\", which is not registered (see Story.registerClass)`:typeof r==`symbol`?a=`Cannot save a unique symbol (only Symbol.for() symbols)`:/symbolic keys/.test(e.message)?a=`Cannot save an object with symbol keys`:/__proto__/.test(e.message)&&(a=`Cannot save a property named \"__proto__\"`),TypeError(`spindle: ${a}${i}`)}function qm(e){try{return ym(e,zm())}catch(t){throw Km(t,e)}}function Jm(e){return _m(e,Wm)}var Ym=class extends Error{constructor(){super(`This save was made by an incompatible version of Spindle`),this.name=`IncompatibleSaveError`}},Xm={};function Zm(e){if(typeof e!=`number`||!Number.isInteger(e)||e<1||e>1)throw new Ym}function Qm(e,t){Zm(e);let n=t;for(let t=e;t<1;t++){let e=Xm[t];if(!e)throw new Ym;n=e(n)}return n}var $m=e=>e&&new Map(Object.entries(e));function eh(e){if(!(e instanceof TypeError))return e;let t=e.message.replace(/\\(at \\.variables(?=[.[]|\\))/,`(at $`).replace(/\\(at \\.history\\[(\\d+)\\]\\.variables(.*)\\)$/,(e,t,n)=>`(at $${n} in history moment ${t})`).replace(/\\(at \\$\\.?/,`(at $`);return t===e.message?e:TypeError(t)}function th(e){try{return{formatVersion:1,data:qm({...e,visitCounts:$m(e.visitCounts),renderCounts:$m(e.renderCounts)})}}catch(e){throw eh(e)}}var nh=()=>Error(`Invalid save data`);function rh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ih(e){return e==null?!0:rh(e)&&typeof e.seed==`string`&&typeof e.pull==`number`&&Number.isInteger(e.pull)&&e.pull>=0}var ah=e=>rh(e)&&typeof e.passage==`string`&&rh(e.variables)&&typeof e.timestamp==`number`&&ih(e.prng),oh=e=>e===void 0||e instanceof Map&&[...e.keys()].every(e=>typeof e==`string`);function sh(e){if(!rh(e)||typeof e.passage!=`string`||!rh(e.variables))return!1;let{history:t,historyIndex:n}=e;return!Array.isArray(t)||t.length===0||!Array.from(t).every(ah)||typeof n!=`number`||!Number.isInteger(n)||n<0||n>=t.length||t[n].passage!==e.passage?!1:oh(e.visitCounts)&&oh(e.renderCounts)&&ih(e.prng)}var ch=e=>e instanceof Map?Rs(Object.fromEntries(e)):void 0;function lh(e){if(typeof e!=`object`||!e)throw nh();let{formatVersion:t,data:n}=e;if(Zm(t),typeof n!=`string`)throw nh();let r=Jm(Qm(t,n));if(!sh(r))throw nh();let i={...r,visitCounts:ch(r.visitCounts),renderCounts:ch(r.renderCounts)};return i.visitCounts===void 0&&delete i.visitCounts,i.renderCounts===void 0&&delete i.renderCounts,i}var uh=`Invalid save file format`;function dh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var fh=[`id`,`passage`,`ifid`,`playthroughId`,`createdAt`,`updatedAt`,`title`];function ph(e){let t=console.warn;console.warn=()=>{};try{lh(e)}finally{console.warn=t}}function mh(e){if(!dh(e))throw Error(uh);if(!G(e,`formatVersion`))throw e.version===1?new Ym:Error(uh);if(Zm(e.formatVersion),typeof e.ifid!=`string`)throw Error(uh);let t=e.save;if(!dh(t)||!dh(t.meta))throw Error(uh);let n=t.meta;if(fh.some(e=>typeof n[e]!=`string`))throw Error(uh);try{ph(t.payload)}catch(e){throw e instanceof Ym?e:Error(uh)}}function hh(e){try{return mh(e),!0}catch{return!1}}function gh(e){return JSON.stringify(e).length}function _h(e){return{saves:e(`saves`,{ifid:e=>e.meta.ifid,playthroughId:e=>e.meta.playthroughId}),playthroughs:e(`playthroughs`,{ifid:e=>e.ifid}),meta:e(`meta`,{})}}var vh={autosave:`autosave.`,slot:`slot.`,slotIndex:`slotIndex.`,playthroughCount:`playthroughCount.`,currentPlaythrough:`currentPlaythroughId.`};function yh(e,t){let{slot:n,...r}=vh;return Object.values(r).some(n=>e===n+t)||e.startsWith(n)&&e.endsWith(`.${t}`)}function bh(e,{saves:t,playthroughs:n,meta:r},i){async function a(e,t,n,r){let i=(await e.find(n,r)).map(t);for(let t of i)await e.delete(t);return i}async function o(e){for(let t of await r.keys())e(t)&&await r.delete(t)}let s=e=>e.meta.id,c=e=>e.id;return{type:e,putSave:e=>t.put(e.meta.id,e),getSave:e=>t.get(e),deleteSave:e=>t.delete(e),getSavesByIfid:e=>t.find(`ifid`,e),deleteSavesByIfid:async e=>{await a(t,s,`ifid`,e)},deleteSavesByPlaythrough:e=>a(t,s,`playthroughId`,e),putPlaythrough:e=>n.put(e.id,e),getPlaythroughsByIfid:e=>n.find(`ifid`,e),deletePlaythroughsByIfid:async e=>{await a(n,c,`ifid`,e)},deletePlaythroughById:e=>n.delete(e),getMeta:e=>r.get(e),setMeta:(e,t)=>r.put(e,t),deleteMeta:e=>r.delete(e),deleteMetaByPrefix:e=>o(t=>t.startsWith(e)),deleteMetaByIfid:e=>o(t=>yh(t,e)),getAllMetaKeys:()=>r.keys(),destroy:i}}function xh(){let e=e=>structuredClone(e),t=[];function n(n,r){let i=new Map;return t.push(i),{get:async t=>e(i.get(t)),put:async(t,n)=>{i.set(t,e(n))},delete:async e=>{i.delete(e)},find:async(t,n)=>[...i.values()].filter(e=>r[t](e)===n).map(e),keys:async()=>[...i.keys()]}}return bh(`memory`,_h(n),async()=>{for(let e of t)e.clear()})}var Sh={saves:`spindle.save.`,playthroughs:`spindle.pt.`,meta:`spindle.meta.`},Ch={\"saves.ifid\":`spindle.idx.saves.`,\"saves.playthroughId\":`spindle.idx.saves-pt.`,\"playthroughs.ifid\":`spindle.idx.pt.`};function wh(e){let t=localStorage.getItem(e);if(t!==null)try{return JSON.parse(t)}catch{return}}function Th(e,t){localStorage.setItem(e,JSON.stringify(t))}function Eh(e){localStorage.removeItem(e)}function Dh(e){return wh(e)??[]}function Oh(e,t){let n=Dh(e);n.includes(t)||(n.push(t),Th(e,n))}function kh(e,t){let n=Dh(e).filter(e=>e!==t);n.length>0?Th(e,n):Eh(e)}var Ah=e=>Object.keys(localStorage).filter(t=>t.startsWith(e));function jh(){function e(e,t){let n=Sh[e],r=Object.entries(t).map(([t,n])=>({field:t,read:n,prefix:Ch[`${e}.${t}`]})),i=e=>r.map(t=>`${t.prefix}${t.read(e)}`);return{get:async e=>wh(`${n}${e}`),async put(e,t){let r=wh(`${n}${e}`),a=i(t);if(r!==void 0)for(let t of i(r))a.includes(t)||kh(t,e);Th(`${n}${e}`,t);for(let t of a)Oh(t,e)},async delete(e){let t=wh(`${n}${e}`);if(t!==void 0)for(let n of i(t))kh(n,e);Eh(`${n}${e}`)},async find(e,t){let i=r.find(t=>t.field===e),a=[];for(let e of Dh(`${i.prefix}${t}`)){let t=wh(`${n}${e}`);t!==void 0&&a.push(t)}return a},keys:async()=>Ah(n).map(e=>e.slice(n.length))}}return bh(`localstorage`,_h(e),async()=>{for(let e of Ah(`spindle.`))Eh(e)})}var Mh=`spindle`,Nh=1,Ph={saves:{keyPath:`meta.id`,indexes:{ifid:`meta.ifid`,playthroughId:`meta.playthroughId`}},playthroughs:{keyPath:`id`,indexes:{ifid:`ifid`}},meta:{keyPath:`key`,indexes:{}}};function Fh(){let e=null;function t(){return e||(e=new Promise((t,n)=>{let r=indexedDB.open(Mh,Nh);r.onupgradeneeded=()=>{let e=r.result;for(let[t,{keyPath:n,indexes:r}]of Object.entries(Ph)){if(e.objectStoreNames.contains(t))continue;let i=e.createObjectStore(t,{keyPath:n});for(let[e,t]of Object.entries(r))i.createIndex(e,t,{unique:!1})}},r.onsuccess=()=>{let n=r.result;n.onversionchange=()=>{n.close(),e=null},t(n)},r.onerror=()=>n(r.error)}),e)}function n(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function r(e){let r=e===`meta`,i=async(r,i)=>{let a=(await t()).transaction(e,r),o=n(i(a.objectStore(e)));if(r===`readonly`)return o;let s=new Promise((e,t)=>{a.oncomplete=()=>e(),a.onabort=()=>t(a.error??new DOMException(`Transaction aborted`,`AbortError`))}),[c]=await Promise.all([o,s]);return c};return{async get(e){let t=await i(`readonly`,t=>t.get(e));return r?t?.value:t},async put(e,t){await i(`readwrite`,n=>n.put(r?{key:e,value:t}:t))},async delete(e){await i(`readwrite`,t=>t.delete(e))},async find(e,t){return await i(`readonly`,n=>n.index(e).getAll(t))??[]},keys:async()=>await i(`readonly`,e=>e.getAllKeys())}}return bh(`indexeddb`,_h(r),async()=>{(await t()).close(),e=null,await new Promise((e,t)=>{let n=indexedDB.deleteDatabase(Mh);n.onsuccess=()=>e(),n.onerror=()=>t(n.error),n.onblocked=()=>t(Error(`Cannot clear the saved data: another tab or window of this site still has it open. Close the other tabs and try again.`))})})}var Ih=null;async function Lh(){try{if(typeof indexedDB<`u`)return await new Promise((e,t)=>{let n=indexedDB.open(`__spindle_probe__`,1);n.onsuccess=()=>{n.result.close(),indexedDB.deleteDatabase(`__spindle_probe__`),e()},n.onerror=()=>t(n.error)}),Fh()}catch{}try{if(typeof localStorage<`u`){let e=`__spindle_probe__`;localStorage.setItem(e,`1`);let t=localStorage.getItem(e);if(localStorage.removeItem(e),t===`1`)return jh()}}catch{}return xh()}var Rh=null;function Z(){if(Ih)return Promise.resolve(Ih);if(!Rh){let e=Lh().then(t=>(Rh===e&&(Ih=t),t));Rh=e}return Rh}function zh(){Ih=null,Rh=null}function Bh(){return Ih?.type??`memory`}var Vh=e=>Object.prototype.toString.call(e).slice(8,-1),Hh=e=>Vh(e).startsWith(`Temporal.`),Uh=e=>e instanceof Number||e instanceof String||e instanceof Boolean||Vh(e)===`BigInt`;function Wh(e){return e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof URL||e instanceof URLSearchParams||e instanceof Error||Uh(e)||Hh(e)}function Gh(e){if(!Wh(e))return;let t=e instanceof Error?`Error`:Vh(e);return`${/^[AEIOU]/.test(t)?`an`:`a`} ${t}`}function Kh(e,t){let n=e;for(let e of t){if(n==null||e in Object.prototype&&!G(Object(n),e))return;n=n[e]}return n}var qh=e=>e===`length`||/^(0|[1-9]\\d*)$/.test(e),Jh=Gh;function Yh(e){let t=Array.isArray(e)?Array(e.length):Object.create(Object.getPrototypeOf(e));for(let n of Object.keys(e))Object.defineProperty(t,n,{value:e[n],enumerable:!0,writable:!0,configurable:!0});return t}function Xh(e,t,n,r={}){let i=eg(e,t,r.createMissing??!1);i[t[t.length-1]]=n}function Zh(e,t){let n=t[t.length-1];Qh(t);let r=e;for(let e of t.slice(0,-1)){if(typeof r!=`object`||!r||!G(r,e))return;r=r[e]}if(typeof r!=`object`||!r||!G(r,n))return;let i=eg(e,t,!1);if(Array.isArray(i)&&Mt(i)&&t.length>1){let r=Rn(i).slice();delete r[Number(n)];let a=eg(e,t.slice(0,-1),!1);a[t[t.length-2]]=r;return}delete i[n]}function Qh(e){if(e.includes(`__proto__`))throw TypeError(`spindle: Cannot use \"__proto__\" in a variable path (\"${e.join(`.`)}\")`)}function $h(e,t,n,r){let i=Jh(e)??(Array.isArray(e)&&!qh(t)?`an array`:``);if(i)throw TypeError(`spindle: Cannot set property \"${t}\" on ${i} (at \"${n.slice(0,r).join(`.`)}\")`)}function eg(e,t,n){Qh(t);let r=Mt(e),i=e;for(let e=0;e<t.length-1;e++){let a=t[e];$h(i,a,t,e);let o=G(i,a)?i[a]:void 0;if(typeof o!=`object`||!o){if(!n)throw TypeError(`spindle: Cannot set property \"${t[e+1]}\" on ${o===null?`null`:typeof o} (at \"${t.slice(0,e+1).join(`.`)}\")`);o={},i[a]=o}else r&&!Mt(o)&&!Jh(o)&&(o=Yh(o),i[a]=o);i=o}return $h(i,t[t.length-1],t,t.length-1),i}function tg(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var ng=[`message`,`cause`,`errors`];function rg(e,t={}){let n=t.seen??new Map,r=(e,t)=>(n.set(e,t),t);function i(e,t){for(let n of Object.keys(e))ks(t,n,s(e[n]));for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=s(e[n]));return t}function a(e){if(e instanceof Date)return r(e,new Date(e.getTime()));if(e instanceof RegExp)return r(e,new RegExp(e.source,e.flags));if(e instanceof ArrayBuffer)return r(e,e.slice(0));if(ArrayBuffer.isView(e)){let t=s(e.buffer);if(e instanceof DataView)return r(e,new DataView(t,e.byteOffset,e.byteLength));let n=e.constructor,i=e.length;return r(e,new n(t,e.byteOffset,i))}if(e instanceof URL)return r(e,new URL(e.href));if(e instanceof URLSearchParams)return r(e,new URLSearchParams(e));if(Uh(e))return r(e,Object(e.valueOf()));if(Hh(e))return e;if(e instanceof Error){let t=r(e,Object.create(Object.getPrototypeOf(e)));for(let n of[...ng,`stack`])if(G(e,n)){let r=e[n];Object.defineProperty(t,n,{value:o(s(r),r),writable:!0,configurable:!0})}return i(e,t)}}function o(e,n){let r=t.settle;return r&&lg(e)&&lg(n)?r(e,n):e}function s(e){if(typeof e!=`object`||!e)return e;let c=e;if(n.has(c))return n.get(c);if(Array.isArray(e)){let t=r(c,Array(e.length));for(let n=0;n<e.length;n++)n in e&&(t[n]=s(e[n]));return t}if(e instanceof Map){let t=r(c,new Map);for(let[n,r]of e)t.set(o(s(n),n),s(r));return t}if(e instanceof Set){let t=r(c,new Set);for(let n of e)t.add(o(s(n),n));return t}let l=a(c);if(l!==void 0)return l;let u=Tm(c)!==void 0||tg(e);return!u&&t.keepUnregistered?e:i(c,r(c,u?Object.create(Object.getPrototypeOf(c)):{}))}return s(e)}function ig(e,t){return pg(e,t,ag())}function ag(){let e=new Map;return(t,n)=>{let r=e.get(t);if(r?.has(n))return!0;r?r.add(n):e.set(t,new Set([n]))}}function og(e=new Map,t=new Map){let n=[],r=((r,i)=>{let a=e.get(r);if(a!==void 0)return a===i;if(t.has(i))return!1;e.set(r,i),t.set(i,r),n.push([r,i])});return r.strict=!0,r.added=n,r}function sg(e,t){return pg(e,t,og())}function cg(e,t){if(!lg(e)||!lg(t))return t;let n=new Map,r=new Map,i=e=>lg(e)?rg(e,{keepUnregistered:!0,seen:n}):e;function a(e,t){let i=og(r,n);if(pg(e,t,i))return!0;for(let[e,t]of i.added)r.delete(e),n.delete(t);return!1}function o(e,t){if(!lg(t))return t;let r=n.get(t);if(r!==void 0)return r;if(!lg(e))return i(t);if(a(e,t))return e;if(t instanceof Map&&e instanceof Map){let r=new Map;n.set(t,r);for(let[n,a]of t)r.set(i(n),o(e.get(n),a));return r}if(Array.isArray(t)&&Array.isArray(e)){let r=Array(t.length);n.set(t,r);for(let n=0;n<t.length;n++)n in t&&(r[n]=o(e[n],t[n]));return r}if(hg(e,t,!1)){let r=Object.create(Object.getPrototypeOf(t));n.set(t,r);let i=t;for(let t of Object.keys(i))ks(r,t,o(G(e,t)?e[t]:void 0,i[t]));return r}return i(t)}return o(e,t)}var lg=e=>typeof e==`object`&&!!e;function ug(e,t){let n=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r=ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!1;return!0}function dg(e,t,n){if(e instanceof Date)return Object.is(e.getTime(),t.getTime());if(e instanceof RegExp)return String(e)===String(t);if(ArrayBuffer.isView(e)){let r=t;return e.byteOffset===r.byteOffset&&e.byteLength===r.byteLength&&pg(e.buffer,r.buffer,n)}if(e instanceof ArrayBuffer)return ug(e,t);if(e instanceof URL||e instanceof URLSearchParams)return String(e)===String(t);if(Uh(e))return Object.is(e.valueOf(),t.valueOf());if(Hh(e))return String(e)===String(t);if(e instanceof Error)return ng.every(r=>G(e,r)===G(t,r)&&pg(e[r],t[r],n))&&fg(e,t,n)}function fg(e,t,n){let r=e,i=t,a=Object.keys(r);if(a.length!==Object.keys(i).length)return!1;for(let e of a)if(!G(i,e)||!pg(r[e],i[e],n))return!1;return!0}function pg(e,t,n){if(Object.is(e,t)&&!(n.strict&&lg(e)))return!0;if(e===null||t===null||typeof e!=`object`||typeof t!=`object`||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n(e,t);if(r!==void 0)return r;if(e instanceof Map||e instanceof Set){let r=t;if(e.size!==r.size)return!1;let i=e.entries(),a=r.entries();for(let e=i.next(),t=a.next();!e.done;e=i.next(),t=a.next())if(!pg(e.value,t.value,n))return!1;return!0}let i=dg(e,t,n);if(i!==void 0)return i;if(Array.isArray(e)){let r=t;if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(t in e!=t in r||!pg(e[t],r[t],n))return!1;return!0}return fg(e,t,n)}function mg(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!Wh(e)}function hg(e,t,n){return n&&(Array.isArray(e)||Array.isArray(t))?Array.isArray(e)&&Array.isArray(t):mg(e)&&mg(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}function gg(e,t,n){let r=[],i=(e,t,i)=>{Object.is(t,i)||(hg(t,i,n)?r.push({key:e,kind:`nested`,before:t,after:i}):ig(t,i)||r.push({key:e,kind:`changed`,after:i}))};if(Array.isArray(t)){let n=e,a=t;for(let e=0;e<Math.min(n.length,a.length);e++){let t=String(e);e in n&&e in a?i(t,n[e],a[e]):e in n?r.push({key:t,kind:`deleted`,hole:!0}):e in a&&r.push({key:t,kind:`added`,after:a[e]})}let o=n.length;for(let e=n.length;e<a.length;e++){if(!(e in a))continue;let t=e-o;r.push({key:String(e),kind:`added`,after:a[e],...t?{gap:t}:{}}),o=e+1}for(let e=a.length;e<n.length;e++)r.push({key:String(e),kind:`deleted`});return a.length>o&&r.push({key:`length`,kind:`holes`,after:a.length-o}),r}for(let n of Object.keys(t))G(e,n)?i(n,e[n],t[n]):r.push({key:n,kind:`added`,after:t[n]});for(let n of Object.keys(e))G(t,n)||r.push({key:n,kind:`deleted`});return r}function _g(e,t,n=!1){let r=[],i=new Set,a=new WeakMap,o=0;return(function e(t,s,c){if(i.has(s)){o++;return}if(a.get(s)?.has(t))return;i.add(s);let l=r.length,u=o;for(let i of gg(t,s,n)){let n=[...c,i.key];i.kind===`nested`?e(i.before,i.after,n):r.push(i.kind===`deleted`?{path:n,deleted:!0,...i.hole?{hole:!0}:{}}:{path:n,deleted:!1,value:i.after,...i.kind===`added`&&Array.isArray(s)&&Number(i.key)>=t.length?{appended:!0,...i.gap?{gap:i.gap}:{}}:{}})}if(r.length===l&&o===u){let e=a.get(s)??new Set;e.add(t),a.set(s,e)}i.delete(s)})(e,t,[]),r}var vg=e=>JSON.stringify(e);function yg(e,t){for(let n=1;n<=e.length;n++)if(t.has(vg(e.slice(0,n))))return!0;return!1}var bg=(e,t)=>`\\0${e}${t}`,xg=e=>e.startsWith(`\\0`);function Sg(e){let t=[];if(e instanceof Map){let n=0;for(let[r,i]of e)t.push([bg(`k`,n),r],[bg(`v`,n),i]),n++}else if(e instanceof Set){let n=0;for(let r of e)t.push([bg(`s`,n++),r])}else if(e instanceof Error)for(let n of[`cause`,`errors`])G(e,n)&&t.push([bg(n===`cause`?`c`:`e`,0),e[n]]);else if(ArrayBuffer.isView(e))t.push([bg(`b`,0),e.buffer]);else return;return t}function Cg(e,t){let n=e,r=0;for(let e=0;e<t.length;e++)if(xg(t[e])){if(n=Kh(n,t.slice(r,e)),!lg(n))return;n=Sg(n)?.find(([n])=>n===t[e])?.[1],r=e+1}return r===t.length?n:Kh(n,t.slice(r))}function wg(e,t,n){let r=Cg(e,t.slice(0,-1)),i=/^\\0v(\\d+)$/.exec(t[t.length-1]);if(!(r instanceof Map)||!i)return!1;let a=[...r.keys()][Number(i[1])];return r.set(a,n),!0}function Tg(e,t=new Set,n=!1){let r=new Map,i=[];function a(e,t){let a=r.get(e);if(a){a.push(t);return}r.set(e,[t]),mg(e)||Array.isArray(e)?o(e,t):n&&Sg(e)&&i.push([e,t])}function o(e,n){for(let r of Object.keys(e)){let i=e[r];if(!lg(i))continue;let o=[...n,r];t.has(vg(o))||a(i,o)}}o(e,[]);for(let[e,t]of i)for(let[n,r]of Sg(e))lg(r)&&a(r,[...t,n]);return r}function Eg(e,t,n){return new Map([...Tg(e,t,n)].map(([e,t])=>[e,t[0]]))}function Dg(e){return[...Tg(e,void 0,!0).values()].filter(e=>e.length>1)}function Og(e,t,n,r,i){let a=[],o=Sg(e),s=Sg(t);if(o&&s){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)||(e instanceof Map||e instanceof Set)&&e.size!==t.size)return!1;let n=new Map(s);for(let[e,t]of o)n.has(e)&&a.push([e,t,n.get(e)])}else if((mg(e)||Array.isArray(e))&&hg(e,t,!0))for(let n of Object.keys(t))G(e,n)&&a.push([n,e[n],t[n]]);return a.some(([e,t,a])=>{if(!lg(t)||!lg(a))return!1;let o=[...n,e],s=i.get(a);return vg(r.get(t))!==vg(s)||vg(s)===vg(o)&&Og(t,a,o,r,i)})}function kg(e,t){let n=Eg(e,void 0,!0),r=Eg(t,void 0,!0),i=[];return(function e(t,a,o){for(let s of Object.keys(a)){if(!G(t,s))continue;let c=t[s],l=a[s];if(!lg(c)||!lg(l))continue;let u=[...o,s],d=n.get(c),f=r.get(l),p=vg(u);vg(d)===vg(f)?vg(f)===p&&Sg(c)&&Og(c,l,u,n,r)&&i.push({path:u,deleted:!1,value:l,alias:!0}):i.push({path:u,deleted:!1,value:l,alias:!0}),(mg(c)||Array.isArray(c))&&hg(c,l,!0)&&vg(f)===p&&vg(d)===p&&e(c,l,u)}})(e,t,[]),i}function Ag(e,t,n=!1){let r=_g(e,t,n),i=new Set(r.map(e=>vg(e.path))),a=[];for(let n of kg(e,t))yg(n.path,i)||(i.add(vg(n.path)),a.push(n));return[...a,...r]}function jg(e,t){return Eg(e,new Set(t.map(e=>vg(e.path))),!0)}function Mg(e,t){return new class extends Map{has(n){if(super.has(n))return!0;let r=e.get(n);if(!r)return!1;let i=Cg(t,r);return lg(i)&&(Array.isArray(i)?Array.isArray(n):Object.getPrototypeOf(i)===Object.getPrototypeOf(n))?(super.set(n,i),!0):!1}}}function Ng(e,t){let n=Kh(e,t.path.slice(0,-1));if(typeof n!=`object`||!n)return t.deleted;let r=t.path[t.path.length-1];return G(n,r)?!t.deleted&&ig(n[r],t.value):t.deleted}function Pg(e,t,n){t.some(xg)?wg(e,t,n):Xh(e,t,n)}function Fg(e,t){let n=e;t.deleted?Zh(n,t.path):Xh(n,t.path,t.value)}var Ig=new Set([`storyinit`,`beforerestart`,`actionsChanged`,`variableChanged`,`beforesave`,`aftersave`,`beforeload`,`afterload`,`beforenavigate`,`afternavigate`,`passagerender`,`dialogrender`]),Lg=new Map;function Rg(e,t){if(!Ig.has(e))throw Error(`spindle: Unknown event \"${e}\".`);let n=Lg.get(e);return n||(n=new Set,Lg.set(e,n)),n.add(t),()=>{n.delete(t)}}function zg(e,t){let n=Lg.get(e);if(n)for(let e of[...n])t(e)}function Bg(e,...t){zg(e,e=>e(...t))}function Vg(e,...t){zg(e,n=>{try{n(...t)}catch(t){console.error(`spindle: Error in ${e} handler:`,t)}})}var Hg=null,Ug=null;function Wg(e){Hg=e}function Gg(e){Ug=e}function Kg(e){if(Ug)try{let t=Function(`passage`,`variables`,Ug)(e.passage,e.variables);if(typeof t==`string`&&t.trim())return t.trim()}catch{}if(Hg)try{let t=Hg(e);if(typeof t==`string`&&t.trim())return t.trim()}catch{}let t=new Date().toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});return`${e.passage} - ${t}`}var qg=Promise.resolve();function Jg(e){let t=qg.then(e);return qg=t.catch(()=>{}),t}function Yg(e){return(...t)=>Jg(()=>e(...t))}var Xg=e=>Yg(async t=>e(await(await Z()).getSave(t))),Zg=e=>Yg(async(t,n)=>e(await O_(t,n))),Qg=Yg($g);async function $g(e,t=bt()){let n=await Z(),r=await n_(e),i={id:t,ifid:e,createdAt:new Date().toISOString(),label:`Playthrough ${r}`};return await n.putPlaythrough(i),await n.setMeta(t_(e),r),await n.setMeta(r_(e),t),t}var e_=/^Playthrough (\\d+)$/;function t_(e){return`${vh.playthroughCount}${e}`}async function n_(e){let t=await Z(),n=await t.getMeta(t_(e))??0;for(let r of await t.getPlaythroughsByIfid(e)){let e=e_.exec(r.label);e&&(n=Math.max(n,Number(e[1])))}return n+1}function r_(e){return`${vh.currentPlaythrough}${e}`}var i_=Yg(a_);async function a_(e,t){let n=await Z();await o_(e,t,new Date().toISOString());let r=r_(e);await n.getMeta(r)!==t&&await n.setMeta(r,t)}async function o_(e,t,n){let r=await Z();(await r.getPlaythroughsByIfid(e)).some(e=>e.id===t)||await r.putPlaythrough({id:t,ifid:e,createdAt:n,label:`Imported`})}function s_(e){return Jg(async()=>({id:await(await Z()).getMeta(r_(e))??await $g(e),knownSaves:await R_(e)}))}function c_(e,t,n,r){try{let i=n();return vs(()=>Bg(`beforesave`,e,t)),r(i()).then(t=>(vs(()=>Bg(`aftersave`,e)),t))}catch(e){return Promise.reject(e)}}function l_(e,t){let n=th(t);return{meta:{...e,estimatedBytes:gh(n)},payload:n}}var u_=Yg(d_);async function d_(e,t,n,r={}){let i=await t;if(!i)throw Error(`No playthrough`);let a=new Date().toISOString(),o=l_({id:bt(),ifid:e,playthroughId:i,createdAt:a,updatedAt:a,title:Kg(n),passage:n.passage,custom:r},n);return await(await Z()).putSave(o),o}var f_=Yg(p_);async function p_(e,t,n,r){let i=await r,a=await Z(),o=await a.getSave(e);if(!o)return;let s=l_({...o.meta,...i?{playthroughId:i}:{},updatedAt:new Date().toISOString(),title:o.meta.userTitle===!0?o.meta.title:Kg(t),passage:t.passage,...n==null?{}:{custom:{...o.meta.custom,...n}}},t);return await a.putSave(s),s}var m_=e=>e&&lh(e.payload),h_=e=>lh(e);Xg(m_);function g_(e){return Jg(async()=>{let t=await Z(),n=await t.getSave(e);await t.deleteSave(e),n&&await j_(n.meta.ifid,t=>t===e)})}function __(e,t){return Jg(async()=>{let n=await Z(),r=await n.getSave(e);if(!r)return;let i={...r,meta:{...r.meta,title:t,userTitle:!0,updatedAt:new Date().toISOString()}};await n.putSave(i)})}var v_=Yg(async function(e){let t=await Z(),[n,r]=await Promise.all([t.getSavesByIfid(e),t.getPlaythroughsByIfid(e)]),i=new Map;for(let e of r)i.set(e.id,e);let a=new Map;for(let e of n){let t=e.meta.playthroughId,n=a.get(t);n?n.push(e):a.set(t,[e])}for(let e of a.values())e.sort((e,t)=>new Date(t.meta.updatedAt).getTime()-new Date(e.meta.updatedAt).getTime());let o=[],s=[...i.values()].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());for(let e of s){let t=a.get(e.id)??[];o.push({playthrough:e,saves:t})}for(let[t,n]of a)i.has(t)||o.push({playthrough:{id:t,ifid:e,createdAt:n[0]?.meta.createdAt??new Date().toISOString(),label:`Unknown Playthrough`},saves:n});return o}),y_=vh.autosave,b_=vh.slot,x_=vh.slotIndex;function S_(e){return e!=null&&e!==``}function C_(e,t){return S_(t)?`${b_}${t}.${e}`:`${y_}${e}`}var w_=e=>`${x_}${e}`;async function T_(e,t){let n=await Z(),r=await n.getMeta(w_(e))??[],i=t(r);i!==r&&await n.setMeta(w_(e),i)}async function E_(e){return[void 0,...(await(await Z()).getMeta(w_(e))??[]).filter(S_)]}async function D_(e,t){return(await Z()).getMeta(C_(e,t))}async function O_(e,t){let n=await D_(e,t);return n?(await Z()).getSave(n):void 0}async function k_(e,t,n){await(await Z()).setMeta(C_(e,t),n),S_(t)&&await T_(e,e=>e.includes(t)?e:[...e,t])}async function A_(e,t){await(await Z()).deleteMeta(C_(e,t)),S_(t)&&await T_(e,e=>e.filter(e=>e!==t))}async function j_(e,t){for(let n of await E_(e)){let r=await D_(e,n);r&&t(r)&&await A_(e,n)}}var M_=e=>({isAutosave:!S_(e),...S_(e)?{slot:e}:{}});function N_(e,t){return{slot:S_(t)?t:``,title:e.meta.title,passage:e.meta.passage,createdAt:e.meta.createdAt,updatedAt:e.meta.updatedAt,custom:e.meta.custom??{}}}function P_(e,t,n,r,i){return Jg(async()=>{let a=await t,o=await D_(e,r);if(o){let e=await p_(o,n,i,a);if(e)return e}let s=await d_(e,a,n,{...M_(r),...i});return await k_(e,r,s.meta.id),s})}async function F_(e,t){return await O_(e,t)!==void 0}Zg(m_);function I_(e,t){return Jg(async()=>{let n=await O_(e,t);if(!n)return;let r=lh(n.payload),{playthroughId:i}=n.meta;return i&&await a_(e,i),{payload:r,playthroughId:i}})}var L_=Yg(R_);async function R_(e){let t=Object.create(null);for(let n of await E_(e))await F_(e,n)&&(t[n??``]=!0);return t}var z_=Yg(B_);async function B_(e,t){let n=await O_(e,t);return n?N_(n,t):null}var V_=Yg(async e=>{let t=[];for(let n of await E_(e)){let r=await B_(e,n);r&&t.push(r)}return t}),H_=Yg(async(e,t)=>{let n=await D_(e,t);n&&(await(await Z()).deleteSave(n),await A_(e,t))}),U_=`spindle.session.`;function W_(e,t){let n=JSON.stringify(th(t));try{sessionStorage.setItem(`${U_}${e}`,n)}catch(e){return{error:e}}}function G_(e){try{let t=sessionStorage.getItem(`${U_}${e}`);return t?lh(JSON.parse(t)):void 0}catch(t){t instanceof Ym&&(console.warn(`spindle: ${t.message}; the session was not restored.`),K_(e));return}}function K_(e){try{sessionStorage.removeItem(`${U_}${e}`)}catch{}}function q_(e){if(e)return{formatVersion:1,ifid:e.meta.ifid,exportedAt:new Date().toISOString(),save:e}}var J_=Xg(q_);async function Y_(e,t){if(mh(e),e.ifid!==t)throw Error(`Save is from a different story (expected IFID ${t}, got ${e.ifid})`);let n=rg(e.save);return n.meta.id=bt(),n.meta.updatedAt=new Date().toISOString(),n.meta.ifid=t,await o_(t,n.meta.playthroughId,n.meta.createdAt),n}function X_(e,t){return Jg(async()=>{let n=await Y_(e,t);return await(await Z()).putSave(n),n})}var Z_=Zg(q_);function Q_(e,t,n){return Jg(async()=>{let r=await Y_(e,t),{slot:i,...a}=r.meta.custom??{};r.meta.custom={...a,...M_(n)};let o=await Z(),s=await D_(t,n);return await o.putSave(r),await k_(t,n,r.meta.id),s&&await o.deleteSave(s),N_(r,n)})}var $_=Yg(async function(e){let t=await Z(),n=await t.getSavesByIfid(e),r=await t.getPlaythroughsByIfid(e),i=0;for(let e of n)if(e.meta.estimatedBytes!=null)i+=e.meta.estimatedBytes;else{let n=gh(e.payload);e.meta.estimatedBytes=n,await t.putSave(e),i+=n}return{saveCount:n.length,playthroughCount:r.length,totalBytes:i,backend:t.type}});function ev(e){return Jg(async()=>{let t=await Z();await t.deleteSavesByIfid(e),await t.deletePlaythroughsByIfid(e),await t.deleteMetaByIfid(e),K_(e)})}var tv=Yg(nv);async function nv(){await(await Z()).destroy(),zh();try{let e=[];for(let t=0;t<sessionStorage.length;t++){let n=sessionStorage.key(t);n?.startsWith(`spindle.session.`)&&e.push(n)}for(let t of e)sessionStorage.removeItem(t)}catch{}}function rv(e,t,n){return Jg(async()=>{let r=await Z(),i=await r.deleteSavesByPlaythrough(t);await r.deletePlaythroughById(t);let a=new Set(i);if(await j_(e,e=>a.has(e)),n&&await n.current===t)return await $g(e,n.id),!0;let o=r_(e);return await r.getMeta(o)===t&&await r.deleteMeta(o),!1})}var iv=null;function av(){iv&&(ge(null,iv),iv.remove(),iv=null)}function ov(){av();let e=Q.getState();if(!e.storyData)return;let t=e.storyData.passages.get(`StoryInit`);if(t){let e=Zo(t.content),n=document.createElement(`div`);n.style.display=`none`,document.body.appendChild(n),iv=n,ge(b(()=>kp(e),null),n),Ky()}let n=e.storyData.passages.get(`SaveTitle`);n&&Gg(n.content)}function sv(e){ov(),e&&Q.getState().loadFromPayload(e),Bg(`storyinit`),e||Ky()}var cv=[`variables`,`temporary`,`transient`],lv=[];function uv(){return lv[lv.length-1]?.work}function dv(){let e=Q.getState(),t=uv();return t?{...e,...t}:e}var fv=e=>rg(e,{keepUnregistered:!0});function pv(e,t){let n=t?Mg(t,e):new Map,r=(r,i)=>{let a=t?.get(i);if(!a||!Mt(r))return r;let o=Rn(r);return a.some(xg)||Xh(e,a,o),n.set(i,o),o};return e=>rg(e,{keepUnregistered:!0,seen:n,settle:r})}var mv=e=>{let t=new Map;return n=>{let r=t.get(n);return r||(r=pv(n,e?.(n)),t.set(n,r)),r}};function hv(e){return tn(fv(e),!0)}function gv(e,t,n=lv,r=_v){let[i,a]=t.path;for(let o of n)for(let n of[o.work,o.base])try{Fg(n,t.deleted?t:{...t,value:r(n)(t.value)})}catch{let t=e[i][a];G(e[i],a)?n[i][a]=fv(Mt(t)?Rn(t):t):delete n[i][a]}}var _v=e=>pv(e),vv=new Set(cv),yv=new In({autoFreeze:!1}),bv=!1;function xv(e,t){let n=[],r=e;for(let e of t){if(!mg(r))break;let t=String(e);n.push(t),r=G(r,t)?r[t]:void 0}return n}function Sv(e,t){let n=Kh(e,t.slice(0,-1)),r=t[t.length-1];return mg(n)&&G(n,r)?{path:t,deleted:!1,value:n[r]}:{path:t,deleted:!0}}function Cv(e,t,n){if(n.some(e=>e.path.length===1))return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(n=>!G(e,n)||e[n]!==t[n]).map(e=>Sv(t,[e]));let r=new Set,i=[];for(let e of n){let n=xv(t,e.path.slice(1)),a=JSON.stringify(n);r.has(a)||(r.add(a),i.push(Sv(t,n)))}return i}function wv(e){if(bv){bv=!1;return}if(lv.length===0)return;Ov(Av());let t=lv[lv.length-1],n={...Q.getState(),variables:t.work.variables,temporary:t.work.temporary,transient:t.work.transient},[r,i]=yv.produceWithPatches(n,e),a=cv.flatMap(e=>{let t=i.filter(t=>t.path[0]===e);return t.length?Cv(n[e],r[e],t).map(t=>({...t,path:[e,...t.path]})):[]}),o=jg(Dv(t.work),a),s=mv(()=>o),c=(e,t)=>e.deleted?e:{...e,value:s(t)(e.value)};for(let e of a)Fg(t.work,c(e,t.work));return e=>{let i=e;for(let e of Object.keys(r)){let t=r[e];!vv.has(e)&&t!==n[e]&&(i[e]=t)}let o=e;for(let e of a){let[n,r]=e.path;try{Fg(o,c(e,o))}catch{G(t.work[n],r)?o[n][r]=fv(t.work[n][r]):delete o[n][r]}gv(o,e,lv,s)}}}function Tv(e,t,n){let r=n.map(e=>vg(e.path).slice(0,-1));for(let[n,...i]of Dg(t)){let t=[n,...i].map(e=>vg(e).slice(0,-1));if(r.some(e=>t.some(t=>e.startsWith(t))))try{let t=Cg(e,n);if(typeof t!=`object`||!t)continue;for(let n of i)Pg(e,n,t)}catch{}}}function Ev(e){let t=new Map;return{variables:rg(e.variables,{keepUnregistered:!0,seen:t}),temporary:rg(e.temporary,{keepUnregistered:!0,seen:t}),transient:rg(e.transient,{keepUnregistered:!0,seen:t})}}var Dv=e=>({variables:e.variables,temporary:e.temporary,transient:e.transient});function Ov(e){let t=e.map(({scope:e,keepRunning:t})=>({scope:e,keepRunning:t,changes:kv(e.base,e.work)})),n=t.filter(({changes:e})=>e.length>0);if(n.length===0)return;for(let{scope:e,keepRunning:t}of n)t&&(e.base=Ev(e.work));bv=!0;try{Q.getState().updateVariables(r)}finally{bv=!1}function r(e){t.forEach(({scope:n,changes:r},i)=>{let a=jg(n.work,r),o=pv(e,a),s=t.slice(0,i).map(e=>e.scope),c=mv(()=>a),l=new Set;for(let t of r){let[r,i]=t.path,a=vg([r,i]);if(!l.has(a))try{if(t.deleted){Ng(e,t)||Fg(e,t);continue}let n=t.alias?o(t.value):void 0;if(t.alias?Object.is(Kh(e,t.path),n):Ng(e,t))continue;Fg(e,{...t,value:t.alias?n:o(t.value)})}catch{e[r][i]=o(n.work[r][i]),l.add(a)}}Tv(e,n.work,r);for(let t of r)gv(e,t,s,c)})}}var kv=(e,t)=>Ag(e,t),Av=()=>lv.map(e=>({scope:e,keepRunning:!0}));function jv(e){let t=Q.getState(),n=Dv(t),r=Ag(e.base,n),i=pv(e.work,jg(n,r));for(let t of r)try{Fg(e.work,t.deleted?t:{...t,value:i(t.value)})}catch{let[r,a]=t.path;G(n[r],a)?e.work[r][a]=i(n[r][a]):delete e.work[r][a]}e.base=Ev(t)}function Mv(e){if(lv.length===0)return e();Ov(Av());let t=lv.splice(0);try{return e()}finally{lv.push(...t);for(let e of t)jv(e)}}function Nv(e){Ov(Av());let t=jg(Dv(uv()??Q.getState()),[]),n=Pv(),r=pv(n.work,t);try{e(n.work,r)}finally{lv.pop()}Ov([...Av(),{scope:n,keepRunning:!1}])}function Pv(){let e=uv()??Q.getState(),t={work:Ev(e),base:Ev(e)};return lv.push(t),t}function Fv(e,t,n){let r=Ms(rg(t,{keepUnregistered:!0})),i=Pv();try{rc(e,i.work.variables,i.work.temporary,r,i.work.transient)}finally{lv.pop()}Ov([...Av(),{scope:i,keepRunning:!1}]);let a=new Set(Ag(t,r,!0).map(e=>e.path[0]));for(let e of Dg(r))if(e.some(e=>a.has(e[0])))for(let n of e)r[n[0]]!==t[n[0]]&&a.add(n[0]);for(let e of Object.keys(r))a.has(e)&&n(e,r[e]);for(let e of Object.keys(t))G(r,e)||n(e,void 0)}var Iv=[],Lv=!1,Rv=[],zv=null,Bv=null;function Vv(e){let t=dv();try{return!!nc(e,t.variables,t.temporary,{},t.transient)}catch{return!1}}function Hv(e,t,n){let r=typeof t==`function`,i=r?void 0:t,a=r?t:void 0,o={name:i?.name,condition:e,callback:a,options:i,lastResult:Vv(e),priority:i?.priority??0,macroKey:n};return Iv.push(o),Iv.sort((e,t)=>t.priority-e.priority),()=>{Iv=Iv.filter(e=>e!==o)}}function Uv(e,t){return Hv(e,t)}function Wv(e,t){let n=Object.fromEntries(Object.entries(t).sort(([e],[t])=>e<t?-1:1)),r=JSON.stringify([e,n]);Iv.some(e=>e.macroKey===r)||Hv(e,t,r)}function Gv(e){Iv=Iv.filter(t=>t.name!==e)}function Kv(e){let{callback:t,options:n}=e;if(t){t();return}if(n){if(n.run)try{Fv(n.run,{},()=>{})}catch(t){console.error(`spindle: Error in watch run action for \"${e.condition}\":`,t)}n.dialog&&(Rv.push({passageName:n.dialog}),zv?.()),n.goto&&Q.getState().navigate(n.goto)}}var qv=10;function Jv(){for(let e=0;e<qv;e++){let e=!1,t=[...Iv];for(let n of t){if(!Iv.includes(n))continue;let t=Vv(n.condition),r=!n.lastResult;n.lastResult=t,t&&r&&(e=!0,n.options?.once&&(Iv=Iv.filter(e=>e!==n)),Kv(n))}if(!e)break}}function Yv(){if(!Lv){Lv=!0;try{Jv()}finally{Lv=!1}}}var Xv=0;function Zv(){if(Xv===0)return;let e=Lv;Lv=!0;try{Jv()}finally{Lv=e}}function Qv(){let e=Q.getState();Xv++;let t=Q.subscribe(t=>{let n=e;e=t,t.navigationId===n.navigationId&&(t.variables===n.variables&&t.temporary===n.temporary&&t.transient===n.transient||Yv())}),n=!0;return()=>{n&&(n=!1,Xv--,t())}}function $v(){for(let e of Iv)e.lastResult=Vv(e.condition)}function ey(){Iv=[],Rv=[],Bv?.closeAll()}function ty(e){return zv=e,Rv.length>0&&e(),()=>{zv===e&&(zv=null)}}function ny(){return Rv.shift()}function ry(){return Rv.length}function iy(e){Bv?Bv.push(e):(Rv.push(e),zv?.())}function ay(){Rv=[]}function oy(e){return Bv=e,()=>{Bv===e&&(Bv=null)}}var sy=[];function cy(e){return sy.push(e),()=>{let t=sy.lastIndexOf(e);t>=0&&sy.splice(t,1)}}function ly(){let e=sy[sy.length-1];e?e():Bv?.close()}function uy(){ay();for(let e of[...sy].reverse())e();Bv?.closeAll()}function dy(){return sy.length>0||(Bv?.isOpen()??!1)}var fy=[],py=1,my=new Set;function hy(e){fy=e;for(let e of my)e()}function gy(e,t){let n=el(t).replace(/^spindle: /,``),r=fy.find(t=>t.context===e&&t.message===n);hy(r?fy.map(e=>e===r?{...e,count:e.count+1}:e):[...fy,{id:py++,context:e,message:n,count:1}])}function _y(e,t){return Error(`No passage named ${JSON.stringify(e)} (in passage ${JSON.stringify(t)})`)}function vy(e){hy(fy.filter(t=>t.id!==e))}function yy(){return fy}function by(e){return my.add(e),()=>{my.delete(e)}}Bn(),Vn();var xy=new Set([`StoryInit`,`StoryInterface`,`StoryVariables`,`StoryTransients`,`StoryLoading`,`SaveTitle`,`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]),Sy=K(),Cy=[],wy=K();function Ty(e,t){let n=[];for(let r of Object.keys(e))G(t,r)||n.push({key:r,deleted:!0});let r=new Map,i=e=>n.push({key:e,deleted:!1,value:rg(t[e],{keepUnregistered:!0,seen:r})}),a=[];for(let n of Object.keys(t))!G(e,n)||!Object.is(e[n],t[n])?i(n):typeof t[n]==`object`&&t[n]!==null&&a.push(n);for(let e=r.size>0;e;){e=!1;for(let n of a){let o=new Map;if(rg(t[n],{keepUnregistered:!0,seen:o}),[...o.keys()].some(e=>r.has(e))){i(n),a.splice(a.indexOf(n),1),e=!0;break}}}return{forward:n}}function Ey(e,t){let n=Object.create(Object.getPrototypeOf(e));for(let t of Object.keys(e))ks(n,t,e[t]);for(let e of t)e.deleted?delete n[e.key]:ks(n,e.key,e.value);return n}function Dy(e){let t=Cy.length-1;t<0?Sy=e:Cy[t]=Ty(Ay(t),e)}function Oy(e,t){let n=Sy;for(let r=0;r<e;r++)r>0&&(n=Ey(n,Cy[r-1].forward)),t(n,r)}function ky(e,t){return{passage:e.passage,variables:t,timestamp:e.timestamp,prng:e.prng}}function Ay(e){let t=Sy;for(let n=0;n<e;n++)t=Ey(t,Cy[n].forward);return t}var jy=[];function My(e){let{storyData:t,currentPassage:n,variables:r,history:i,historyIndex:a,visitCounts:o,renderCounts:s}=e();if(t){if(jy.length>i.length&&(jy.length=i.length),jy.length<i.length)if(i.length-jy.length===1){let e=i.length-1;jy[e]=ky(i[e],r)}else Oy(i.length,(e,t)=>{t>=jy.length&&(jy[t]=ky(i[t],e))});return W_(t.ifid,{passage:n,variables:r,history:jy,historyIndex:a,visitCounts:o,renderCounts:s,prng:ys()})}}var Ny=`The game could not be saved for a page reload; a reload goes back to the last passage it could save:`,Py=`The story could not go to another passage:`;function Fy(e,t){let n;try{let t=My(e);t&&gy(Ny,t.error)}catch(e){n={error:e},gy(Ny,e)}try{t?.()}finally{if(n)throw n.error}}function Iy(e){let t=e.history.length-e.maxHistory;if(t<=0)return!1;let n=Math.min(e.historyIndex,t),r=n+e.maxHistory;for(let e=0;e<n;e++)Sy=Ey(Sy,Cy[e].forward);return e.history=e.history.slice(n,r),Cy=Cy.slice(n,r-1),jy=jy.slice(n,r),e.historyIndex-=n,!0}var Ly=!1,Ry=[],zy=null;function By(e,t){let n=zy;if(zy=null,!n||e().navigationId!==n.navigationId)return;e().variables!==n.variables&&Dy(e().variables),wy=e().variables;let r=ys(),i=e().history[e().historyIndex].prng;(r?.seed!==i?.seed||r?.pull!==i?.pull)&&t(e=>{e.history[e.historyIndex].prng=r})}var Vy=e=>({...e});function Hy(e){Sy=e,Cy=[],wy=e,jy=[]}function Uy(e){let t=K(rg(e));return Hy(rg(t)),t}function Wy(e,t,n,r){e.currentPassage=t,e.navigationId++,e.variables=n,e.transient=K(rg(r)),e.temporary=K(),e.history=[{passage:t,timestamp:Date.now()}],e.historyIndex=0}function Gy(e,t,n){let{historyIndex:r,history:i}=e(),a=r+n;if(a<0||a>=i.length)return;By(e,t);let o=e().currentPassage,s=i[a].passage;Bg(`beforenavigate`,s);let c=rg(Ay(a));t(e=>{e.historyIndex+=n,e.currentPassage=e.history[e.historyIndex].passage,e.navigationId++,e.variables=c,e.temporary=K()}),$v(),wy=e().variables,vb(e().history[e().historyIndex]),Fy(e,()=>Bg(`afternavigate`,s,o))}function Ky(){let{history:e,historyIndex:t,variables:n}=Q.getState();if(e.length!==1||t!==0)return;Hy(n);let r=ys();Q.setState(e=>{e.history[0].prng=r})}var qy=Promise.resolve(``),Jy=0,Yy=!1;function Xy(){return Yy?``:Q.getState().playthroughId}function Zy(){let e=Xy();return qy.then(t=>e||t)}function Qy(e){Q.getState().playthroughId!==e&&Q.setState(t=>{t.playthroughId=e})}function $y(e){let t=++Jy;return Yy=!0,qy=e.then(e=>(t===Jy&&(Yy=!1,Qy(e)),e)),qy}function eb(e,t){++Jy,Yy=!1,qy=t.then(()=>e,()=>e),Qy(e)}function tb(e){let t=bt();eb(t,Qg(e,t).catch(e=>{console.error(`spindle: failed to start new playthrough`,e)}))}function nb(e,t){Xy()!==t&&eb(t,i_(e,t).catch(e=>{console.error(`spindle: failed to switch to the loaded playthrough`,e)}))}var rb=0,ib=0,ab=null;function ob(){ib=++rb}var sb=[],cb=!1;function lb(e){cb&&sb.push(e)}function ub(){cb=!0}function db(){for(let e of sb)e();sb=[],cb=!1}function fb(e){return typeof e==`string`&&e!==``?e:null}function pb(e){let{history:t,historyIndex:n}=e;if(!Number.isInteger(n))return;let r=t[n];if(!(!r||r.passage!==e.passage)&&!(typeof r.variables!=`object`||r.variables===null))return r}function mb(e,t,n){let r=e.history[e.historyIndex];if(!r)return;let i=Ag(t,n,!0);if(i.length===0)return;let a=rg(r.variables),o=Mg(jg(n,i),a),s=e=>rg(e,{seen:o});for(let e of i)hb(a,n,e,s);r.variables=cg(r.variables,a)}function hb(e,t,n,r){let{path:i}=n,a=e,o=0;for(;o<i.length-1;o++){let e=i[o],n=G(a,e)?a[e]:void 0,s=Kh(t,i.slice(0,o+1));if(!hg(n,s,!0)){gb(a,e,r(s));return}a=n}let s=i[o];n.deleted?gb(a,s,void 0,n):gb(a,s,r(n.value),n)}function gb(e,t,n,r){let i=r?.deleted??!1;if(Array.isArray(e)){let a=Number(t);i?r&&`hole`in r?delete e[a]:e.length=Math.min(e.length,a):r&&`appended`in r?(e.length+=r.gap??0,e.push(n)):t===`length`&&r?e.length+=n:a<e.length&&(e[a]=n)}else i?delete e[t]:ks(e,t,n)}function _b(e){e?hs(e.seed,e.pull):_s()}function vb(e){e&&_b(e.prng)}var yb=[`variables`,`temporary`,`transient`];function bb(e){for(let t of yb){let n=e[t];js(n)||(e[t]=K(Mt(n)?Rn(n):n))}}var xb=[`navigate`,`goBack`,`goForward`,`restart`,`save`,`load`,`getSavePayload`,`loadFromPayload`];function Sb(e){return(t,n,r)=>{let i=((e,n)=>{if(n){t(e,!0);return}let r=typeof e==`function`?e:t=>{Object.assign(t,e)},i=wv(r);t(e=>{(i??r)(e),bb(e)})});r.setState=i;let a=e(i,n,r);for(let e of xb){let t=a[e];a[e]=(...e)=>Mv(()=>t(...e))}return a}}var Cb=e=>Un(Sb(e));function wb(e){return e.catch(()=>{}),e}function Tb(e,t,n){return wb(e.catch(e=>{throw console.error(t,e),n?.(e),e}))}function Eb(e,t,n){e(e=>{let r=t??``;if(n)e.knownSaves={...e.knownSaves,[r]:!0};else{let{[r]:t,...n}=e.knownSaves;e.knownSaves=n}})}function Db(e,t,n,r){let i=n.then(()=>{t(e=>{e.knownSaves={}})});return e().restart(),Tb(i,r)}var Q=yt()(Cb((e,t)=>({storyData:null,currentPassage:``,navigationId:0,variables:K(),variableDefaults:{},transient:K(),transientDefaults:{},temporary:K(),history:[],historyIndex:-1,visitCounts:Rs(),renderCounts:Rs(),knownSaves:{},playthroughId:``,maxHistory:40,quickSaveKey:`F6`,quickLoadKey:`F9`,saveError:null,loadError:null,transitionConfig:null,nextTransition:null,nobr:!1,renderDeferred:!1,setMaxHistory:n=>{let r=!1;e(e=>{e.maxHistory=Math.max(1,Math.round(n)),r=Iy(e)}),r&&Fy(t)},setQuickSaveKey:t=>{e(e=>{e.quickSaveKey=fb(t)})},setQuickLoadKey:t=>{e(e=>{e.quickLoadKey=fb(t)})},init:(n,r={},i={})=>{let a=n.passagesById.get(n.startNode);if(!a)throw Error(`spindle: Start passage (pid=${n.startNode}) not found.`);let o=Uy(r);e(e=>{e.storyData=n,e.playthroughId=``,e.variableDefaults=r,e.transientDefaults=i,Wy(e,a.name,o,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name)}),wy=t().variables,ob(),$y(s_(n.ifid).then(({id:t,knownSaves:n})=>(e(e=>{e.knownSaves=n}),t)).catch(e=>(console.error(`spindle: failed to init save system`,e),``)))},navigate:n=>{if(Ly){Ry.push(n);return}let{storyData:r}=t();if(!r)return;if(xy.has(n)){console.error(`spindle: Cannot navigate to special passage \"${n}\".`);return}if(!r.passages.has(n)){let e=_y(n,t().currentPassage);console.error(`spindle: ${e.message}`),gy(Py,e);return}let i=t().currentPassage;Bg(`beforenavigate`,n);let a=Ty(wy,t().variables);e(e=>{e.temporary=K(),e.currentPassage=n,e.navigationId++,e.history=e.history.slice(0,e.historyIndex+1),Cy.length=e.historyIndex,jy.length>e.historyIndex+1&&(jy.length=e.historyIndex+1),Cy.push(a),e.history.push({passage:n,timestamp:Date.now(),prng:ys()}),e.historyIndex=e.history.length-1,Iy(e),e.visitCounts=Rs(e.visitCounts,n),e.renderCounts=Rs(e.renderCounts,n)}),zy={navigationId:t().navigationId,variables:t().variables},Ly=!0;try{Zv()}finally{Ly=!1}let o=Ry;Ry=[],By(t,e),Fy(t,()=>{Bg(`afternavigate`,n,i);for(let e of o)t().navigate(e)})},goBack:()=>Gy(t,e,-1),goForward:()=>Gy(t,e,1),setVariable:(t,n)=>{e(e=>{Ds(t,`$${t}`),e.variables[t]=n})},setTemporary:(t,n)=>{e(e=>{Ds(t,`_${t}`),e.temporary[t]=n})},deleteVariable:t=>{e(e=>{Ds(t,`$${t}`),delete e.variables[t]})},deleteTemporary:t=>{e(e=>{Ds(t,`_${t}`),delete e.temporary[t]})},setTransient:(t,n)=>{e(e=>{Ds(t,`%${t}`),e.transient[t]=n})},deleteTransient:t=>{e(e=>{Ds(t,`%${t}`),delete e.transient[t]})},updateVariables:t=>{e(e=>{t(e)})},trackRender:t=>{e(e=>{e.renderCounts=Rs(e.renderCounts,t)})},restart:()=>{let{storyData:n,variableDefaults:r,transientDefaults:i}=t();if(!n)return;let a=n.passagesById.get(n.startNode);if(!a)return;e(e=>{e.renderDeferred=!1}),Bg(`beforerestart`),tb(n.ifid),ob();let o=t().renderDeferred;db(),_s(),ey();let s=Uy(r);e(e=>{Wy(e,a.name,s,i),e.visitCounts=Rs(null,a.name),e.renderCounts=Rs(null,a.name),o||(e.renderDeferred=!1)}),wy=t().variables,ub(),ov(),K_(n.ifid),Bg(`storyinit`),Ky()},save:(n,r)=>{let{storyData:i}=t();if(!i)return Promise.resolve();let a=Zy();return Tb(c_(n,r,t().beginSave,async t=>{e(e=>{e.saveError=null}),await P_(i.ifid,a,t,n,r),Eb(e,n,!0)}),`spindle: failed to save`,t=>e(e=>{e.saveError=el(t,`Failed to save`)}))},load:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();e(e=>{e.loadError=null});let i=Zy(),a=I_(r.ifid,n),o=$y(Promise.all([i,a.catch(()=>void 0)]).then(([e,t])=>t?.playthroughId||e)),s=++rb;return Tb(a.then(async e=>{await o,e&&(ib>s||(ab=s,t().loadFromPayload(e.payload,n)))}),`spindle: failed to load save`,t=>e(e=>{e.loadError=el(t,`Failed to load`)}))},hasSave:e=>{let{storyData:n,knownSaves:r}=t();return n?G(r,e??``):!1},getSaveInfo:async e=>{let{storyData:n}=t();return n?z_(n.ifid,e):null},listSaves:async()=>{let{storyData:e}=t();return e?V_(e.ifid):[]},deleteSave:n=>{let{storyData:r}=t();return r?Tb(H_(r.ifid,n).then(()=>Eb(e,n,!1)),`spindle: failed to delete save`):Promise.resolve()},exportSave:async e=>{let{storyData:n}=t();return n?await Z_(n.ifid,e)??null:null},importSave:async(n,r)=>{let{storyData:i}=t();if(!i)throw Error(`spindle: Story is not initialized.`);let a=await Q_(n,i.ifid,r);return Eb(e,r,!0),a},clearGameData:()=>{let{storyData:n}=t();return n?Db(t,e,ev(n.ifid),`spindle: failed to clear game data`):Promise.resolve()},clearAllData:()=>Db(t,e,tv(),`spindle: failed to clear all data`),deletePlaythrough:n=>{let{storyData:r}=t();if(!r)return Promise.resolve();let i=r.ifid,a=Xy(),o=qy,s=bt(),c=rv(i,n,{current:a||o,id:s});return n!==``&&n===a?eb(s,c):a===``&&$y(c.then(e=>e?s:o,()=>o)),Tb(c.then(async()=>{let t=await L_(r.ifid);e(e=>{e.knownSaves=t})}),`spindle: failed to delete playthrough`)},getSavePayload:()=>{let{currentPassage:e,variables:n,history:r,historyIndex:i,visitCounts:a,renderCounts:o}=t(),s=[];return Oy(r.length,(e,t)=>{let n=Vy(e);s.push(ky(r[t],t===0?n:cg(s[t-1].variables,n)))}),{passage:e,variables:cg(s[i]?.variables,Vy(n)),history:s,historyIndex:i,visitCounts:{...a},renderCounts:{...o},prng:ys()}},beginSave:()=>{let e=t().variables;return()=>{let n=t().getSavePayload();return mb(n,e,t().variables),n}},loadFromPayload:(n,r,i)=>{let a=ab??++rb;if(ab=null,n.history.length===0){console.warn(`loadFromPayload: rejecting payload with empty history`);return}ib=a,Bg(`beforeload`,r);let o=t().storyData?.ifid;i&&o&&nb(o,i);let s=pb(n),c=rg(n.history.map(e=>e.variables)).map(e=>K(e));Sy=rg(c[0]),Cy=c.slice(1).map((e,t)=>Ty(c[t],e)),jy=n.history.map((e,t)=>ky(e,c[t])),e(e=>{e.currentPassage=n.passage,e.navigationId++,e.variables=K(rg(s?.variables??n.variables)),e.history=n.history.map(e=>({passage:e.passage,timestamp:e.timestamp,prng:e.prng})),e.historyIndex=Math.max(0,Math.min(n.historyIndex,e.history.length-1)),Iy(e),e.visitCounts=Rs(n.visitCounts),e.renderCounts=Rs(n.renderCounts),e.temporary=K(),e.transient=K(rg(t().transientDefaults))}),$v(),wy=Ay(t().historyIndex),_b(s?.prng===void 0?n.prng:s.prng),Fy(t,()=>vs(()=>Bg(`afterload`,r)))},getHistoryVariables:e=>rg(Ay(e)),setTransition:t=>{e(e=>{e.transitionConfig=t})},setNextTransition:t=>{e(e=>{e.nextTransition=t})},consumeNextTransition:()=>{let n=t().nextTransition;return n!==null&&e(e=>{e.nextTransition=null}),n},deferRender:()=>{e(e=>{e.renderDeferred=!0})},clearDeferredRender:()=>{e(e=>{e.renderDeferred=!1})}}))),Ob=`<header class=\"story-menubar\">{story-title}{back}{forward}{restart}{quicksave}{quickload}{saves}{settings}</header>\n{passage}`;function kb(){let{storyData:e}=is(`storyData`),t=e?.passages.get(`StoryInterface`),n=t===void 0?Ob:t.content,r=t?.tags.includes(`nobr`)??!1,i=Pe(()=>{try{return q(S,{children:xp(Zo(n))})}catch(e){return q(`span`,{class:`error`,children:[`Error in StoryInterface: `,el(e)]})}},[n]);return r?q(Pf.Provider,{value:!0,children:i}):i}var Ab=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type=\"hidden\"])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`[contenteditable=\"true\"]`,`[tabindex]:not([tabindex=\"-1\"])`].join(`,`);function jb(e){let{visibility:t}=getComputedStyle(e);if(t===`hidden`||t===`collapse`)return!1;for(let t=e;t;t=t.parentElement)if(getComputedStyle(t).display===`none`)return!1;return!0}function Mb(e){return Array.from(e.querySelectorAll(Ab)).filter(e=>!e.hidden&&!e.closest(`[hidden], [inert]`)&&jb(e))}var Nb=[];function Pb(e,t,n,r){Ne(()=>{let n=e.current;if(!n)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i={panel:n};Nb.push(i);let a=n.querySelector(t)??n;return(n.querySelector(`[autofocus]`)??Mb(a)[0]??n).focus(),()=>{let e=Nb.indexOf(i);e!==-1&&Nb.splice(e,1);let t=document.activeElement;(!t||t===document.body||n.contains(t))&&r?.isConnected&&r.focus()}},[]),Ne(()=>{let t=e.current;if(!t)return;let i=e=>{if(Nb[Nb.length-1]?.panel!==t)return;if(e.key===`Escape`){if(!n)return;e.preventDefault(),e.stopPropagation(),r();return}if(e.key!==`Tab`)return;let i=Mb(t),a=i[0],o=i[i.length-1],s=document.activeElement,c=s!==t&&t.contains(s);!a||!o?(e.preventDefault(),t.focus()):e.shiftKey&&(s===a||!c)?(e.preventDefault(),o.focus()):!e.shiftKey&&(s===o||!c)&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)},[n,r])}var Fb=_e(null);function Ib({passageName:e,fallbackMarkup:t,panelClass:n,onClose:r,dismissible:i=!0,showCloseButton:a=i}){let o=j(r);o.current=r;let s=Fe(()=>o.current(),[]),{storyData:c}=is(`storyData`),l=e?c?.passages.get(e):void 0,u=l?.content??t,d=l?.tags.includes(`nobr`)??!1,f=Pe(()=>{if(!u)return q(`div`,{class:`error`,children:`Dialog: no content available`});try{let e=kp(Zo(u),d?{nobr:!0}:void 0);return d?q(Pf.Provider,{value:!0,children:e}):e}catch(e){return q(`div`,{class:`error`,children:[`Error in dialog: `,el(e)]})}},[u,d]),p=j(null);Pb(p,`.dialog-body`,i,s),Ne(()=>cy(s),[s]),Ne(()=>{p.current&&Vg(`dialogrender`,e??``,p.current)},[]);let m=e=>{i&&e.target.classList.contains(`dialog-overlay`)&&s()},h=n?`dialog-panel ${n}`:`dialog-panel`;return q(Fb.Provider,{value:s,children:q(`div`,{class:`dialog-overlay`,onClick:m,children:q(`div`,{ref:p,class:h,role:`dialog`,\"aria-modal\":`true`,tabIndex:-1,children:[a&&q(`button`,{class:`dialog-close`,\"aria-label\":`Close`,onClick:s,children:`✕`}),q(`div`,{class:`dialog-body`,children:f})]})})})}function Lb(){let[e,t]=Ae([]),n=j(e);n.current=e;let r=Fe(e=>{t(t=>[...t,e])},[]),i=Fe(()=>{t(e=>e.slice(0,-1))},[]),a=Fe(()=>{t([])},[]);return Me(()=>oy({close:i,closeAll:a,push:r,isOpen:()=>n.current.length>0}),[i,a,r]),Me(()=>ty(()=>{let e=[];for(;ry()>0;){let t=ny();t&&e.push(t)}e.length>0&&t(t=>[...t,...e])}),[]),e.length===0?null:q(S,{children:e.map((e,t)=>q(Ib,{passageName:e.passageName,panelClass:e.panelClass,onClose:i,showCloseButton:e.showCloseButton,dismissible:e.dismissible},`${e.passageName}-${t}`))})}function Rb(){let[e,t]=Ae(yy);return Me(()=>(t(yy()),by(()=>t(yy()))),[]),e.length===0?null:q(`div`,{class:`spindle-error-banners`,children:e.map(e=>q(`div`,{class:`spindle-error-banner`,role:`alert`,children:[q(`span`,{class:`spindle-error-banner-context`,children:e.context}),` `,q(`span`,{class:`spindle-error-banner-message`,children:e.message}),e.count>1&&q(`span`,{class:`spindle-error-banner-count`,children:` (×${e.count})`}),q(`button`,{type:`button`,class:`spindle-error-banner-dismiss`,\"aria-label\":`Dismiss`,onClick:()=>vy(e.id),children:`✕`})]},e.id))})}async function zb(){try{await Q.getState().save()}catch(e){gy(`The game could not be saved:`,e)}}async function Bb(){try{await Q.getState().load()}catch(e){gy(`The saved game could not be loaded:`,e)}}function Vb(){let{storyData:e,currentPassage:t,nobr:n}=is(`storyData`,`currentPassage`,`nobr`);if(Me(()=>{let e=e=>{let{quickSaveKey:t,quickLoadKey:n}=Q.getState();t!==null&&e.key===t?(e.preventDefault(),zb()):n!==null&&e.key===n&&(e.preventDefault(),Bb())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]),!e||!t)return q(`div`,{class:`loading`,children:`Loading...`});let r=q(S,{children:[q(kb,{}),q(Lb,{}),q(Rb,{})]});return q(Pf.Provider,{value:n,children:r})}var Hb=`http://www.w3.org/1999/xhtml`,Ub=new Set([`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`embed`,`frame`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Wb(e){let t=``;for(let n of Array.from(e.childNodes))n.nodeType===Node.TEXT_NODE?t+=n.data:n.nodeType===Node.COMMENT_NODE?t+=`\\x3C!--${n.data}-->`:n.nodeType===Node.ELEMENT_NODE&&(t+=Gb(n));return t}function Gb(e){let t=e.localName,n=`<${t}`;for(let t of Array.from(e.attributes))n+=` ${t.name}=${Kb(t.name,t.value)}`;if(n+=`>`,e.namespaceURI===Hb&&Ub.has(t))return n;let r=t===`template`?e.content:e;return`${n}${Wb(r)}</${t}>`}function Kb(e,t){let n=Wo(e),r=n?`on`:`a`;return[`\"${t}\"`,`'${t}'`].find(e=>{let t;try{t=Qo(`<i ${r}=${e}>`)}catch(e){if(e instanceof Jo)return!1;throw e}let n=t[0];return t.length===1&&n?.type===`html`&&n.attributes[r]===e.slice(1,-1)})??`\"${qb(t,n)}\"`}function qb(e,t){let n=e=>e.replace(/\"/g,`&quot;`);if(t)return Go(e).map(e=>`text`in e?n(e.text):`expr`in e?`{${e.expr}}`:e.verbatim).join(``);let r;try{r=Qo(e,{text:!0})}catch(t){if(t instanceof Jo)return n(e);throw t}return r.map(t=>{let r=e.slice(t.start,t.end);return t.type===`text`?n(r):r}).join(``)}function Jb(){let e=document.querySelector(`tw-storydata`);if(!e)throw Error(`spindle: No <tw-storydata> element found in the document.`);let t=e.getAttribute(`name`)||`Untitled`,n=parseInt(e.getAttribute(`startnode`)||`1`,10),r=e.getAttribute(`ifid`)||``,i=e.getAttribute(`format`)||``,a=e.getAttribute(`format-version`)||``,o=e.querySelector(`[type=\"text/twine-css\"]`)?.textContent||``,s=e.querySelector(`[type=\"text/twine-javascript\"]`)?.textContent||``,c=new Map,l=new Map;for(let t of e.querySelectorAll(`tw-passagedata`)){let e=parseInt(t.getAttribute(`pid`)||`0`,10),n=t.getAttribute(`name`)||``,r=(t.getAttribute(`tags`)||``).split(/\\s+/).filter(e=>e.length>0),i=Wb(t),a={},o=new Set([`pid`,`name`,`tags`]);for(let e of t.attributes)o.has(e.name)||(a[e.name]=e.value);let s={pid:e,name:n,tags:r,metadata:a,content:i};c.set(n,s),l.set(e,s)}return{name:t,startNode:n,ifid:r,format:i,formatVersion:a,passages:c,passagesById:l,userCSS:o,userScript:s}}var Yb=new Map,Xb=K(),Zb=!1,Qb=null;function $b(){return`spindle.${Q.getState().storyData?.ifid||`unknown`}.settings`}function ex(){try{localStorage.setItem($b(),JSON.stringify(Xb))}catch{}}function tx(){if(!Zb){if(!Q.getState().storyData?.ifid){Qb||(Qb=Q.subscribe(e=>{e.storyData?.ifid&&(Qb?.(),Qb=null,tx())}));return}Zb=!0;try{let e=localStorage.getItem($b());if(e){let t=JSON.parse(e);typeof t==`object`&&t&&!Array.isArray(t)&&(Xb=K(Xb,t))}}catch{}}}function nx(e,t){Yb.set(e,t),G(Xb,e)||(Xb[e]=t.config.default),tx()}function rx(e,t){let n=Os(Xb,e);return typeof n==typeof t?n:t}var ix={addToggle(e,t){nx(e,{type:`toggle`,config:t})},addList(e,t){nx(e,{type:`list`,config:t})},addRange(e,t){nx(e,{type:`range`,config:t})},get(e){return Os(Xb,e)},getToggle(e){return rx(e,!1)},getList(e){return rx(e,``)},getRange(e){return rx(e,0)},set(e,t){Xb[e]=t,ex()},getAll(){return{...Xb}},getDefinitions(){return Yb},hasAny(){return Yb.size>0}},ax=[`target`,`variable`,`options`,`value`,`disabled`],ox=new Map,sx=new Map;function cx(e,t,n){if(n)return n;let r=`${e}:${t}`,i=sx.get(r)??0,a;do i++,a=i===1?r:`${r}:${i}`;while(ox.has(a));return sx.set(r,i),a}function lx(e){let t=e.id,n={action:e},r=ox.get(t);return r?(console.warn(`spindle: two mounted controls share the action ID \"${t}\"; Story.getActions() lists only the newer one.`),r.push(n)):ox.set(t,[n]),mx(),{update(e){let r=ox.get(t);r?.includes(n)&&(n.action=e,r[r.length-1]===n&&mx())},unregister(){let e=ox.get(t),r=e?e.indexOf(n):-1;!e||r===-1||(e.splice(r,1),e.length===0&&ox.delete(t),r===e.length&&mx())}}}function ux(){return Array.from(ox.values(),fx)}function dx(e){let t=ox.get(e);return t&&fx(t)}function fx(e){return e[e.length-1].action}function px(){sx.clear()}function mx(){Bg(`actionsChanged`)}function hx(e){let t=j(``),n=j(e.perform);n.current=e.perform,t.current||(t.current=cx(e.type,e.key,e.authorId));let r=t.current,i=()=>{let t={id:r,type:e.type,label:e.label,perform:(...e)=>n.current(...e)};for(let n of ax)e[n]!==void 0&&Object.assign(t,{[n]:e[n]});return t},a=j(null);Ne(()=>{let e=lx(i());return a.current=e,()=>e.unregister()},[r]);let o=j(!1);return Ne(()=>{if(!o.current){o.current=!0;return}a.current?.update(i())},[e.type,e.label,e.target,e.variable,e.disabled,e.value,JSON.stringify(e.options)]),r}function gx(e){return e.map(e=>e.type===`text`?e.value:``).join(``)}function _x(e){let t=e.trim();return t.endsWith(`ms`)?parseFloat(t.slice(0,-2)):t.endsWith(`s`)?parseFloat(t.slice(0,-1))*1e3:parseFloat(t)}function vx(e){let t=[],n=0;for(let r of[...Nc(e,wc),e.length])r>n&&t.push([n,r]),n=r+1;return t}var yx=(e,[t,n])=>e.slice(t,n);function bx(e){return kc(e)??Ac(e)}var xx=class extends Error{constructor(e,t){super(`The ${e.name} must be a quoted string (\"…\" or '…'), ${t?`not ${t}`:`but it has no value`}`),this.name=`MacroArgumentError`}};function Sx(e,t,n){switch(n.spans?.set(e,[n.at,n.at+t.length]),e.type){case`string`:{let n=kc(t);if(n===null)throw new xx(e,t);return n}case`text`:return bx(t);case`names`:return t.split(`,`).map(e=>e.trim());case`delay`:return _x(t);case`number`:return Number(t);case`options`:return Ox(e.parameters??[],t,n);default:return t}}function Cx(e){return e.type===`flag`||e.type===`separator`?!1:e.type===`options`?{}:void 0}var wx=/\\w+/y,Tx=/[-+]?(?:\\d+\\.?\\d*|\\.\\d+)/y,Ex=/\\S+/y;function Dx(e,t,n){return e.lastIndex=n,e.exec(t)?.[0]??null}function Ox(e,t,{at:n,spans:r}){let i={},a=0;for(;a<t.length;){let o=Dx(wx,t,a);if(!o){a=Oc(t,a)?.end??a+1;continue}a+=o.length;let s,c=a;for(;c<t.length&&wc(t[c]);)c++;let l=Oc(t,c),u=l||c===a?null:Dx(Tx,t,c);l?(s=l.value,a=l.end):u&&(s=u,a=c+u.length);let d=e.find(e=>e.name===o);if(d&&d.type!==`flag`&&s!==void 0&&r?.set(d,[n+c,n+a]),d?.type===`string`&&!l)throw new xx(d,Dx(Ex,t,c)??``);d?.type===`flag`?i[o]=!0:d?.type===`number`?i[o]=Number(s??0):d&&(i[o]=s)}return i}var kx=/^(?:[-+*/&|^=<>?:,.]|%(?![A-Za-z_]))/;function Ax(e,t){let n=vx(e);if(n.length<2)return null;if(yx(e,n[n.length-1])===t){let t=[0,n[n.length-2][1]];if(!Mc(yx(e,t)))return t}if(yx(e,n[0])===t){let t=[n[1][0],e.length];if(!kx.test(yx(e,t)))return t}return null}function jx(e,t){if(t===`=`){let t=Nc(e,e=>e===`=`);for(let n=0;n<t.length;n++){let r=t[n];if(e[r+1]===`=`){n++;continue}if(e[r-1]!==`!`)return[r,r+1]}return null}let n=vx(e);for(let r=1;r<n.length-1;r++)if(yx(e,n[r])===t)return[n[r-1][1],n[r+1][0]];return null}var Mx=e=>e.type===`expression`||e.type===`statements`||e.type===`passage`||e.type===`text`;function Nx(e,t){let n=e.trim();return[n,n?t+e.indexOf(n):t]}function Px(e,t,n,{at:r,spans:i}){let[a,o]=Nx(t??``,r);for(let r of e.filter(e=>e.type===`flag`)){let e=t===null?null:Ax(a,r.name);n[r.name]=e!==null,e&&([a,o]=Nx(yx(a,e),o+e[0]))}let s=e.filter(e=>e.type!==`flag`);if(s.length===0)return;let c=s.findIndex((e,t)=>Mx(e)&&!s.slice(t+1).some(Mx)),l=c<0?s.length-1:c,u=(e,[t,n])=>t===n?Cx(e):Sx(e,a.slice(t,n),{at:o+t,spans:i});if(s.length===1){n[s[0].name]=u(s[0],[0,a.length]);return}let d=vx(a),f=0,p=d.length;for(let e of s.slice(0,l))n[e.name]=f<p?u(e,d[f++]):Cx(e);let m=(e,t)=>{try{return u(e,t)}catch(e){if(e instanceof xx)return;throw e}};for(let e of s.slice(l+1).reverse()){let t=f<p&&!Mc(a.slice(0,d[p-1][0]))?m(e,d[p-1]):void 0;n[e.name]=t??Cx(e),t===void 0?i?.delete(e):p--}let h=s[l];n[h.name]=f<p?u(h,[d[f][0],d[p-1][1]]):Cx(h)}var Fx={name:`delay`,type:`delay`,required:!0};function Ix(e,t,n){let r={},[i,a]=Nx(e,0),o=0;return t.forEach((e,s)=>{if(e.type!==`separator`)return;let c=i===null?null:jx(i,e.name);r[e.name]=c!==null;let l=c?i.slice(0,c[0]):i;Px(t.slice(o,s),l,r,{at:a,spans:n}),i=c?i.slice(c[1]):null,c&&(a+=c[1]),o=s+1}),Px(t.slice(o),i,r,{at:a,spans:n}),r}function Lx(e){let t=e.trim(),n=Fo(t);return n===null?{kind:`expression`,expression:t}:{kind:`name`,name:n}}function Rx(e,t,{storyData:n,currentPassage:r}){let i=String(t(e??``));if(n&&!n.passages.has(i))throw _y(i,r);return i}function zx(e){let t=e.trim(),n=vx(t)[0];return n?yx(t,n):``}function Bx(e){let{variable:t=``,placeholder:n=``}=Ix(e,[{name:`variable`,type:`variable`},{name:`placeholder`,type:`string`}]);return{varName:t.replace(/[\"']/g,``),placeholder:n}}var Vx=[{name:`value`,type:`string`,holds:`text`,required:!0}],Hx=new Map([[`option`,Vx]]);function Ux(e){return Hx.get(e.toLowerCase())}function Wx(e){let t=[];for(let n of e)if(n.type===`macro`&&n.name===`option`){let{value:e}=Ix(n.rawArgs,Vx);t.push(e??``)}return t}function Gx(e,t){let n=`macro-${e}`;return t?`${n} ${t}`:n}var Kx={useState:Ae,useRef:j,useEffect:Me,useLayoutEffect:Ne,useCallback:Fe,useMemo:Pe,useContext:Ie};function $(e,t=`builtin`){let n=e.parameters??[];hc(e.name,n);function r(t){let r=t.className,i=t.id,a;e.interpolate&&(a=nl(),r=a(r),i=a(i));let{update:o,getValues:s}=Ie(Nf),c=sl(),l=(e,t)=>kp(e,{...c,...t}),u;try{u=Ix(t.rawArgs,n)}catch(t){if(t instanceof xx)return b(Of,{macro:e.name,error:t});throw t}let d={args:u,collectText:gx,sourceLocation:Df,parseVarArgs:Bx,extractOptions:Wx,h:b,renderNodes:l,renderInlineNodes:xp,hooks:Kx,useAction:hx,className:r,id:i,resolve:a,cls:Gx(e.name,r),mutate:e=>Fv(e,s(),o),update:o,getValues:s,wrap:e=>Bc(r,i,e)};if(e.merged){d.merged=as();let e=d.merged;d.evaluate=t=>nc(t,e[0],e[1],e[2],e[3])}if(e.storeVar){let n=zx(t.rawArgs).replace(/[\"']/g,``);if(n.startsWith(`%`))return b(`span`,{class:`error`},`{${e.name}}: transient variables (%${n.slice(1)}) cannot be bound to input macros`);let r=n.replace(/[\"']/g,``).replace(/^\\$/,``),i=r.split(`.`);if(i.includes(`__proto__`))return b(`span`,{class:`error`},`{${e.name}}: \"$${r}\" cannot be bound: ${Ts} is reserved`);d.varName=r,d.value=Q(e=>Kh(e.variables,i)),d.getValue=()=>Kh(dv().variables,i),d.setValue=e=>{Nv((t,n)=>{Xh(t.variables,i,n(e),{createMissing:!0})})}}try{return e.render(t,d)}catch(t){if(t instanceof xx)return b(Of,{macro:e.name,error:t});throw t}}ac(e.name,r);let i=e.text;cc(e.name,i&&((e,t)=>i(e,{...t,args:Ix(e.rawArgs,n)})));let a=e.block===!0||e.block!==!1&&(e.subMacros?.length??0)>0;if(vc(e.name,{name:e.name,block:a,subMacros:e.subMacros??[],storeVar:e.storeVar,interpolate:e.interpolate,merged:e.merged,description:e.description,parameters:e.parameters&&[...e.parameters],source:t}),e.subMacros)for(let t of e.subMacros)dc(t);a&&Sr(e.name)}var qx=null;function Jx(e){qx=e}function Yx(){return qx}var Xx=null,Zx=null;function Qx(){return Zx}var $x=!1;function eS(){if($x)return;$x=!0;let e=Q.getState().variables,t=Q.getState().transient;Q.subscribe(n=>{let r={},i=(e,t,n)=>{for(let i of Fs(e,t))r[n+i]={from:Os(e,i),to:Os(t,i)}};i(e,n.variables,``),i(t,n.transient,`%`),e=n.variables,t=n.transient,Object.keys(r).length>0&&Bg(`variableChanged`,r)})}var tS=null,nS=null,rS=new Set;function iS(e,t=[]){tS=new Set(e),nS=new Set(t),rS.clear()}function aS(e){let t=e.startsWith(`%`),n=t||e.startsWith(`$`)?e.slice(1):e;return Ds(n.split(`.`)[0],e),{isTransient:t,key:n}}function oS(e,t){let n=e?nS:tS;if(!n)return;let r=t.split(`.`)[0];if(n.has(r))return;let i=(e?`%`:`$`)+r;rS.has(i)||(rS.add(i),console.warn(`spindle: Story.set() wrote ${i}, which is not declared in ${e?`StoryTransients`:`StoryVariables`}. Passages cannot reference it; check the name or declare it.`))}function sS(e,t,n){let{isTransient:r,key:i}=aS(t),a=r?e.transient:e.variables;i.includes(`.`)?Xh(a,i.split(`.`),n):a[i]=n}function cS(e){return((...t)=>Q.getState()[e](...t))}function lS(){return{get(e){let{isTransient:t,key:n}=aS(e),r=uv(),i=r??Q.getState(),a=t?i.transient:i.variables,o=n.includes(`.`)?Kh(a,n.split(`.`)):Os(a,n);return r?hv(o):o},set(e,t){let n=typeof e==`string`?[[e,t]]:Object.entries(e);for(let[e]of n){let{isTransient:t,key:n}=aS(e);oS(t,n)}if(n.some(([e])=>e.includes(`.`))){Nv((e,t)=>{for(let[r,i]of n)sS(e,r,t(i))});return}Q.getState().updateVariables(e=>{for(let[t,r]of n)sS(e,t,r)})},goto:cS(`navigate`),back:cS(`goBack`),forward:cS(`goForward`),restart:cS(`restart`),save:cS(`save`),load:cS(`load`),hasSave:cS(`hasSave`),getSaveInfo:cS(`getSaveInfo`),listSaves:cS(`listSaves`),deleteSave:cS(`deleteSave`),exportSave:cS(`exportSave`),importSave:cS(`importSave`),...Zs(()=>Q.getState().visitCounts,()=>Q.getState().renderCounts),get title(){return Q.getState().storyData?.name||``},get passage(){return Q.getState().currentPassage},settings:ix,registerClass(e,t){wm(e,t)},defineMacro(e){$(e,`user`)},getMacroRegistry(){return bc()},saves:{setTitleGenerator(e){Wg(e)}},storage:{async getInfo(){let e=Q.getState().storyData?.ifid;return e?$_(e):{saveCount:0,playthroughCount:0,totalBytes:0,backend:Bh()}},async getQuota(){if(typeof navigator<`u`&&navigator.storage?.estimate)try{let e=await navigator.storage.estimate();return{usage:e.usage??0,quota:e.quota??0,estimateSupported:!0}}catch{}return{usage:0,quota:0,estimateSupported:!1}},clearGameData:cS(`clearGameData`),clearAllData:cS(`clearAllData`),deletePlaythrough:cS(`deletePlaythrough`),get backend(){return Bh()}},getActions(){return ux()},performAction(e,t){let n=dx(e);if(!n)throw Error(`spindle: Action \"${e}\" not found.`);if(n.disabled)throw Error(`spindle: Action \"${e}\" is disabled.`);n.perform(t)},on(e,t){e===`variableChanged`&&eS();let n=Rg(e,t);return lb(n),n},async waitForActions(){await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))});let e=()=>Yx()===Q.getState().navigationId;return Yx()!==null&&!e()&&!Q.getState().renderDeferred&&await new Promise(t=>{let n=Rg(`passagerender`,()=>{e()&&(n(),t())})}),ux()},watch(e,t){return Uv(e,t)},unwatch(e){Gv(e)},openDialog(e,t){iy({passageName:e,panelClass:t?.panelClass,showCloseButton:t?.showCloseButton,dismissible:t?.dismissible})},closeDialog(){ly()},closeAllDialogs(){uy()},isDialogOpen(){return dy()},setNobr(e){Q.setState({nobr:e})},setCSS(e){let t=document.getElementById(`spindle-styles`);t&&(t.disabled=!e)},setTransition(e){Q.getState().setTransition(e)},setNextTransition(e){Q.getState().setNextTransition(e)},deferRender(){Q.getState().deferRender(),Zx=new Promise(e=>{Xx=e})},ready(){Xx&&(Q.getState().clearDeferredRender(),Xx(),Xx=null,Zx=null)},random(){return bs()},randomInt(e,t){return xs(e,t)},config:{get maxHistory(){return Q.getState().maxHistory},set maxHistory(e){Q.getState().setMaxHistory(e)},get quickSaveKey(){return Q.getState().quickSaveKey},set quickSaveKey(e){Q.getState().setQuickSaveKey(e)},get quickLoadKey(){return Q.getState().quickLoadKey},set quickLoadKey(e){Q.getState().setQuickLoadKey(e)}},prng:{init(e,t){ms(e,t);let{historyIndex:n}=Q.getState();Q.setState(e=>{let t=e.history[n];t&&(t.prng=ys())})},isEnabled(){return Ss()},get seed(){return Cs()},get pull(){return ws()}}}}function uS(){window.Story=lS()}var dS=null;function fS(e){let t=dS;dS=new Map;try{return e()}finally{dS=t}}function pS(e,t){let n=t[0]+e,r=dS?.get(n);if(r)return r;try{r=go(e,t)}catch(e){if(!(e instanceof so))throw e;r=e}return dS?.set(n,r),r}var mS=new Set([`if`,`elseif`,`case`]),hS=new Set([`dialog`]);function gS(e,t){return e.map(e=>e.parameters?{...e,parameters:gS(e.parameters,t)}:(e.type===`string`||e.type===`text`)&&!e.holds?{...e,holds:t}:e)}function _S(e){let t=new vr;for(let{name:n,parameters:r,interpolate:i}of e)r&&t.set(n,gS(r,vS(i)));return e=>{let n=t.get(e);if(!n){let r=Ux(e);r&&t.set(e,n=gS(r,`text`))}return n}}var vS=e=>e?`markup`:`text`;function yS(e){if(e.type===`expression`||e.type===`passage`)return`expression`;if(e.type===`statements`)return`statements`}function bS(e){if(!(e.type!==`string`&&e.type!==`text`))return e.holds??`markup`}function*xS(e,t,n){let r=(e,n)=>t.findIndex((t,r)=>r>e&&t.type===`macro`&&t.isClose&&t.name.toLowerCase()===n);for(let i=0;i<t.length;i++){let a=t[i];if(a.type===`link`)yield{kind:`passage`,name:a.target,offset:a.targetStart,length:a.targetEnd-a.targetStart,macro:`link`,label:e.slice(a.start,a.end)},a.display.includes(`{`)&&(yield{kind:`text`,text:a.display,offset:CS(e,a.display,a.start),where:`In the label of a link: `});else if(a.type===`expression`)yield{kind:`code`,code:a.expression,offset:a.end-1-a.expression.length,goal:`expression`,label:`{${a.expression}}`};else if(a.type===`html`){let t=a.start;for(let[n,r]of Object.entries(a.attributes)){let i=CS(e,r,t);if(t=i+r.length,!Wo(n)){yield{kind:`text`,text:r,offset:i,where:`In the ${n} attribute of <${a.tag}>: `};continue}let o=0;for(let e of Go(r)){if(!(`expr`in e))continue;let t=CS(r,e.expr,o);o=t+e.expr.length,yield{kind:`code`,code:e.expr,offset:i+t,goal:`expression`,label:`{${e.expr}} in the ${n} attribute of <${a.tag}>`}}}}else if(a.type===`macro`&&!a.isClose){let o=a.name.toLowerCase();if(o===`do`){let n=r(i,o);if(n<0)continue;yield{kind:`code`,code:e.slice(a.end,t[n].start),offset:a.end,goal:`statements`,label:`{do}`},i=n;continue}let s=a.rawArgs;if(hS.has(o)){let n=r(i,o),s=t.slice(i+1,n);if(n>i+1&&s.every(e=>e.type===`text`)){let r=e.slice(a.end,t[n].start),i=r.trim();yield{kind:`passage`,name:i.replace(/^[\"']|[\"']$/g,``),offset:a.end+r.indexOf(i),length:i.length,macro:o,label:e.slice(a.start,a.end)}}}if(!s)continue;let c=`{${a.name} ${s}}`,l=e.slice(a.start,a.end-1),u=a.start+l.trimEnd().length-s.length;if(mS.has(o)){yield{kind:`code`,code:s,offset:u,goal:`expression`,label:c};continue}let d=n(o);d&&(yield*SS(s,u,d,a.name,c))}}}function*SS(e,t,n,r,i){let a,o=new Map;try{a=Ix(e,n,o)}catch(e){if(!(e instanceof xx))throw e;yield{kind:`argument-error`,message:e.message,offset:t,label:i};return}let s=r.toLowerCase();function*c(n,a){for(let l of n){let n=a[l.name];if(l.type===`options`&&l.parameters){yield*c(l.parameters,n??{});continue}let u=o.get(l);if(typeof n!=`string`||!n.trim()||!u)continue;let[d,f]=u,p=e.slice(d,f),m=e=>({kind:`passage`,name:e,offset:t+d,length:f-d,macro:s,label:i}),h=yS(l);if(l.type===`passage`){let e=Lx(n);if(e.kind===`name`){yield m(e.name);continue}}if(h){let e={kind:`code`,code:n,offset:t+d,goal:h,label:i};l.type===`passage`&&(e.passage=!0,e.macro=s),yield e;continue}let g=t+d+(n!==p&&/^[\"']/.test(p)?1:0),_=bS(l);_===`expression`||_===`statements`?yield{kind:`code`,code:n,offset:g,goal:_,label:i,inString:!0}:_===`passage`?yield m(n):_===`markup`&&(yield{kind:`text`,text:n,offset:g,where:`In the ${l.name} of {${r}}: `})}}yield*[...c(n,a)].sort((e,t)=>e.offset-t.offset)}function CS(e,t,n){let r=e.indexOf(t,n);if(r>=0)return r;let i=e.indexOf(t);return i>=0?i:n}var wS=[{name:`name`,type:`text`,holds:`text`,required:!0},{name:`parameters`,type:`text`,holds:`text`}];function TS({name:e=``,parameters:t=``}){return{name:e,params:t.split(/\\s+/).filter(e=>e.startsWith(`@`))}}function ES(e){return TS(Ix(e,wS))}var DS=/\\{widget\\s+([^}]*)\\}([\\s\\S]*?)\\{\\/widget\\}/gi,OS=/\\{[^{}]*@children\\s*\\}/;function kS(e){let t=[];for(let n of e)if(!(n.name!==`StoryInit`&&!n.tags?.includes(`widget`))){for(let e of n.content.matchAll(DS))if(OS.test(e[2]))try{t.push(ES(e[1]).name)}catch{}}return t}var AS=new Set([`StoryVariables`,`StoryTransients`,`SaveTitle`]),jS=[`script`,`stylesheet`],MS=new Set([`elseif`,`else`,`case`,`default`,`next`]);function NS(e){let t=e.file?` (${e.file}${e.fileLine?`:${e.fileLine}`:``})`:``;return`Passage \"${e.passage}\", line ${e.line}, column ${e.column}${t}: ${e.message}`}function PS(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++)i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+(e[r-1]===t[a-1]?0:1));n=i}return n[t.length]}function FS(e,t,n){let r=e.toLowerCase(),i=``,a=Math.max(2,Math.floor(r.length/3))+1;for(let e of t){let t=PS(r,e.toLowerCase());t<a&&(i=e,a=t)}return i?` Did you mean ${n(i)}?`:``}var IS=` (a passage name is a quoted string or an expression)`,LS=/^[A-Za-z][\\w$]*$/;function RS(e){try{return ES(e).name.toLowerCase()||void 0}catch{return}}function zS(e,t){let n=[],r=t.isBlockMacro?{isBlock:t.isBlockMacro}:void 0,i=(e,t,r)=>{let{line:i,column:a}=Yo(e.content,t),o={passage:e.name,line:i,column:a,message:r},s=e.metadata?.[`data-source-file`];if(s){o.file=s;let t=Number(e.metadata?.[`data-source-line`]);t&&(o.fileLine=t+i)}n.push(o)},a=[],o=new Set,s=new Set;for(let n of e){if(s.add(n.name),AS.has(n.name)||n.tags?.some(e=>jS.includes(e)))continue;let e=!t.only||t.only(n);try{let t=Qo(n.content);for(let e of t){if(e.type!==`macro`||e.isClose||e.name.toLowerCase()!==`widget`)continue;let t=RS(e.rawArgs);t&&o.add(t)}if(!e)continue;Zo(n.content,{hooks:r}),a.push([n,t])}catch(t){if(!(t instanceof Jo))throw t;e&&i(n,t.offset,t.reason)}}let c=[...t.macroNames??[],...o],l=(e,n,r,a)=>{for(let s of n){if(s.type!==`macro`||s.isClose)continue;let n=s.name.toLowerCase();MS.has(n)||o.has(n)||t.isKnownMacro(n)||i(e,r+s.start,`${a}Unknown macro {${s.name}}.${FS(s.name,c,e=>`{${e}}`)}`)}},u=t.parametersOf??(()=>void 0),d=(e,n,a,o,c)=>{l(e,a,o,c);for(let l of xS(n,a,u)){let n=o+l.offset;if(l.kind===`argument-error`){i(e,n,`${c}${l.message} in ${l.label}`);continue}if(l.kind===`passage`){if(t.checkPassageNames!==!1&&!s.has(l.name)){let t=FS(l.name,s,JSON.stringify);i(e,n,`${c}No passage named ${JSON.stringify(l.name)} in ${l.label}.${t}`)}continue}if(l.kind===`code`){let t=pS(l.code,l.goal),r=l.code.trim();if(t instanceof so){let r=t.reasonIn(e.content,n);i(e,n+t.pos,`${c}${r} in ${l.label}`+(l.passage?IS:``))}else l.passage&&LS.test(r)&&i(e,n,`${c}Unquoted passage name in ${l.label}: write ${JSON.stringify(r)}${IS}`);continue}if(l.text.includes(`{`))try{Zo(l.text,{text:!0,hooks:r});let t=Qo(l.text,{text:!0});d(e,l.text,t,n,l.where)}catch(t){if(!(t instanceof Jo))throw t;i(e,n+t.offset,l.where+t.reason)}}};for(let[e,t]of a)fS(()=>d(e,e.content,t,0,``));return n}function BS(e,t){try{return Qo(e,{text:t})}catch(e){if(e instanceof Jo)return[];throw e}}function VS(e){let t=e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`);return RegExp(`^${t}(\\\\w+)\\\\s*=\\\\s*(.+)$`)}var HS=/\\$(\\w+(?:\\.\\w+)*)/y,US=/^[\"']\\$(\\w+(?:\\.\\w+)*)[\"']?$/,WS=new Set([`number`,`string`,`boolean`]),GS={string:Object(``),number:Object(0),boolean:Object(!1)};function KS(e){if(Array.isArray(e))return{type:`array`};if(typeof e==`object`&&e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,KS(r));return{type:`object`,fields:t}}let t=typeof e;if(!WS.has(t))throw Error(`Unsupported type \"${t}\" for value ${String(e)}. Expected number, string, boolean, array, or object.`);return{type:t}}function qS(e,t=`$`){let n=new Map,r=VS(t),i=t===`%`?`StoryTransients`:`StoryVariables`;for(let a of e.split(`\n`)){let e=a.trim();if(!e)continue;let o=e.match(r);if(!o)throw Error(`${i}: Invalid declaration: \"${e}\". Expected: ${t}name = value`);let[,s,c]=o,l=Es(s,t+s);if(l)throw Error(`${i}: ${l}`);let u;try{u=Function(`return (`+c+`)`)()}catch(e){throw Error(`${i}: Failed to evaluate \"${t}${s} = ${c}\": ${el(e)}`)}let d;try{d=KS(u)}catch(e){throw Error(`${i}: ${el(e)}`)}n.set(s,{...d,name:s,default:u})}return n}function JS(e,t){let n=e.split(`.`),r=n[0],i=Es(r,`$`+r);if(i)return i;let a=t.get(r);if(!a)return`Undeclared variable: $${e}`;let o=a;for(let e=1;e<n.length;e++){let t=n[e];if(o.type===`array`)return null;let r=GS[o.type];if(r&&t in r){let e=typeof r[t];if(!WS.has(e))return null;o={type:e};continue}if(o.type!==`object`||!o.fields)return`Cannot access field \"${t}\" on $${n.slice(0,e).join(`.`)} (type: ${o.type})`;let i=o.fields.get(t);if(!i)return null;o=i}return null}var YS=[`checkbox`,`cycle`,`listbox`,`numberbox`,`radiobutton`,`textarea`,`textbox`],XS=new Set;function ZS(e,t){for(let n of Go(e))`expr`in n&&$S(n.expr,t)}function QS(e,t,n=XS){e.includes(`{`)&&rC(e,BS(e,!0),n,t)}function $S(e,t,n=`expression`){let r=pS(e,n);if(r instanceof so){eC(e,t,n);return}for(let n of r.refs)n.sigil===`$`&&(HS.lastIndex=n.start,t(HS.exec(e)[1]))}function eC(e,t,n){Ao(e,{variable(n,r,i){n===`$`&&(HS.lastIndex=i,t(HS.exec(e)[1]))},literal(){}},n)}function tC(e,t,n,r){fS(()=>rC(e,BS(e,!1),t,n,r))}function nC(e,t,n){if(e.rawArgs){if(t){let r=[...SS(e.rawArgs,0,t,e.name,``)];if(!r.some(e=>e.kind===`argument-error`)){for(let e of r)e.kind===`code`?$S(e.code,n,e.goal):e.kind===`text`&&QS(e.text,n);return}}$S(e.rawArgs,n)}}function rC(e,t,n,r,i=()=>void 0){for(let a=0;a<t.length;a++){let o=t[a];if(o.type===`variable`)o.scope===`variable`&&o.name&&r(o.name);else if(o.type===`link`)QS(o.display,r);else if(o.type===`expression`)$S(o.expression,r);else if(o.type===`html`)for(let[e,t]of Object.entries(o.attributes))Wo(e)?ZS(t,r):QS(t,r,n);else if(o.type===`macro`&&!o.isClose){if(nC(o,i(o.name),r),o.className&&QS(o.className,r),o.id&&QS(o.id,r),n.has(o.name.toLowerCase())){let e=o.rawArgs.trim().split(/\\s+/)[0]??``,t=US.exec(e);t?r(t[1]):/^[\"'`]/.test(e)||$S(e,r)}if(o.name.toLowerCase()===`do`){let n=a+1;for(;n<t.length;){let e=t[n];if(e.type===`macro`&&e.isClose&&e.name.toLowerCase()===`do`)break;n++}n<t.length&&($S(e.slice(o.end,t[n].start),r,`statements`),a=n)}}}}function iC(e,t,n=YS,r=yc){let i=[],a=new Set(Array.from(n,e=>e.toLowerCase()));for(let[n,o]of e)AS.has(n)||tC(o.content,a,e=>{let r=JS(e,t);r&&i.push(`Passage \"${n}\": ${r}`)},r);return i}function aC(e){let t=K();for(let[n,r]of e)t[n]=r.default;return t}function oC(e){for(let t of e){if(t.type===`variable`&&t.scope===`local`&&t.name===`children`||t.type===`html`&&oC(t.children))return!0;if(t.type===`macro`){if(oC(t.children))return!0;if(t.branches){for(let e of t.branches)if(oC(e.children))return!0}}}return!1}function sC({name:e,params:t},n){let r=oC(n);Sc(e,n,t,r),r&&Sr(e)}$({name:`widget`,block:!0,parameters:wS,render({children:e=[]},t){let n,r;try{let e=TS(t.args);for(let t of e.params)Ds(t.slice(1),t);n=e}catch(e){r=e}let{name:i,params:a}=n??{name:``,params:[]},o=JSON.stringify(e),s=a.join(`,`);return t.hooks.useLayoutEffect(()=>{n&&sC(n,e)},[i,o,s]),r?q(Of,{macro:`widget`,error:r}):null}}),$({name:`set`,parameters:[{name:`code`,type:`statements`,required:!0}],render({rawArgs:e},t){return Af(`set`,e,()=>t.mutate(e))}}),$({name:`print`,parameters:[{name:`expression`,type:`expression`,required:!0}],interpolate:!0,merged:!0,render({rawArgs:e},t){try{return t.wrap(zc(t.evaluate(e)))}catch(e){return q(Of,{macro:`print`,error:e})}},text({rawArgs:e},t){return zc(t.evaluate(e))}});var cC=Symbol(`unset`);function lC(e,t){if(!t[`=`])throw Error(`{computed}: expected \"target = expression\", got \"${e}\"`);let{target:n=``,expression:r=``}=t;if(!n.match(/^[$_@]\\w+$/))throw Error(`{computed}: target must be $name, _name, or @name, got \"${n}\"`);return Ds(n.slice(1),n),{target:n,expr:r}}function uC(e,t,n,r,i,a,o,s){let c=Df(),l;try{let{variables:t,temporary:n,transient:r}=dv();l=nc(e,t,n,i(),r)}catch(e){kf(`computed ${a}`,e,c);return}if(!sg(o.current,l))if(o.current=l,r)try{s(t,l)}catch(e){kf(`computed ${a}`,e,c)}else{let e=Q.getState();n?e.setTemporary(t,l):e.setVariable(t,l)}}$({name:`computed`,merged:!0,parameters:[{name:`target`,type:`variable`,required:!0},{name:`=`,type:`separator`},{name:`expression`,type:`expression`,required:!0}],render({rawArgs:e},t){let[n,r,i,a]=t.merged,o,s;try{({target:o,expr:s}=lC(e,t.args))}catch(e){return q(Of,{macro:`computed`,error:e})}let c=o.startsWith(`@`),l=o.startsWith(`_`),u=o.slice(1),d=c?t.update:null,f=t.hooks.useRef(cC),p=()=>uC(s,u,l,c,t.getValues,e,f,d),m=t.hooks.useRef(!1);return m.current||(m.current=!0,p()),t.hooks.useLayoutEffect(p,[n,r,i,a]),null}});function dC(e){if(e.current===void 0||e.max===void 0)throw Error(`meter requires two arguments: {meter currentExpr maxExpr}`);return{currentExpr:e.current,maxExpr:e.max,labelMode:e.label??``}}function fC(e,t,n){return n===`none`?null:n===`%`?`${t===0?0:Math.round(e/t*100)}%`:n?`${e} ${n} / ${t} ${n}`:`${e} / ${t}`}$({name:`meter`,interpolate:!0,merged:!0,parameters:[{name:`current`,type:`expression`,required:!0},{name:`max`,type:`expression`,required:!0},{name:`label`,type:`string`,holds:`markup`}],render(e,t){try{let{currentExpr:e,maxExpr:n,labelMode:r}=dC({...t.args,label:t.resolve?.(t.args.label)}),i=Number(t.evaluate(e)),a=Number(t.evaluate(n)),o=a===0?0:Math.max(0,Math.min(100,i/a*100)),s=fC(i,a,r),c=t.cls;return q(`div`,{class:c,id:t.id,children:[q(`div`,{class:`macro-meter-fill`,style:`width: ${o}%`}),s!=null&&q(`span`,{class:`macro-meter-label`,children:s})]})}catch(e){return q(Of,{macro:`meter`,error:e})}}});function pC(e,t){let n=null;for(let r of e)if(r.rawArgs===``)n=r;else if(t(r.rawArgs))return r;return n}function mC(e,t){let n=e.findIndex(e=>e.rawArgs===``);return pC(n<0?e:e.slice(0,n+1),e=>!!t(e))}$({name:`if`,block:!0,interpolate:!0,merged:!0,render({branches:e=[]},t){let n;try{n=mC(e,t.evaluate)}catch(e){return q(Of,{macro:`if`,error:e})}return n?Bc(t.resolve(n.className),t.resolve(n.id),t.renderNodes(n.children)):null},text({branches:e=[]},t){let n=mC(e,t.evaluate);return n?t.renderText(n.children):``}});function hC(e){try{return gC(e,[])}catch{return`<unkeyable>`}}function gC(e,t){switch(typeof e){case`string`:return JSON.stringify(e);case`number`:return Number.isFinite(e)?JSON.stringify(e):String(e);case`boolean`:return String(e);case`bigint`:return`${e}n`;case`undefined`:return`undefined`;case`symbol`:return e.description===void 0?`Symbol()`:`Symbol(${JSON.stringify(e.description)})`;case`function`:return`<function ${JSON.stringify(e.name)}>`}if(e===null)return`null`;let n=e,r=t.indexOf(n);if(r!==-1)return`<cycle ${t.length-r}>`;if(e instanceof Date)return`Date(${e.getTime()})`;if(e instanceof RegExp)return`RegExp(${String(e)})`;t.push(n);try{if(Array.isArray(e))return`[${Array.from(e,e=>gC(e,t)).join(`,`)}]`;if(e instanceof Map)return`Map[${[...e].map(([e,n])=>`[${gC(e,t)},${gC(n,t)}]`).join(`,`)}]`;if(e instanceof Set)return`Set[${[...e].map(e=>gC(e,t)).join(`,`)}]`;let r=n,i=Object.keys(r).map(e=>`${JSON.stringify(e)}:${gC(r[e],t)}`).join(`,`),a=Tm(n);return a===void 0?`{${i}}`:`Class(${JSON.stringify(a)}){${i}}`}finally{t.pop()}}function _C(e,t){if(!t.of)throw Error(`{for} requires \"of\" keyword: {for ${e}}`);let[n=``,r=null]=t.variables??[],i=t.list??``;if(!n.startsWith(`@`))throw Error(`{for} loop variable must use @ prefix: got \"${n}\"`);if(r&&!r.startsWith(`@`))throw Error(`{for} index variable must use @ prefix: got \"${r}\"`);return Ds(n.slice(1),n),r&&Ds(r.slice(1),r),{itemVar:n.slice(1),indexVar:r?r.slice(1):null,listExpr:i}}function vC({parentValues:e,itemVar:t,itemValue:n,indexVar:r,indexValue:i,children:a}){return q(cl,{body:a,parentValues:e,ownKeys:Pe(()=>({[t]:n,...r?{[r]:i}:void 0}),[t,n,r,i])})}$({name:`for`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`variables`,type:`names`,required:!0},{name:`of`,type:`separator`},{name:`list`,type:`expression`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=Ie(Mf),i,a;try{i=_C(e,n.args);let t=n.evaluate(i.listExpr);if(!Array.isArray(t))return q(`span`,{class:`error`,children:`{for error: expression did not evaluate to an array}`});a=t}catch(e){return q(Of,{macro:`for`,error:e})}let{itemVar:o,indexVar:s}=i,c=a.map((e,n)=>q(vC,{parentValues:r,itemVar:o,itemValue:e,indexVar:s,indexValue:n,children:t},`${n}-${hC(e)}`));return n.wrap(c)},text({rawArgs:e,children:t=[]},n){let{itemVar:r,indexVar:i,listExpr:a}=_C(e,n.args),o=n.evaluate(a);if(!Array.isArray(o))throw Error(`expression did not evaluate to an array`);return o.map((e,a)=>n.renderText(t,{[r]:e,...i?{[i]:a}:void 0})).join(``)}}),$({name:`do`,block:!0,render({children:e=[]},t){let n=t.collectText(e);return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{t.mutate(n)}catch(t){kf(`do`,t,e)}},[]),null}});function yC(e){return new Proxy(K(),{get:(t,n)=>typeof n==`string`?Os(e(),n):void 0,has:(t,n)=>typeof n==`string`&&G(e(),n),ownKeys:()=>Reflect.ownKeys(e()),getOwnPropertyDescriptor:(t,n)=>{let r=Object.getOwnPropertyDescriptor(e(),n);return r?{...r,configurable:!0}:void 0}})}var bC=_e({stop:()=>{}});$({name:`repeat`,block:!0,interpolate:!0,parameters:[Fx],render({children:e=[]},t){let{useState:n,useEffect:r,useCallback:i}=t.hooks,a=t.args.delay??0,[o,s]=n(0),[c,l]=n(!1),u=i(()=>l(!0),[]);if(r(()=>{if(c)return;let e=setInterval(()=>{s(e=>e+1)},a);return()=>clearInterval(e)},[a,c]),o===0&&!c)return null;let d=q(bC.Provider,{value:{stop:u},children:q(`span`,{children:t.renderNodes(e)},o)});return t.className||t.id?q(`span`,{id:t.id,class:t.cls,children:d}):d}});function xC(){let e=Ie(Nf),{nobr:t,inline:n}=sl(),r=Ie(Bf),i=Ie(bC),a=Ie(Fb),o=j([]);Me(()=>()=>{for(let e of o.current.splice(0))ge(null,e)},[]);let s=s=>{let c=yC(e.getValues),l=document.createElement(`div`);ge(q(Nf.Provider,{value:e,children:q(Mf.Provider,{value:c,children:q(Pf.Provider,{value:t,children:q(Ff.Provider,{value:n,children:q(Bf.Provider,{value:r,children:q(bC.Provider,{value:i,children:q(Fb.Provider,{value:a,children:kp(s,{nobr:t,inline:n,locals:c})})})})})})})}),l),o.current.push(l)};return e=>Mv(()=>s(e))}$({name:`button`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0}],render({rawArgs:e,children:t=[]},n){let r=n.resolve?.(n.args.label??``)??e,i=xC(),a=()=>i(t);return n.useAction({type:`button`,key:e,authorId:n.id,label:r,perform:a}),q(`button`,{id:n.id,class:n.cls,onClick:a,children:r})}}),$({name:`link`,block:!0,interpolate:!0,merged:!0,parameters:[{name:`text`,type:`string`,holds:`markup`,required:!0},{name:`passage`,type:`passage`}],render({children:e=[]},t){let n=t.resolve?.(t.args.text??``)??``,r=null,i;if(t.args.passage!==void 0)try{r=Rx(t.args.passage,t.evaluate,Q.getState())}catch(e){i={error:e}}let a=xC(),o=()=>{i||(a(e),r&&Q.getState().navigate(r))};return t.useAction({type:`link`,key:r||n,authorId:t.id,label:n,target:r??void 0,disabled:i?!0:void 0,perform:o}),i?q(Of,{macro:`link`,error:i.error}):q(`a`,{id:t.id,class:t.cls,href:`#`,onClick:e=>{e.preventDefault(),o()},children:n})}});function SC(e,t,n){return pC(t.slice(1),t=>e===n(t))}$({name:`switch`,subMacros:[`case`,`default`],parameters:[{name:`expression`,type:`expression`,required:!0}],merged:!0,render({rawArgs:e,branches:t=[]},n){let r;try{r=n.evaluate(e)}catch(e){return q(Of,{macro:`switch`,error:e})}let i;try{i=SC(r,t,n.evaluate)}catch(e){return q(Of,{macro:`case`,error:e})}return i&&q(S,{children:n.renderNodes(i.children)})},text({rawArgs:e,branches:t=[]},n){let r=SC(n.evaluate(e),t,n.evaluate);return r?n.renderText(r.children):``}});var CC=[Fx];$({name:`timed`,subMacros:[`next`],interpolate:!0,parameters:CC,render({branches:e=[]},t){let{useState:n,useEffect:r,useMemo:i}=t.hooks,a=i(()=>e.map(e=>({delay:Ix(e.rawArgs,CC).delay??0,nodes:e.children,className:e.className,id:e.id})),[e]),[o,s]=n(-1);if(r(()=>{if(o>=a.length-1)return;let e=o+1,t=a[e].delay,n=setTimeout(()=>{s(e)},t);return()=>clearTimeout(n)},[o,a]),o<0)return t.wrap(null);let c=a[o];return t.wrap(Bc(t.resolve(c.className),t.resolve(c.id),t.renderNodes(c.nodes)))}}),$({name:`stop`,render(e,t){let{stop:n}=t.hooks.useContext(bC);return t.hooks.useLayoutEffect(()=>{n()},[n]),null}}),$({name:`type`,block:!0,interpolate:!0,parameters:[Fx],render({children:e=[]},t){let{useState:n,useEffect:r,useRef:i}=t.hooks,a=t.args.delay??0,o=i(null),[s,c]=n(0),[l,u]=n(0),d=i(0);d.current=l,r(()=>{o.current&&c((o.current.textContent||``).length)}),r(()=>{if(s===0||d.current>=s)return;let e=setInterval(()=>{u(t=>t>=s?(clearInterval(e),t):t+1)},a);return()=>clearInterval(e)},[s,a]);let f=l>=s&&s>0,p=[`macro-type`,f?`macro-type-done`:``,t.className||``].filter(Boolean).join(` `);return q(`span`,{id:t.id,class:p,ref:o,style:{clipPath:void 0},children:[q(`span`,{class:`macro-type-inner`,style:{display:`inline`,visibility:s===0?`hidden`:`visible`,clipPath:s>0&&!f?`inset(0 ${(s-l)/s*100}% 0 0)`:void 0},children:t.renderInlineNodes(e)}),!f&&s>0&&q(`span`,{class:`macro-type-cursor`})]})}}),$({name:`story-title`,render(e,t){let n=Q(e=>e.storyData?.name||``),r=t.className?`story-title ${t.className}`:`story-title`;return q(`span`,{id:t.id,class:r,children:n})},text:()=>Q.getState().storyData?.name||``});function wC(e,t){return t?`${e} (${t})`:e}function TC(e){$({name:e.name,render(t,n){if(e.hidden?.())return null;let[r,i]=Ae(!1),a=e.setup?.()??{perform:()=>{}},{disabled:o,title:s=e.title}=a,c=n.className?`menubar-button ${n.className}`:`menubar-button`,l=e.dialog?()=>i(!0):e.confirm?()=>{confirm(e.confirm)&&a.perform()}:a.perform;return n.useAction({type:e.actionType,key:e.name,authorId:n.id,label:typeof e.label==`string`?e.label:e.name,disabled:o,perform:e.dialog?()=>i(!0):a.perform}),q(S,{children:[q(`button`,{id:n.id,class:c,onClick:l,disabled:o,title:s,children:e.label}),e.dialog&&r&&q(Ib,{passageName:e.dialog.passageName,fallbackMarkup:e.dialog.fallbackMarkup,panelClass:e.dialog.panelClass,onClose:()=>i(!1),showCloseButton:e.dialog.showCloseButton})]})}})}TC({name:`back`,label:`← Back`,actionType:`back`,setup:()=>({perform:Q(e=>e.goBack),disabled:!Q(e=>e.historyIndex>0)})}),TC({name:`forward`,label:`Forward →`,actionType:`forward`,setup:()=>({perform:Q(e=>e.goForward),disabled:!Q(e=>e.historyIndex<e.history.length-1)})}),TC({name:`quicksave`,label:`QuickSave`,actionType:`save`,setup:()=>{let{quickSaveKey:e}=is(`quickSaveKey`);return{perform:zb,title:wC(`Quick Save`,e)}}}),TC({name:`quickload`,label:`QuickLoad`,actionType:`load`,confirm:`Load saved game? Current progress will be lost.`,setup:()=>{let{hasSave:e,quickLoadKey:t}=is(`hasSave`,`quickLoadKey`,`knownSaves`);return{perform:Bb,disabled:!e(),title:wC(`Quick Load`,t)}}}),TC({name:`restart`,label:`↺ Restart`,actionType:`restart`,confirm:`Restart the story? All progress will be lost.`,setup:()=>({perform:Q(e=>e.restart)})}),TC({name:`saves`,label:`Saves`,actionType:`dialog`,dialog:{passageName:`SaveLoad`,fallbackMarkup:`{save-manager}`,panelClass:`dialog-saves`}}),TC({name:`settings`,label:`Settings`,actionType:`dialog`,hidden:()=>!ix.hasAny(),dialog:{passageName:`Settings`,fallbackMarkup:`{settings-controls}`,panelClass:`dialog-settings`}}),$({name:`dialog`,block:!0,interpolate:!0,parameters:[{name:`label`,type:`text`,holds:`markup`,required:!0},{name:`noclose`,type:`flag`}],render({children:e=[]},t){let[n,r]=t.hooks.useState(!1),{noclose:i}=t.args,a=t.resolve(t.args.label??``),o=t.collectText(e).trim().replace(/^[\"']|[\"']$/g,``);return q(S,{children:[q(`button`,{id:t.id,class:t.cls,onClick:()=>r(!0),children:a}),n&&q(Ib,{passageName:o,onClose:()=>r(!1),showCloseButton:!i})]})}});function EC(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/1e3);if(n<60)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<30?`${a}d ago`:new Date(e).toLocaleDateString()}function DC(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function OC(){let[e,t]=Ae(`load`),[n,r]=Ae([]),[i,a]=Ae(!0),[o,s]=Ae(null),[c,l]=Ae(()=>new Set),[u,d]=Ae(null),f=j(!1),[p,m]=Ae(``),h=j(null),g=j(null),_=Ie(Fb),{storyData:v,playthroughId:y,beginSave:b,loadFromPayload:x}=is(`storyData`,`playthroughId`,`beginSave`,`loadFromPayload`),S=v?.ifid??``,C=Fe(async()=>{S&&(r(await v_(S)),a(!1))},[S]);Me(()=>{C()},[C]),Me(()=>{u&&h.current&&(h.current.focus(),h.current.select())},[u]);let w=j(!0),T=j(),ee=j(),E=(e,t=`success`)=>{w.current&&(clearTimeout(T.current),s({text:e,type:t}),T.current=window.setTimeout(()=>s(null),3e3))};Me(()=>(w.current=!0,()=>{w.current=!1,clearTimeout(T.current),clearTimeout(ee.current)}),[]);let D=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},te=async()=>{if(!S)return;let e=Zy();try{await c_(void 0,void 0,b,async t=>u_(S,e,t)),E(`Save created`),await C()}catch{E(`Failed to create save`,`error`)}},ne=async e=>{let t=Zy();try{await c_(void 0,void 0,b,async n=>{if(!await f_(e,n,void 0,t))throw Error(`Save not found`)}),E(`Save overwritten`),await C()}catch{E(`Failed to overwrite save`,`error`)}},re=async e=>{try{x(h_(e.payload),void 0,e.meta.playthroughId),E(`Game loaded`),_&&(ee.current=window.setTimeout(_,500)),await C()}catch{E(`Failed to load save`,`error`)}},ie=async e=>{if(confirm(`Delete this save?`))try{await g_(e);let t=await L_(S);Q.setState(e=>{e.knownSaves=t}),E(`Save deleted`),await C()}catch{E(`Failed to delete save`,`error`)}},O=e=>{f.current=!1,d(e.meta.id),m(e.meta.title)},ae=async()=>{if(!(!u||!p.trim()))try{await __(u,p.trim()),d(null),E(`Save renamed`),await C()}catch{E(`Failed to rename`,`error`)}},oe=e=>{e.key===`Enter`?ae():e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),f.current=!0,d(null))},se=()=>{f.current||ae()},ce=async e=>{try{let t=await J_(e);if(!t)return;let n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`save-${t.save.meta.title.replace(/[^a-z0-9]/gi,`_`)}.json`,i.click(),URL.revokeObjectURL(r),E(`Save exported`)}catch{E(`Failed to export save`,`error`)}},le=()=>{g.current?.click()},ue=async e=>{let t=e.target,n=t.files?.[0];if(n){t.value=``;try{let e=await n.text(),t=JSON.parse(e);if(!hh(t))throw Error(`Invalid save file format`);await X_(t,S),E(`Save imported`),await C()}catch(e){E(el(e,`Failed to import save`),`error`)}}},de=n.reduce((e,t)=>e+t.saves.length,0);return q(`div`,{class:`save-manager`,children:[q(`div`,{class:`saves-header`,children:q(`div`,{class:`saves-header-left`,children:q(`div`,{class:`saves-mode-toggle`,children:[q(`button`,{class:e===`save`?`active`:``,onClick:()=>t(`save`),children:`Save`}),q(`button`,{class:e===`load`?`active`:``,onClick:()=>t(`load`),children:`Load`})]})})}),q(`div`,{class:`saves-toolbar`,children:[q(`button`,{class:`saves-toolbar-button`,onClick:le,children:`Import`}),q(`input`,{ref:g,type:`file`,accept:`.json`,style:`display:none`,onChange:ue})]}),q(`div`,{class:`saves-body`,children:[i?q(`div`,{class:`saves-empty`,children:`Loading...`}):de===0&&e===`load`?q(`div`,{class:`saves-empty`,children:`No saves yet`}):n.map(t=>{let n=c.has(t.playthrough.id),r=t.playthrough.id===y;return e===`save`&&!r||e===`load`&&t.saves.length===0&&!r?null:q(`div`,{class:`playthrough-group`,children:[q(`div`,{class:`playthrough-header`,onClick:()=>D(t.playthrough.id),children:[q(`span`,{class:`playthrough-chevron ${n?``:`open`}`,children:`▶`}),q(`span`,{class:`playthrough-label`,children:[t.playthrough.label,r?` (current)`:``]}),q(`span`,{class:`playthrough-date`,children:DC(t.playthrough.createdAt)})]}),!n&&q(`div`,{class:`playthrough-saves`,children:[t.saves.map(t=>q(`div`,{class:`save-slot`,children:[q(`div`,{class:`save-slot-info`,children:[u===t.meta.id?q(`input`,{ref:h,class:`save-rename-input`,value:p,onInput:e=>m(e.target.value),onKeyDown:oe,onBlur:se}):q(`div`,{class:`save-slot-title`,children:t.meta.title}),q(`div`,{class:`save-slot-meta`,children:[q(`span`,{children:t.meta.passage}),q(`span`,{children:EC(t.meta.updatedAt)})]})]}),q(`div`,{class:`save-slot-actions`,children:[e===`save`?q(`button`,{class:`save-slot-action primary`,onClick:()=>ne(t.meta.id),children:`Save Here`}):q(`button`,{class:`save-slot-action primary`,onClick:()=>re(t),children:`Load`}),q(`button`,{class:`save-slot-action`,onClick:()=>O(t),children:`Rename`}),q(`button`,{class:`save-slot-action`,onClick:()=>ce(t.meta.id),children:`Export`}),q(`button`,{class:`save-slot-action danger`,onClick:()=>ie(t.meta.id),children:`Delete`})]})]},t.meta.id)),e===`save`&&r&&q(`button`,{class:`save-slot-new`,onClick:te,children:`+ New Save`})]})]},t.playthrough.id)}),e===`save`&&!i&&!n.some(e=>e.playthrough.id===y)&&q(`div`,{class:`playthrough-group`,children:q(`div`,{class:`playthrough-saves`,children:q(`button`,{class:`save-slot-new`,onClick:te,children:`+ New Save`})})})]}),o&&q(`div`,{class:`saves-status ${o.type===`error`?`error`:``}`,children:o.text})]})}$({name:`save-manager`,render(){return q(OC,{})}});function kC({name:e,def:t}){let[n,r]=Ae(()=>ix.get(e)),i=t=>{r(t),ix.set(e,t)};switch(t.type){case`toggle`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`input`,{type:`checkbox`,checked:!!n,onChange:e=>i(e.target.checked)})]});case`list`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:t.config.label}),q(`select`,{value:String(n),onChange:e=>i(e.target.value),children:t.config.options.map(e=>q(`option`,{value:e,children:e},e))})]});case`range`:return q(`label`,{class:`settings-row`,children:[q(`span`,{children:[t.config.label,`: `,String(n)]}),q(`input`,{type:`range`,min:t.config.min,max:t.config.max,step:t.config.step,value:Number(n),onInput:e=>i(parseFloat(e.target.value))})]})}}function AC(){let e=ix.getDefinitions();return q(`div`,{class:`settings-controls`,children:Array.from(e.entries()).map(([e,t])=>q(kC,{name:e,def:t},e))})}$({name:`settings-controls`,render(){return q(AC,{})}}),$({name:`include`,interpolate:!0,merged:!0,parameters:[{name:`inline`,type:`flag`},{name:`passage`,type:`passage`,required:!0}],render(e,t){let{storyData:n}=is(`storyData`),{inline:r}=t.args,i=``,a;try{i=Rx(t.args.passage,t.evaluate,Q.getState())}catch(e){a={error:e}}let o=n?.passages.get(i),s=t.hooks.useMemo(()=>o?Zo(o.content):null,[o]),c=!a&&!!o;if(t.hooks.useEffect(()=>{c&&Q.getState().trackRender(i)},[c,i]),!n)return null;if(a)return q(Of,{macro:`include`,error:a.error});if(!o||!s)return null;let l=o.tags.includes(`nobr`),u=r?t.renderInlineNodes(s):t.renderNodes(s,l?{nobr:!0}:void 0);return l?t.wrap(t.h(Pf.Provider,{value:!0},u)):t.wrap(u)}}),$({name:`nobr`,block:!0,render({children:e=[]},t){return t.wrap(t.h(Pf.Provider,{value:!0},t.renderNodes(e,{nobr:!0})))},text:({children:e=[]},t)=>t.renderText(e)}),$({name:`goto`,merged:!0,parameters:[{name:`passage`,type:`passage`,required:!0}],render(e,t){let[n,r]=t.hooks.useState();return t.hooks.useLayoutEffect(()=>{let e=t.sourceLocation();try{let e=Q.getState();e.navigate(Rx(t.args.passage,t.evaluate,e))}catch(t){kf(`goto`,t,e),r({error:t})}},[]),n?q(Of,{macro:`goto`,error:n.error}):null}}),$({name:`unset`,parameters:[{name:`variable`,type:`variable`,required:!0}],render({rawArgs:e},t){return Af(`unset`,e,()=>{let e=Q.getState(),n=t.args.variable??``;if(/^[$_%@][^.]*\\./.test(n))t.mutate(`delete ${n}`);else if(n.startsWith(`$`))e.deleteVariable(n.slice(1));else if(n.startsWith(`_`))e.deleteTemporary(n.slice(1));else if(n.startsWith(`%`))e.deleteTransient(n.slice(1));else if(n.startsWith(`@`))t.update(n.slice(1),void 0);else throw Error(`{unset} expects a variable ($name, _name, %name, or @name), got \"${n}\"`)})}});var jC={name:`variable`,type:`variable`,required:!0};function MC(e,t){return e.useAction({key:`$${e.varName}`,authorId:e.id,variable:e.varName,value:e.value,...t})}function NC(e,t,n=e=>e===void 0?``:String(e)){$({name:e,storeVar:!0,parameters:[jC,{name:`placeholder`,type:`string`,holds:`text`}],render(r,i){let a=i.args.placeholder??``;return MC(i,{type:e,label:a||i.varName,perform:e=>i.setValue(n(e))}),b(t?`input`:`textarea`,{type:t,id:i.id,class:i.cls,value:zc(i.value),placeholder:a,onInput:e=>i.setValue(n(e.target.value))})}})}NC(`textbox`,`text`),NC(`numberbox`,`number`,e=>e===void 0?0:Number(e)),NC(`textarea`),$({name:`checkbox`,storeVar:!0,parameters:[jC,{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.label??``;return MC(t,{type:`checkbox`,label:n||t.varName||``,value:!!t.value,perform:e=>t.setValue(e===void 0?!t.value:!!e)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`checkbox`,checked:!!t.value,onChange:()=>t.setValue(!t.value)}),n?` ${n}`:null]})}}),$({name:`radiobutton`,storeVar:!0,parameters:[jC,{name:`value`,type:`text`,holds:`text`,required:!0},{name:`label`,type:`text`,holds:`text`}],render(e,t){let n=t.args.value??``,r=t.args.label??``;return MC(t,{type:`radiobutton`,key:`$${t.varName}:${n}`,label:r||n,perform:()=>t.setValue(n)}),q(`label`,{id:t.id,class:t.cls,children:[q(`input`,{type:`radio`,name:`radio-${t.varName}`,checked:t.value===n,onChange:()=>t.setValue(n)}),r?` ${r}`:null]})}}),$({name:`listbox`,subMacros:[`option`],storeVar:!0,parameters:[jC],render({children:e=[]},t){let n=t.extractOptions(e);return MC(t,{type:`listbox`,label:t.varName,options:n,perform:e=>{e!==void 0&&t.setValue(String(e))}}),q(`select`,{id:t.id,class:t.cls,value:zc(t.value),onChange:e=>t.setValue(e.target.value),children:n.map(e=>q(`option`,{value:e,children:e},e))})}}),$({name:`cycle`,block:!0,storeVar:!0,parameters:[jC],render({children:e=[]},t){let n=t.extractOptions(e),r=()=>{if(n.length===0)return;let e=t.getValue(),r=(n.indexOf(String(e))+1)%n.length;t.setValue(n[r])};return MC(t,{type:`cycle`,label:t.value==null?n[0]||``:String(t.value),options:n,perform:e=>{e===void 0?r():t.setValue(e)}}),q(`button`,{id:t.id,class:t.cls,onClick:r,children:t.value==null?n[0]||``:String(t.value)})}}),$({name:`span`,block:!0,render({children:e=[]},t){return t.wrap(t.renderNodes(e))},text:({children:e=[]},t)=>t.renderText(e)});var PC=new WeakMap;function FC(e){let t=PC.get(e);if(t&&t.content===e.content)return t.ast;let n=Zo(e.content);return PC.set(e,{content:e.content,ast:n}),n}function IC(e){return kp(FC(e),e.tags.includes(`nobr`)?{nobr:!0}:void 0)}function LC(e){if(!e)return null;try{return IC(e)}catch(t){return console.error(`spindle: Error in ${e.name}:`,t),null}}var RC=new Set([`PassageReady`,`PassageHeader`,`PassageFooter`,`PassageDone`]);function zC({passage:e,dataTransition:t,navigationId:n}){let{storyData:r}=is(`storyData`),i=RC.has(e.name),[a,o]=Ae(!1),s=Pe(()=>{try{return IC(e)}catch(t){return q(`div`,{class:`error`,children:[`Error parsing passage “`,e.name,`”`,Ef(e),`: `,el(t)]})}},[e.content,e.name]),c=e=>i?void 0:r?.passages.get(e),l=c(`PassageHeader`),u=c(`PassageFooter`),d=c(`PassageDone`),f=Pe(()=>LC(l),[l?.content]),p=Pe(()=>LC(u),[u?.content]);Me(()=>(d&&o(!0),()=>o(!1)),[e.name]);let m=Pe(()=>a?LC(d):null,[a,d?.content]),h=j(null);Ne(()=>{n!==void 0&&Jx(n),h.current&&Vg(`passagerender`,e.name,h.current)},[e.name,n]);let g=e.tags.includes(`nobr`),_=q(`div`,{ref:h,class:`passage`,\"data-passage\":e.name,\"data-tags\":e.tags.join(` `),\"data-transition\":t,children:[f&&q(`div`,{class:`passage-header`,children:f}),s,p&&q(`div`,{class:`passage-footer`,children:p}),m&&q(`div`,{hidden:!0,children:m})]});return g?q(Pf.Provider,{value:!0,children:_}):_}var BC=new Set([`none`,`fade`,`fade-through`,`crossfade`]),VC={type:`fade-through`,duration:300,pause:50};function HC(e){let t=e.find(e=>e.startsWith(`transition:`));if(!t)return null;let n=t.slice(11);if(!BC.has(n))return console.warn(`Unknown transition type: \"${n}\"`),null;let r={type:n};for(let t of e)if(t.startsWith(`duration:`)){let e=Number(t.slice(9));Number.isNaN(e)||(r.duration=e)}else if(t.startsWith(`pause:`)){let e=Number(t.slice(6));Number.isNaN(e)||(r.pause=e)}return r}function UC(e){return{type:e.type,duration:e.duration??VC.duration,pause:e.pause??VC.pause}}function WC(e,t,n){let r=HC(e);return r?UC(r):t?UC(t):n?UC(n):{...VC}}function GC(e,t){let n=e.cloneNode(!0);n.removeAttribute(`id`);let r=n.querySelectorAll(`[id]`);for(let e=0;e<r.length;e++)r[e].removeAttribute(`id`);n.style.pointerEvents=`none`,n.style.userSelect=`none`;let i=n.querySelectorAll(`audio, video`);for(let e=0;e<i.length;e++){let t=i[e];t.pause?.(),t.muted=!0}return n.classList.remove(`passage`),n.classList.add(`passage-snapshot`),n.setAttribute(`data-transition`,t),n}function KC(e,t){e.style.setProperty(`--passage-in-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-out-duration`,`${t.duration/1e3}s`),e.style.setProperty(`--passage-pause`,`${t.pause/1e3}s`)}function qC(e,t){if(!e)return null;KC(e,t);let n=e.querySelector(`.passage`);return n?GC(n,t.type):null}function JC(e){if(!e)return;e.classList.remove(`passage-container--crossfading`);let t=e.querySelectorAll(`.passage-snapshot`);for(let e=0;e<t.length;e++)t[e].remove()}function YC(e){return window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?{...e,duration:Math.min(e.duration,10),pause:0}:e}$({name:`passage`,interpolate:!0,render(e,t){let{currentPassage:n,navigationId:r,storyData:i,renderDeferred:a}=is(`currentPassage`,`navigationId`,`storyData`,`renderDeferred`),[o,s]=Ae({passage:n,id:r}),c=o.passage,l=e=>s({passage:e,id:r}),u=j(`fade`),d=j(0),f=j(null),p=j([]),m=Fe(()=>{for(let e of p.current)clearTimeout(e);p.current=[],JC(f.current)},[]);Me(()=>m,[m]),Me(()=>{let e=Q.getState(),{history:t,historyIndex:a,transitionConfig:s}=e,h=d.current;d.current=t.length;let g=!c,_=t.length===1&&a===0&&h>1,v=t.length>1&&a===t.length-1&&h>1&&Math.abs(t.length-h)>1;if(r===o.id)return;let y=e.consumeNextTransition();m();let b=i?.passages.get(n);if(!b){u.current=`none`,l(n);return}if(g||_||v){u.current=`fade`,l(n);return}let x=YC(WC(b.tags,y,s));u.current=x.type;let S=f.current;if(x.type===`none`){l(n);return}if(x.type===`fade`){S&&KC(S,x),l(n);return}let C=x.type===`fade-through`||x.type===`crossfade`?qC(S,x):null;if(!S||!C){l(n);return}if(x.type===`fade-through`){S.appendChild(C),l(``);let e=x.duration+x.pause,t=setTimeout(()=>{l(n)},e),r=e+x.duration;p.current=[t,setTimeout(()=>{JC(S)},r)];return}S.classList.add(`passage-container--crossfading`),S.appendChild(C),l(n),p.current=[setTimeout(()=>{JC(S)},x.duration)]},[r]);let h=a?i?.passages.get(`StoryLoading`)??null:c?i?.passages.get(c):null;if(!h&&c&&!a)return q(`div`,{class:`error`,children:[`Error: Passage “`,c,`” not found.`]});let g=i?.passages.get(`PassageReady`);return q(`div`,{id:t.id??`story`,class:t.className??`story`,children:[!a&&g&&q(`div`,{hidden:!0,children:IC(g)},`ready-${r}`),q(`div`,{class:`passage-container`,ref:f,children:h&&q(zC,{passage:h,dataTransition:a?`none`:u.current,navigationId:a?void 0:o.id},a?`loading`:`nav-${o.id}`)})]})}}),$({name:`watch`,parameters:[{name:`condition`,type:`string`,holds:`expression`,required:!0},{name:`options`,type:`options`,parameters:[{name:`goto`,type:`string`,holds:`passage`},{name:`dialog`,type:`string`,holds:`passage`},{name:`run`,type:`string`,holds:`statements`},{name:`name`,type:`string`,holds:`text`},{name:`priority`,type:`number`},{name:`once`,type:`flag`}]}],render(e,t){let{hooks:n}=t,{condition:r,options:i}=t.args;if(r===void 0)return null;let a=n.useRef(!1);return a.current||(a.current=!0,Wv(r,i)),null}}),$({name:`unwatch`,parameters:[{name:`name`,type:`text`,holds:`text`,required:!0}],render(e,t){let n=t.args.name??``,r=t.hooks.useRef(!1);return r.current||(r.current=!0,Gv(n)),null}});var XC=`*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:#e0e0e0;background-color:#1a1a2e;min-height:100vh;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;line-height:1.75}tw-storydata{display:none!important}#story{max-width:42em;margin:0 auto;padding:2em 1.5em}.passage-container{position:relative}.passage-container--crossfading{display:grid}.passage-container--crossfading>*{grid-area:1/1}.passage{animation:passage-fade-in var(--passage-in-duration,.3s) ease}.passage[data-transition=none]{animation:none}.passage-snapshot{animation:passage-fade-out var(--passage-out-duration,.3s) ease forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes passage-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes passage-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.passage,.passage-snapshot{animation-duration:10ms!important}}.macro-button{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;font-size:.95em;transition:background .2s,border-color .2s}.macro-button:hover{background:#64b5f640;border-color:#90caf9}.macro-button:active{background:#64b5f659}.error{color:#ef5350;background:#ef53501a;border:1px solid #ef5350;border-radius:4px;padding:1em;font-family:monospace}.spindle-error-banners{z-index:300;flex-direction:column;gap:.5em;width:min(42em,100% - 1.5em);display:flex;position:fixed;top:.75em;left:50%;transform:translate(-50%)}.spindle-error-banner{color:#ffcdd2;background:#2b1a1e;border:1px solid #ef5350;border-radius:4px;padding:.75em 2.75em .75em 1em;font-size:.9em;line-height:1.5;position:relative;box-shadow:0 2px 12px #00000080}.spindle-error-banner-message{color:#ef9a9a;font-family:monospace}.spindle-error-banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1em;position:absolute;top:.5em;right:.5em}.spindle-error-banner-dismiss:hover{color:#fff}.loading{text-align:center;opacity:.6;padding:2em}.story-menubar{z-index:100;background:#16213e;border-bottom:1px solid #ffffff14;align-items:center;gap:.5em;padding:.5em 1.5em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.9em;display:flex;position:sticky;top:0}.story-title{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.menubar-button{color:#9e9e9e;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.35em .7em;transition:color .2s,background .2s}.menubar-button:hover{color:#e0e0e0;background:#ffffff14}.menubar-button:disabled{opacity:.4;cursor:default}.menubar-button:disabled:hover{color:#9e9e9e;background:0 0}.dialog-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-panel{color:#e0e0e0;background:#16213e;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:relative}.dialog-panel:focus{outline:none}.dialog-saves{max-width:550px}.dialog-settings{max-width:400px}.dialog-settings .dialog-body{padding-top:2.25em}.dialog-close{z-index:1;color:#9e9e9e;cursor:pointer;background:0 0;border:none;padding:.25em;font-size:1.1em;line-height:1;position:absolute;top:.75em;right:.75em}.dialog-close:hover{color:#e0e0e0}.dialog-body{flex:1;min-height:0;overflow-y:auto}.settings-controls{flex-direction:column;gap:1em;padding:1em 1.25em;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:1em;display:flex}.settings-row select,.settings-row input[type=range]{accent-color:#64b5f6}.settings-row select{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.settings-row input[type=checkbox]{accent-color:#64b5f6;width:1.1em;height:1.1em}.save-manager{flex-direction:column;flex:1;min-height:0;display:flex}.saves-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1em 3em 1em 1.25em;font-weight:600;display:flex}.saves-header-left{align-items:center;gap:.75em;display:flex}.saves-mode-toggle{border:1px solid #ffffff26;border-radius:4px;gap:0;display:flex;overflow:hidden}.saves-mode-toggle button{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:none;padding:.3em .8em;font-size:.85em;font-weight:600;transition:background .2s,color .2s}.saves-mode-toggle button.active{color:#64b5f6;background:#64b5f633}.saves-mode-toggle button:hover:not(.active){color:#e0e0e0}.saves-body{flex:1;min-height:0;padding:.75em 1.25em;overflow-y:auto}.saves-empty{text-align:center;opacity:.5;padding:2em 1em;font-size:.9em}.saves-toolbar{border-bottom:1px solid #ffffff14;flex-shrink:0;gap:.5em;padding:.5em 1.25em;display:flex}.saves-toolbar-button{color:#9e9e9e;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:.3em .7em;font-size:.8em;transition:background .2s,color .2s}.saves-toolbar-button:hover{color:#e0e0e0;background:#ffffff1a}.playthrough-group{margin-bottom:.75em}.playthrough-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#9e9e9e;align-items:center;gap:.5em;padding:.4em 0;font-size:.85em;transition:color .2s;display:flex}.playthrough-header:hover{color:#e0e0e0}.playthrough-chevron{font-size:.7em;transition:transform .2s;display:inline-block}.playthrough-chevron.open{transform:rotate(90deg)}.playthrough-label{font-weight:600}.playthrough-date{opacity:.6;font-size:.9em}.playthrough-saves{flex-direction:column;gap:.4em;padding-left:.25em;display:flex}.save-slot{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:.75em;padding:.5em .6em;transition:background .15s;display:flex}.save-slot:hover{background:#ffffff0f}.save-slot-info{flex:1;min-width:0}.save-slot-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9em;font-weight:500;overflow:hidden}.save-slot-meta{color:#9e9e9e;gap:.75em;font-size:.75em;display:flex}.save-slot-actions{flex-shrink:0;gap:.3em;display:flex}.save-slot-action{color:#9e9e9e;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:.2em .5em;font-size:.75em;transition:color .2s,background .2s}.save-slot-action:hover{color:#e0e0e0;background:#ffffff14}.save-slot-action.primary{color:#64b5f6;border-color:#64b5f64d}.save-slot-action.primary:hover{background:#64b5f626}.save-slot-action.danger:hover{color:#ef5350;background:#ef53501a}.save-slot-new{color:#9e9e9e;font:inherit;cursor:pointer;background:0 0;border:1px dashed #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-top:.25em;padding:.5em;font-size:.8em;transition:color .2s,border-color .2s,background .2s;display:flex}.save-slot-new:hover{color:#64b5f6;background:#64b5f60d;border-color:#64b5f64d}.saves-status{color:#81c784;text-align:center;border-top:1px solid #ffffff14;flex-shrink:0;padding:.5em 1.25em;font-size:.8em}.saves-status.error{color:#ef5350;background:0 0;border:none;border-radius:0;padding:.5em 1.25em;font-family:inherit}.save-rename-input{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #64b5f666;border-radius:3px;width:100%;padding:.15em .4em;font-size:.9em}.save-rename-input:focus{border-color:#64b5f6;outline:none}.macro-link{color:#64b5f6;cursor:pointer;border-bottom:1px solid #64b5f64d;text-decoration:none;transition:color .2s,border-color .2s}.macro-link:hover{color:#90caf9;border-bottom-color:#90caf9}.macro-link:active{color:#42a5f5}.macro-textbox,.macro-numberbox,.macro-textarea{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-textbox:focus,.macro-numberbox:focus,.macro-textarea:focus{border-color:#64b5f6;outline:none}.macro-textarea{resize:vertical;min-height:3em}.macro-checkbox,.macro-radiobutton{cursor:pointer;align-items:center;gap:.3em;display:inline-flex}.macro-checkbox input,.macro-radiobutton input{accent-color:#64b5f6}.macro-listbox{color:#e0e0e0;font:inherit;background:#1a1a2e;border:1px solid #ffffff26;border-radius:4px;padding:.3em .5em}.macro-cycle{color:#64b5f6;font:inherit;cursor:pointer;background:#64b5f626;border:1px solid #64b5f666;border-radius:4px;padding:.25em .75em;transition:background .2s,border-color .2s}.macro-cycle:hover{background:#64b5f640;border-color:#90caf9}.macro-meter{background:#2a2a3e;border:1px solid #444;border-radius:.3em;width:100%;height:1.4em;position:relative;overflow:hidden}.macro-meter-fill{background:#64b5f6;height:100%;transition:width .3s}.macro-meter-label{color:#e0e0e0;text-shadow:0 1px 2px #000c;pointer-events:none;justify-content:center;align-items:center;font-size:.85em;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.md{display:contents}.passage p{margin:.6em 0}.passage p:first-child{margin-top:0}.passage p:last-child{margin-bottom:0}.passage h1,.passage h2,.passage h3,.passage h4,.passage h5,.passage h6{color:#f0f0f0;margin:1em 0 .4em;line-height:1.3}.passage h1{font-size:1.8em}.passage h2{font-size:1.5em}.passage h3{font-size:1.25em}.passage h4{font-size:1.1em}.passage h5{font-size:1em}.passage h6{opacity:.8;font-size:.9em}.passage code{background:#ffffff14;border-radius:3px;padding:.15em .35em;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9em}.passage pre{background:#0000004d;border:1px solid #ffffff14;border-radius:6px;margin:.8em 0;padding:1em;overflow-x:auto}.passage pre code{background:0 0;border-radius:0;padding:0;font-size:.85em}.passage blockquote{color:#b0b0b0;border-left:3px solid #64b5f680;margin:.8em 0;padding:.4em 1em}.passage blockquote p{margin:.3em 0}.passage ul,.passage ol{margin:.6em 0;padding-left:1.8em}.passage li{margin:.2em 0}.passage hr{border:none;border-top:1px solid #ffffff1f;margin:1.2em 0}.passage table{border-collapse:collapse;width:100%;margin:.8em 0}.passage th,.passage td{text-align:left;border:1px solid #ffffff1f;padding:.5em .75em}.passage th{background:#ffffff0f;font-weight:600}.passage tr:nth-child(2n){background:#ffffff05}.passage del{opacity:.5}.passage strong{color:#f0f0f0}.macro-type-cursor:after{content:\"█\";color:#64b5f6;animation:.7s step-end infinite type-blink}.macro-type-done .macro-type-cursor:after{display:none}@keyframes type-blink{50%{opacity:0}}`;function ZC(e,t){e.innerHTML=``;let n=document.createElement(`div`);n.style.cssText=`font-family:monospace;padding:2rem;max-width:60rem;margin:0 auto`;let r=document.createElement(`h1`);r.style.color=`#c00`,r.textContent=`Story Validation Errors`,n.appendChild(r);let i=document.createElement(`ul`);i.style.cssText=`line-height:1.6`;for(let e of t){let t=document.createElement(`li`);t.textContent=e,i.appendChild(t)}n.appendChild(i),e.appendChild(n)}function QC(e){let t=document.getElementById(`root`);throw t&&ZC(t,e),Error(`spindle: ${e.length} validation error(s):\\n${e.join(`\n`)}`)}function $C(e,t){let n=bc().filter(e=>e.storeVar).map(e=>e.name);return iC(e.passages,t,n)}function ew(e,t){let n=bc();return zS(e.passages.values(),{isKnownMacro:e=>!!oc(e)||fc(e)||!!Cc(e),macroNames:n.map(e=>e.name),parametersOf:_S(n),only:t}).map(NS)}function tw(){let e=Jb(),t=document.createElement(`style`);if(t.id=`spindle-styles`,t.textContent=XC,document.head.appendChild(t),uS(),e.userCSS){let t=document.createElement(`style`);t.textContent=e.userCSS,document.head.appendChild(t)}if(e.userScript)try{Function(e.userScript)()}catch(e){console.error(`spindle: Error in story JavaScript:`,e)}document.dispatchEvent(new CustomEvent(`:storystartup`));let n={},r=e.passages.get(`StoryVariables`);if(!r){let e=`Missing StoryVariables passage. Add a :: StoryVariables passage to declare your variables.`,t=document.getElementById(`root`);throw t&&ZC(t,[e]),Error(`spindle: ${e}`)}let i=qS(r.content);for(let t of kS(e.passages.values()))Sr(t);let a=$C(e,i);a.push(...ew(e,e=>e.name===`StoryInit`));let o={},s=e.passages.get(`StoryTransients`);if(s){let e=qS(s.content,`%`);for(let t of e.keys())i.has(t)&&a.push(`StoryTransients: Variable \"${t}\" is already declared in StoryVariables. Names must be unique across scopes.`);o=aC(e)}a.length>0&&QC(a),n=aC(i),iS(Object.keys(n),Object.keys(o)),Q.getState().init(e,n,o),ub(),sv(G_(e.ifid));let c=[...$C(e,i),...ew(e,e=>e.name!==`StoryInit`)];c.length>0&&QC(c);for(let[,t]of e.passages)if(t.tags.includes(`widget`)){let e=Zo(t.content);for(let n of e)if(n.type===`macro`&&n.name===`widget`&&n.rawArgs){let e=ES(n.rawArgs);try{sC(e,n.children)}catch(n){console.error(`spindle: widget \"${e.name}\" in passage \"${t.name}\" was not registered: ${el(n)}`)}}}let l=Q.getState().navigationId;Q.subscribe(e=>{e.navigationId!==l&&(l=e.navigationId,px())}),Qv();let u=e.passages.get(`StoryInterface`);u&&!u.content.includes(`{passage}`)&&console.warn(`spindle: StoryInterface passage does not contain {passage}. The current passage will not be displayed.`);let d=document.getElementById(`root`);if(!d)throw Error(`spindle: No <div id=\"root\"> element found.`);ge(q(Vb,{}),d);let f=Qx();f?f.then(()=>{document.dispatchEvent(new CustomEvent(`:storyready`))}):document.dispatchEvent(new CustomEvent(`:storyready`))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,tw):tw();</script>\n </head>\n <body>\n <div id=\"root\"></div>\n {{STORY_DATA}}\n </body>\n</html>\n"})