@webqit/oohtml 3.1.2 → 3.1.4

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.
package/dist/main.lite.js CHANGED
@@ -20,7 +20,7 @@ ${m}
20
20
  } );
21
21
  };`;globalThis.webqit.$qCompilerWorker=new Worker(`data:text/javascript;base64,${btoa(o)}`)}return new Promise(r=>{let i=new MessageChannel;webqit.$qCompilerWorker.postMessage({source:e,params:t},[i.port2]),i.port1.onmessage=o=>{let{compiledSource:s,...a}=o.data;Object.defineProperty(a,"toString",{value:()=>s}),r(a)}})}function Rt(n,t,e={},r={}){t=P(t).slice();for(var i=n;!z(i)&&!_t(i)&&t.length;){var o=t.shift();if(!(e.get?e.get(i,o):$(i)?o in i:i[o])){r.exists=!1;return}i=e.get?e.get(i,o):i[o]}return r.exists=!0,i}function _e(n,t,e,r={},i={}){let o=(u,f,m)=>i.set?i.set(u,f,m):(R(t[a])&&_(u)?u.push(m):u[f]=m,!0);t=P(t);for(var s=n,a=0;a<t.length;a++)if(a<t.length-1){if(!s||!$(s)&&!S(s))return!1;var l=Rt(s,t[a],i);if(!$(l)){if(i.buildTree===!1)return!1;l=S(i.buildTree)?i.buildTree(a):R(t[a+1])?[]:{};var c=o(s,t[a],l);if(!c)return!1}s=l}else return o(s,t[a],e)}var jt=class{constructor(t,e=!0){Object.defineProperty(this,"window",{value:t}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=e,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{for(let t of this.readCallbacks)t(),this.readCallbacks.delete(t);for(let t of this.writeCallbacks)t(),this.writeCallbacks.delete(t);this._run()})}onread(t,e=!1){if(e)return new Promise(r=>{this.async===!1?r(t()):this.readCallbacks.add(()=>{r(t())})});this.async===!1?t():this.readCallbacks.add(t)}onwrite(t,e=!1){if(e)return new Promise(r=>{this.async===!1?r(t()):this.writeCallbacks.add(()=>{r(t())})});this.async===!1?t():this.writeCallbacks.add(t)}cycle(t,e,r){this.onread(()=>{let i=t(r),o=s=>{s!==void 0&&this.onwrite(()=>{let a=e(s,r),l=c=>{c!==void 0&&this.cycle(t,e,c)};a instanceof Promise?a.then(l):l(a)})};i instanceof Promise?i.then(o):o(i)})}};function Ue(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function Kt(n,t,e,r=!0){e=(Array.isArray(e)?e:[e]).map(a=>(a+"").replace("(",r?"(.//":"(./")).join("|");let i=n.document.evaluate(e,t,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function Qe(n,t,e){return e=(Array.isArray(e)?e:[e]).map(r=>(r+"").replace("(","(self::")).join("|"),n.document.evaluate(`${e}`,t,null,XPathResult.BOOLEAN_TYPE).booleanValue}function Je(n,t="|"){return[...n].reduce(([e,r,i,o],s)=>!e&&r===0&&(Array.isArray(t)?t:[t]).includes(s)?[e,r,[""].concat(i)]:(!e&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&r++,!e&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&r--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(e=e===s?null:e||s),i[0]+=s,[e,r,i]),[null,0,[""]])[2].reverse()}var N=class{constructor(t){this.content=t,this.type=typeof t=="string"?"selector":"instance",this.kind=this.type==="instance"?null:Ue(t)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=Je(t.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var ft=class{constructor(t,e,r){this.context=t,this.namespace=e,this.window=t.defaultView||t.ownerDocument?.defaultView||r,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(t){if(S(t[0])?t=[[],...t]:A(t[0])&&!(t[0]instanceof N)&&t.length===1?t=[[],void 0,t[0]]:A(t[1])&&t.length===2?t=[P(t[0],!1),void 0,t[1]]:t[0]=P(t[0],!1),t[0].filter(e=>typeof e!="string"&&!(e instanceof N)&&!(e instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return t[0]=t[0].map(e=>e instanceof N?e:new N(e)),t}registry(...t){return K("realdom.realtime",this.window,this.namespace,...t)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(t,e,r){let{window:i}=this,o=Array.isArray(e)?e:[e],s=new Set;for(let[a,l]of this.registry(t))for(let[c,u]of l){let f=o.filter(m=>c.contains(m.target)?a==="subtree"||m.target===c:!1);if(!!f.length){Array.isArray(e)||(f=f[0]);for(let m of u)s.add([m,f,c])}}for(let[a,l,c]of s)r.call(i,a,l,c)}disconnectables(t,...e){let r={disconnect(){e.forEach(i=>i&&S(i.disconnect)&&i.disconnect()||S(i)&&i()||A(i)&&(i.disconnected=!0))}};return t&&t.addEventListener("abort",()=>r.disconnect()),r}};var tt=class extends ft{constructor(t,...e){super(t,"attr",...e)}get(t,e=void 0,r={}){let i=typeof t=="string"||t instanceof N;[t=[],e=void 0,r={}]=this.resolveArgs(arguments);let{context:o}=this,s=er(o,t);if(!e)return s;let a=r.lifecycleSignals&&this.createSignalGenerator();if(i)for(let l of s){let c=a?.generate()||{};e(l,c,o)}else{let l=a?.generate()||{};e(s,l,o)}if(r.live){a&&(r={...r,signalGenerator:a});let l=this.observe(i?t[0]:t,e,{newValue:!0,...r});return this.disconnectables(r.signal,l)}}observe(t,e,r={}){let i=typeof t=="string"||t instanceof N;if([t=[],e,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(i?t[0]:t,e,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:o,window:s,webqit:a}=this;r.eventDetails&&!a.realdom.attrInterceptionHooks?.intercepting&&Ze.call(s,"intercept",()=>{});let l=new s.MutationObserver(m=>{m=tr(m).map(d=>rr.call(s,d)),Ke.call(s,f,m,o)}),c={attributes:!0,attributeOldValue:r.oldValue,subtree:r.subtree};t.length&&(c.attributeFilter=t.map(m=>m+"")),l.observe(o,c);let u=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:o,spec:t,callback:e,params:r,atomics:new Map,originalFilterIsString:i,signalGenerator:u,disconnectable:l};return this.disconnectables(r.signal,l,u)}observeSync(t,e,r={}){let i=typeof t=="string"||t instanceof N;[t,e,r={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let a=r.timing==="intercept"?"intercept":"sync",l=r.subtree?"subtree":"children";this.registry(a).size||Ze.call(s,a,h=>{this.forEachMatchingContext(a,h,Ke)});let c={disconnect(){d.delete(f),d.size||m.delete(o)}},u=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:o,spec:t,callback:e,params:r,atomics:new Map,originalFilterIsString:i,signalGenerator:u,disconnectable:c},m=this.registry(a,l);m.has(o)||m.set(o,new Set);let d=m.get(o);return d.add(f),this.disconnectables(r.signal,c,u)}};function tr(n){return n.reduce((t,e,r)=>t[r-1]?.attributeName===e.attributeName?t:t.concat(e),[])}function Ke(n,t){let{context:e,spec:r,callback:i,params:o,atomics:s,originalFilterIsString:a,signalGenerator:l}=n,c=r.map(m=>m+"");if(o.atomic&&!s.size?t=er(e,r,t):o.timing!=="async"&&r.length&&(t=t.filter(m=>c.includes(m.name))),!t.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(t=t.map(m=>{let d;return o.eventDetails||({event:d,...m}=m),!o.oldValue&&"oldValue"in m&&({oldValue:d,...m}=m),!o.newValue&&"value"in m?{value:d,...m}=m:o.newValue&&typeof m.value>"u"&&(m={...m,value:m.target.getAttribute(m.name)}),m})),o.atomic&&(t.forEach(m=>s.set(m.name,m)),t=Array.from(s.entries()).map(([,m])=>m));let u=a?t[0]:t,f=l?.generate()||{};i(u,f,e)}function er(n,t,e=[]){let r={event:null,type:"attribute"};return t.length?t.map(o=>(o=o+"",e.find(s=>s.name===o)||{target:n,name:o,value:n.getAttribute(o),...r})):Array.from(n.attributes).map(o=>e.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:o.nodeValue,...r})}function rr({target:n,attributeName:t,value:e,oldValue:r}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[t]?.[0]||"mutation";return{target:n,name:t,value:e,oldValue:r,type:"observation",event:s}}function Ze(n,t){let e=this,{webqit:r,document:i,Element:o}=e;r.realdom.attrInterceptionHooks||Object.defineProperty(r.realdom,"attrInterceptionHooks",{value:new Map}),r.realdom.attrInterceptionHooks.has(n)||r.realdom.attrInterceptionHooks.set(n,new Set),r.realdom.attrInterceptionHooks.get(n).add(t);let s=()=>r.realdom.attrInterceptionHooks.get(n).delete(t);if(r.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),r.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"attrInterceptionRecords",{value:new Map});let a=(u,f)=>{r.realdom.attrInterceptionRecords.has(u.target)||r.realdom.attrInterceptionRecords.set(u.target,{});let m=r.realdom.attrInterceptionRecords.get(u.target);m[u.name]=m[u.name]||[],m[u.name].unshift(u.event),r.realdom.attrInterceptionHooks.get("intercept")?.forEach(h=>h([u]));let d=f();return r.realdom.attrInterceptionHooks.get("sync")?.forEach(h=>h([u])),d};new e.MutationObserver(u=>{u=u.filter(f=>!(e.webqit.realdom.attrInterceptionRecords?.get(f.target)||{})[f.attributeName]?.shift()),u=tr(u).map(f=>rr.call(e,f)),u.length&&(r.realdom.attrInterceptionHooks.get("intercept")?.forEach(f=>f(u)),r.realdom.attrInterceptionHooks.get("sync")?.forEach(f=>f(u)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(u=>{c[u]=o.prototype[u],o.prototype[u]=function(...f){let m,d=this.getAttribute(f[0]);["setAttribute","toggleAttribute"].includes(u)&&(m=f[1]),u==="toggleAttribute"&&m===void 0&&(m=d===null);let h={target:this,name:f[0],value:m,oldValue:d,type:"interception",event:[this,u]};return a(h,()=>c[u].call(this,...f))}}),s}var Nt=class extends ft{constructor(t,...e){super(t,"tree",...e)}attr(t,e=void 0,r={}){let{context:i,window:o}=this;return new tt(i,o).get(...arguments)}query(t,e=void 0,r={}){[t,e=void 0,r={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=c=>(o.has(c)||o.set(c,{target:c,entrants:[],exits:[],type:"query",event:null}),o.get(c));if(!r.generation||r.generation==="entrants"){if(!t.length)[...i.children].forEach(c=>s(i).entrants.push(c));else if(t.every(c=>c.type==="selector")){let[c,u]=t.reduce(([m,d],h)=>h.kind==="xpath"?[m,d.concat(h)]:[m.concat(h),d],[[],[]]),f=[];r.subtree?(c.length&&f.push(...i.querySelectorAll(c.join(","))),u.length&&f.push(...Kt(this.window,i,u))):(c.length&&f.push(...[...i.children].filter(m=>m.matches(c))),u.length&&f.push(...Kt(this.window,i,u,!1))),f.forEach(m=>s(m.parentNode||i).entrants.push(m))}}if(!e)return o;let a={disconnected:!1},l=e&&r.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(a.disconnected)break;let u=l?.generate()||{};e(c,u,i)}if(r.live){l&&(r={...r,signalGenerator:l});let c=this.observe(t,e,r);return this.disconnectables(r.signal,a,c)}return this.disconnectables(r.signal,a,l)}children(t,e=void 0,r={}){return[t,e=void 0,r={}]=this.resolveArgs(arguments),this.query(t,e,{...r,subtree:!1})}subtree(t,e=void 0,r={}){return[t,e=void 0,r={}]=this.resolveArgs(arguments),this.query(t,e,{...r,subtree:!0})}observe(t,e,r={}){if([t,e,r={}]=this.resolveArgs(arguments),["sync","intercept"].includes(r.timing))return this.observeSync(t,e,r);if(r.timing&&r.timing!=="async")throw new Error(`Timing option "${r.timing}" invalid.`);let{context:i,window:o,webqit:s,document:a}=this;r.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(a.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&or.call(o,"sync",()=>{});let l=new o.MutationObserver(f=>f.forEach(m=>{ve.call(o,u,ir.call(o,m),i)}));l.observe(i,{childList:!0,subtree:r.subtree});let c=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),u={context:i,spec:t,callback:e,params:r,signalGenerator:c,disconnectable:l};if(r.staticSensitivity){let f=nr.call(o,u);return this.disconnectables(r.signal,l,c,f)}return this.disconnectables(r.signal,l,c)}observeSync(t,e,r={}){[t,e,r={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(r.timing&&!["sync","intercept"].includes(r.timing))throw new Error(`Timing option "${r.timing}" invalid.`);let s=r.timing==="intercept"?"intercept":"sync",a=r.subtree?"subtree":"children";this.registry(s).size||or.call(o,s,h=>{this.forEachMatchingContext(s,h,ve)});let l=new o.MutationObserver(h=>h.forEach(p=>{Array.isArray((p=ir.call(o,p)).event)||ve.call(o,f,p,i)}));l.observe(i,{childList:!0,subtree:r.subtree});let c={disconnect(){l.disconnect(),d.delete(f),d.size||m.delete(i)}},u=r.signalGenerator||r.lifecycleSignals&&this.createSignalGenerator(),f={context:i,spec:t,callback:e,params:r,signalGenerator:u,disconnectable:c},m=this.registry(s,a);m.has(i)||m.set(i,new Set);let d=m.get(i);if(d.add(f),r.staticSensitivity){let h=nr.call(o,f);return this.disconnectables(r.signal,c,u,h)}return this.disconnectables(r.signal,c,u)}};function nr(n){let t=this,{context:e,spec:r,callback:i,params:o,signalGenerator:s}=n,a=r.filter(d=>d.kind==="css"),l=d=>d.match(/\.([\w-]+)/g)?.length?["class"]:[],c=d=>d.match(/#([\w-]+)/g)?.length?["id"]:[],u=d=>[...d.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(h=>h[1]).concat(l(d)).concat(c(d));if(!(n.$attrs=Array.from(new Set(a.filter(d=>(d+"").includes("[")).reduce((d,h)=>d.concat(u(h+"")),[])))).length)return;let f=new Set,m=new Set;return f.push=d=>(m.delete(d),f.add(d)),m.push=d=>(f.delete(d),m.add(d)),n.$deliveryCache={entrants:f,exits:m},new tt(e,t).observe(n.$attrs,d=>{let h=new Map,p=g=>(h.has(g)||h.set(g,{target:g,entrants:[],exits:[],type:"static",event:null}),h.get(g)),b=new WeakMap,y=g=>(b.has(g)||b.set(g,a.some(w=>g.matches(w+""))),b.get(g));for(let g of d)["entrants","exits"].forEach(w=>{o.generation&&w!==o.generation||n.$deliveryCache[w].has(g.target)||(w==="entrants"?!y(g.target):y(g.target))||(n.$deliveryCache[w].push(g.target),p(g.target)[w].push(g.target),p(g.target).event=g.event)});for(let[,g]of h){let w=s?.generate()||{};i(g,w,e)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function ve(n,t){let{context:e,spec:r,callback:i,params:o,signalGenerator:s,$deliveryCache:a}=n,l={...t,entrants:[],exits:[]};if(o.eventDetails||delete l.event,["entrants","exits"].forEach(u=>{if(!(o.generation&&u!==o.generation)&&(r.length?l[u]=Wr.call(this,r,t[u],t.event!=="parse"):l[u]=[...t[u]],!!a))for(let f of l[u])a[u].push(f)}),!l.entrants.length&&!l.exits.length)return;let c=s?.generate()||{};i(l,c,e)}function Wr(n,t,e){t=Array.isArray(t)?t:[...t];let r=(i,o)=>{if(o.type==="selector"){let s=o.isXpathAttr?[]:i.filter(a=>o.kind==="xpath"?Qe(this,a,o+""):a.matches&&a.matches(o+""));if((e||o.isXpathAttr)&&(s=i.reduce((a,l)=>o.kind==="xpath"?[...a,...Kt(this,l,o,e)]:l.querySelectorAll?[...a,...l.querySelectorAll(o+"")]:a,s)),s.length)return s}else if(i.includes(o.content)||e&&i.some(s=>s.contains(o.content)))return[o.content]};return t.$$searchCache||(t.$$searchCache=new Map),n.reduce((i,o)=>{let s;return t.$$searchCache.has(o.content)?s=t.$$searchCache.get(o.content):(s=r(t,o)||[],o.type==="instance"&&t.$$searchCache.set(o.content,s)),i.concat(s)},[])}function ir({target:n,addedNodes:t,removedNodes:e}){let r=this,i;return i=P(t).reduce((o,s)=>o||r.webqit.realdom.domInterceptionRecords?.get(s),null),i=P(e).reduce((o,s)=>o||r.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||r.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:t,exits:e,type:"observation",event:i}}function or(n,t){let e=this,{webqit:r,document:i,Node:o,CharacterData:s,Element:a,HTMLElement:l,HTMLTemplateElement:c,DocumentFragment:u}=e;r.realdom.domInterceptionHooks||Object.defineProperty(r.realdom,"domInterceptionHooks",{value:new Map}),r.realdom.domInterceptionHooks.has(n)||r.realdom.domInterceptionHooks.set(n,new Set),r.realdom.domInterceptionHooks.get(n).add(t);let f=()=>r.realdom.domInterceptionHooks.get(n).delete(t);if(r.realdom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),r.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(r.realdom,"domInterceptionRecords",{value:new Map});let m=(p,b)=>{p.entrants.concat(p.exits).forEach(g=>{clearTimeout(r.realdom.domInterceptionRecords.get(g)?.timeout),r.realdom.domInterceptionRecords.set(g,p.event);let w=setTimeout(()=>{r.realdom.domInterceptionRecords.delete(g)},0);Object.defineProperty(p.event,"timeout",{value:w,configurable:!0})}),r.realdom.domInterceptionHooks.get("intercept")?.forEach(g=>g(p));let y=b();return r.realdom.domInterceptionHooks.get("sync")?.forEach(g=>g(p)),y},d={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(p=>{function b(...y){let g=this instanceof s?d.characterData:d.other,w=()=>g[p].call(this,...y);if(!(this instanceof s||this instanceof a||this instanceof u))return w();let E=[],v=[],et=this;["insertBefore"].includes(p)?v=[y[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(p)?(v=[y[1]],["beforebegin","afterend"].includes(y[0])&&(et=this.parentNode)):["setHTML","replaceChildren"].includes(p)?(E=[...this.childNodes],v=p==="replaceChildren"?[...y]:[y[0]]):["replaceWith","remove"].includes(p)?(E=[this],v=p==="replaceWith"?[...y]:[],et=this.parentNode):["replaceChild"].includes(p)?(E=[y[1]],v=[y[0]]):["removeChild"].includes(p)?E=[...y]:(v=[...y],["before","after"].includes(p)&&(et=this.parentNode));let rt=p;if(["insertAdjacentHTML","setHTML"].includes(p)){let je=this.nodeName;if(p==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(y[0])){if(!this.parentNode)return g[p].call(this,...y);je=this.parentNode.nodeName}let Dt=i.createElement(je);g.setHTML.call(Dt,v[0],p==="setHTML"?y[1]:{}),v=[...Dt.childNodes],p==="insertAdjacentHTML"?(rt="insertAdjacentElement",y[1]=new u,y[1].______isTemp=!0,y[1].append(...Dt.childNodes)):(rt="replaceChildren",y=[...Dt.childNodes])}return m({target:et,entrants:v,exits:E,type:"interception",event:[this,p]},()=>g[rt].call(this,...y))}["insertBefore","replaceChild","removeChild","appendChild"].includes(p)?(d.other[p]=o.prototype[p],o.prototype[p]=b):(["after","before","remove","replaceWith"].includes(p)&&(d.characterData[p]=s.prototype[p],s.prototype[p]=b),a.prototype[p]&&(d.other[p]=a.prototype[p],a.prototype[p]=b))});let h=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(p=>{let b=["textContent","nodeValue"].includes(p)?o:["outerText","innerText"].includes(p)?l:a;h[p]=Object.getOwnPropertyDescriptor(b.prototype,p),Object.defineProperty(b.prototype,p,{...h[p],set:function(y){let g=()=>h[p].set.call(this,y);if(!(this instanceof a))return g();let w=[],E=[],v=this;if(["outerHTML","outerText"].includes(p)?(w=[this],v=this.parentNode):w=[...this.childNodes],["outerHTML","innerHTML"].includes(p)){let rt=this.nodeName;if(p==="outerHTML"){if(!this.parentNode)return g();rt=this.parentNode.nodeName}let dt=i.createElement(rt==="TEMPLATE"?"div":rt);h[p].set.call(dt,y),E=this instanceof c?[]:[...dt.childNodes],p==="outerHTML"?(y=new u,y.______isTemp=!0,y.append(...dt.childNodes),g=()=>a.prototype.replaceWith.call(this,y)):this instanceof c?g=()=>this.content.replaceChildren(...dt.childNodes):g=()=>a.prototype.replaceChildren.call(this,...dt.childNodes)}return m({target:v,entrants:E,exits:w,type:"interception",event:[this,p]},g)}})}),["append","prepend","replaceChildren"].forEach(p=>{[i,u.prototype].forEach(b=>{let y=b[p];b[p]=function(...g){if(this.______isTemp)return y.call(this,...g);let w=p==="replaceChildren"?[...this.childNodes]:[];return m({target:this,entrants:g,exits:w,type:"interception",event:[this,p]},()=>y.call(this,...g))}})}),f}function sr(){zr.call(this),Br.call(this),Gr.call(this)}function zr(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=t=>t.replace(/([\:@\~\$\&])/g,"\\$1"))}function Br(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Gr(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),r=e.length;--r>=0&&e.item(r)!==this;);return r>-1})}function ar(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},sr.call(n),n.webqit.realdom.meta=(...e)=>Xr.call(n,...e),n.webqit.realdom.ready=(...e)=>Oe.call(n,...e),n.webqit.realdom.realtime=(e,r="dom")=>{if(r==="dom")return new Nt(e,n);if(r==="attr")return new tt(e,n)};let t=new jt(n);return n.webqit.realdom.schedule=(e,...r)=>t[`on${e}`](...r),n.webqit.realdom}function Oe(...n){let t="interactive",e;yt(n[0])?(t=n[0],S(n[1])&&(e=n[1])):S(n[0])&&(e=n[0]);let r={interactive:["interactive","complete"],complete:["complete"]};if(!r[t])throw new Error(`Invalid ready-state timing: ${t}.`);let i=this;if(!e)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>Oe.call(this,"interactive",o)),complete:new Promise(o=>Oe.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[t];if(r[t].includes(i.document.readyState))return e(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[t].push(e)}function Xr(n){let t=this,e={},r;return(r=t.document.querySelector(`meta[name="${n}"]`))&&(e=(r.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(a=>a.trim());return _e(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:R(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return r.content},json(){return JSON.parse(JSON.stringify(e))}}}var x=(...n)=>K("oohtml",...n),C={};function q(n,t,e){let r=this,i=ar.call(r);r.webqit||(r.webqit={}),r.webqit.oohtml||(r.webqit.oohtml={}),r.webqit.oohtml.configs||(r.webqit.oohtml.configs={});let o=n.toUpperCase().replace("-","_");return r.webqit.oohtml.configs[o]||(r.webqit.oohtml.configs[o]={}),C.window=r,Ot(2,r.webqit.oohtml.configs[o],e,t,i.meta(n).json()),{config:r.webqit.oohtml.configs[o],realdom:i,window:r}}function Ee(n={}){let{config:t,window:e}=q.call(this,"namespaced-html",n,{id:{attr:"id"},namespace:{attr:"namespace",api:"namespace"},target:{attr:":target",event:":target",scrolling:!0},staticsensitivity:!0,eagermode:!0});t.idSelector=`[${e.CSS.escape(t.id.attr)}]`,t.namespaceSelector=`[${e.CSS.escape(t.namespace.attr)}]`,Ur.call(e,t),Qr.call(e,t)}function Lt(n,t){let e=this,{webqit:{Observer:r}}=e;if(!x(n).has("namespace")){let i=Object.create(null);r.intercept(i,"get",(o,s,a)=>{if(r.has(i,o.key)||!t.eagermode)return a();let l=`[${e.CSS.escape(t.id.attr)}="${o.key}"]`,c=Array.from(n.querySelectorAll(l)).filter(u=>{let f=u.parentNode.closest(t.namespaceSelector);return n===e.document?!f:f===n})[0];return c&&r.set(i,o.key,c),a()}),x(n).set("namespace",i)}return x(n).get("namespace")}function Ur(n){let t=this,{webqit:{Observer:e}}=t;if(n.namespace.api in t.document)throw new Error(`document already has a "${n.namespace.api}" property!`);if(n.namespace.api in t.Element.prototype)throw new Error(`The "Element" class already has a "${n.namespace.api}" property!`);Object.defineProperty(t.document,n.namespace.api,{get:function(){return e.proxy(Lt.call(t,t.document,n))}}),Object.defineProperty(t.Element.prototype,n.namespace.api,{get:function(){return e.proxy(Lt.call(t,this,n))}})}function Qr(n){let t=this,{webqit:{Observer:e,realdom:r}}=t,i=(a,l,c)=>{let u=l.getAttribute(n.id.attr),f=a.closest(n.namespaceSelector)||x(l).get("ownerNamespace")||t.document,m=Lt.call(t,f,n);c?e.get(m,u)!==l&&(x(l).set("ownerNamespace",f),e.set(m,u,l)):e.get(m,u)===l&&(x(l).delete("ownerNamespace"),e.deleteProperty(m,u))};r.realtime(t.document).subtree(n.idSelector,a=>{a.entrants.forEach(l=>i(a.target,l,!0)),a.exits.forEach(l=>i(a.target,l,!1))},{live:!0,timing:"sync",staticSensitivity:n.staticsensitivity}),n.staticsensitivity&&r.realtime(t.document,"attr").observe(n.namespace.attr,a=>{let l=a.target.parentNode?.closest(n.namespaceSelector)||x(a.target).get("ownerNamespace")||t.document,c=Lt.call(t,l,n),u=Lt.call(t,a.target,n);if(a.target.matches(n.namespaceSelector))for(let[f,m]of Object.entries(c))!a.target.contains(m.parentNode)||(e.deleteProperty(c,f),e.set(u,f,m));else for(let[f,m]of Object.entries(u))e.deleteProperty(u,f),e.set(c,f,m)},{subtree:!0,timing:"sync"});let o,s=()=>{let a=t.location.hash?.substring(1).split("/").map(c=>c.trim()).filter(c=>c)||[],l=a.reduce((c,u)=>c&&c[n.namespace.api][u],t.document);o&&n.target.attr&&o.toggleAttribute(n.target.attr,!1),l&&l!==t.document&&(n.target.attr&&l.toggleAttribute(n.target.attr,!0),n.target.event&&l.dispatchEvent(new t.CustomEvent(n.target.event)),n.target.scrolling&&a.length>1&&l.scrollIntoView(),o=l)};t.addEventListener("hashchange",s),r.ready(s)}function Ae({advanced:n={},...t}){let{config:e,window:r}=q.call(this,"scoped-css",t,{style:{retention:"retain",mimeType:"",strategy:null}});e.styleSelector=(Array.isArray(e.style.mimeType)?e.style.mimeType:[e.style.mimeType]).reduce((i,o)=>{let s=o?`[type=${r.CSS.escape(o)}]`:"";return i.concat(`style${s}[scoped]`)},[]).join(","),Jr.call(r,e)}function Jr(n){let t=this,{webqit:{realdom:e}}=t;t.HTMLScriptElement.supports||(t.HTMLScriptElement.supports=()=>!1);let r=()=>{};e.realtime(t.document).subtree(n.styleSelector,i=>{i.entrants.forEach(o=>{if("scoped"in o)return r(o);if(n.style.strategy==="@scope"){if(Object.defineProperty(o,"scoped",{value:o.hasAttribute("scoped")}),o.hasAttribute("ref"))return;let s=`scoped${Yr()}`;o.setAttribute("ref",s),o.textContent=`@scope from (:has(> style[ref="${s}"])) {
22
22
  ${o.textContent}
23
- }`}})},{live:!0,timing:"intercept",generation:"entrants"})}var Yr=()=>(0|Math.random()*9e6).toString(36);var X=class{static toHash(t){let e;return(e=this.hashTable.get(t))||(e=this.uniqId(),this.hashTable.set(t,e)),e}static fromHash(t){let e;return this.hashTable.forEach((r,i)=>{r===t&&(e=i)}),e}};I(X,"hashTable",new Map),I(X,"uniqId",()=>(0|Math.random()*9e6).toString(36));function Se({advanced:n={},...t}){let{config:e,window:r}=q.call(this,"scoped-js",t,{script:{retention:"retain",mimeType:""},advanced:Qt(n)});e.scriptSelector=(Array.isArray(e.script.mimeType)?e.script.mimeType:[e.script.mimeType]).reduce((i,o)=>{let s=o?`[type=${r.CSS.escape(o)}]`:"";return i.concat(`script${s}[scoped],script${s}[quantum]`)},[]).join(","),r.webqit.oohtml.Script={compileCache:[new Map,new Map],execute:Kr.bind(r,e)},Zr.call(r,e)}async function Kr(n,t){let e=this,{realdom:r}=e.webqit,i=X.fromHash(t);if(!i)throw new Error("Argument must be a valid exec hash.");let{script:o,compiledScript:s,thisContext:a}=i;n.script.retention==="dispose"?o.remove():n.script.retention==="dispose"?o.textContent='"source hidden"':o.textContent=await s.toString();let l=(await s.bind(a)).execute();o.quantum&&Object.defineProperty(o,"state",{value:l}),r.realtime(e.document).observe(o,()=>{o.quantum&&l.dispose(),o.scoped&&a.scripts.splice(a.scripts.indexOf(o,1))},{subtree:!0,timing:"sync",generation:"exits"})}function Zr(n){let t=this,{webqit:{oohtml:e,realdom:r,QuantumScript:i,QuantumAsyncScript:o,QuantumModule:s}}=t;t.HTMLScriptElement.supports||(t.HTMLScriptElement.supports=()=>!1);let a=["module"].concat(n.script.mimeType||[]);r.realtime(t.document).subtree(n.scriptSelector,l=>{l.entrants.forEach(c=>{if(c.cloned)return;if("quantum"in c||(Object.defineProperty(c,"quantum",{value:c.hasAttribute("quantum")}),"scoped"in c))return handled(c);Object.defineProperty(c,"scoped",{value:c.hasAttribute("scoped")});let u=(c._=c.textContent.trim())&&c._.startsWith("/*@oohtml*/if(false){")&&c._.endsWith("}/*@oohtml*/")?c._.slice(21,-12):c.textContent,f=X.toHash(u),m=e.Script.compileCache[c.quantum?0:1],d;if(!(d=m.get(f))){let{parserParams:y,compilerParams:g,runtimeParams:w}=n.advanced;d=new(c.type==="module"?s:i||o)(u,{exportNamespace:`#${c.id}`,fileName:t.document.url,parserParams:y,compilerParams:{...g,startStatic:!c.quantum},runtimeParams:w}),m.set(f,d)}let h=c.scoped?c.parentNode||l.target:c.type==="module"?void 0:t;c.scoped&&(h.scripts||Object.defineProperty(h,"scripts",{value:[]}),h.scripts.push(c));let p=X.toHash({script:c,compiledScript:d,thisContext:h});l.type==="query"||a.includes(c.type)&&!t.HTMLScriptElement.supports(c.type)?e.Script.execute(p):c.textContent=`webqit.oohtml.Script.execute( '${p}' );`})},{live:!0,timing:"intercept",generation:"entrants",eventDetails:!0})}function Zt(){let{window:n}=C,{webqit:t}=n;if(t.DOMContextRequestEvent)return t.DOMContextRequestEvent;class e extends n.Event{constructor(...i){let o=i.pop();if(typeof o!="function")throw new Error("Callback must be provided.");let s=i.pop();if(!s?.kind)throw new Error('"options.kind" must be specified.');let a=["contextrequest","contextclaim"],l=i.pop()||a[0];if(!a.includes(l))throw new Error(`Invalid event type. Must be one of: ${a.join(",")}`);let{kind:c,detail:u,targetContext:f,live:m,signal:d,diff:h,...p}=s;super(l,{...p,bubbles:p.bubbles!==!1}),Object.defineProperty(this,"callback",{get:()=>o}),Object.defineProperty(this,"kind",{get:()=>c}),Object.defineProperty(this,"targetContext",{get:()=>f}),Object.defineProperty(this,"detail",{get:()=>u}),Object.defineProperty(this,"live",{get:()=>m}),Object.defineProperty(this,"signal",{get:()=>d}),Object.defineProperty(this,"diff",{get:()=>h}),Object.defineProperty(this,"options",{get:()=>p})}respondWith(i){if(this.diff){if("_prevValue"in this&&this._prevValue===i)return;Object.defineProperty(this,"_prevValue",{value:i,configurable:!0})}return this.callback(i)}}return t.DOMContextRequestEvent=e,e}var mt=class extends AbortController{constructor(t){super(),t(e=>{let{window:{webqit:{Observer:r}}}=C;r.defineProperty(this,"value",{value:e,configurable:!0,enumerable:!0})},this)}};var $e=class{static createRequest(){return{kind:this.kind}}constructor(t=null){Object.defineProperty(this,"detail",{get:()=>t}),Object.defineProperty(this,"subscriptions",{value:new Set})}get configs(){let{window:{webqit:{oohtml:{configs:t}}}}=C;return t}get name(){return this.host===C.window.document?1/0:this.host.getAttribute(this.configs.CONTEXT_API.attr.contextname)}subscribed(t){}handle(t){}unsubscribed(t){}matchEvent(t){return t.kind===this.constructor.kind&&(!t.targetContext||t.targetContext===this.name)}handleEvent(t){if(!(this.disposed||typeof t.respondWith!="function")){if(t.type==="contextclaim"){if(t.target===this.host||!(t.detail instanceof $e))return;let e=new Set;return this.subscriptions.forEach(r=>{!t.target.contains(r.target)||!t.detail.matchEvent(r)||(t.stopPropagation(),this.subscriptions.delete(r),e.add(r))}),t.respondWith(e)}if(t.type==="contextrequest")return this.matchEvent(t)?(t.live&&(this.subscriptions.add(t),this.subscribed(t),t.signal?.addEventListener("abort",()=>{this.subscriptions.delete(t),this.unsubscribed(t)})),t.stopPropagation(),this.handle(t)):void 0}}initialize(t){this.host=t,this.disposed=!1,t.addEventListener("contextrequest",this),t.addEventListener("contextclaim",this);let{value:e}=U.instance(t).request("contextclaim",{kind:this.constructor.kind,detail:this});return e.forEach(r=>{this.subscriptions.add(r),this.subscribed(r),this.handle(r)}),this}dispose(t){return this.disposed=!0,t.removeEventListener("contextrequest",this),t.removeEventListener("contextclaim",this),this.subscriptions.forEach(e=>{this.subscriptions.delete(e),this.unsubscribed(e);let{target:r}=e;r.dispatchEvent(e)}),this}},L=$e;I(L,"kind");var pt=class extends Error{};var U=class{static instance(t){return x(t).get("contexts::instance")||new this(t)}constructor(t){x(t).get("contexts::instance")?.dispose(),x(t).set("contexts::instance",this);let e={host:t,contexts:new Set};Object.defineProperty(this,"#",{get:()=>e})}get[Symbol.iterator](){return this["#"].contexts[Symbol.iterator]}get length(){return this["#"].contexts.size}find(...t){return[...this["#"].contexts].find(e=>typeof t[0]=="function"?t[0](e):e.constructor.kind===t[0]&&(t.length===1||e.detail===t[1]))}attach(t){if(!(t instanceof L))throw new TypeError("Context is not a valid DOMContext instance.");if(this.find(t.constructor.kind,t.detail))throw new pt(`Context of same kind "${t.constructor.kind}"${t.detail?` and detail "${t.detail}"`:""} already exists.`);this["#"].contexts.add(t),t.initialize(this["#"].host)}detach(t){t.dispose(this["#"].host),this["#"].contexts.delete(t)}request(...t){return new mt((e,r)=>{typeof t[t.length-1]!="function"&&(t[t.length-1]?t.push(e):t[t.length-1]=e);let i;(i=t.find(s=>typeof s=="object"&&s))&&i.live&&(i.signal&&i.signal.addEventListener("abort",()=>r.abort()),t[t.indexOf(i)]={...i,signal:r.signal});let o=new(Zt())(...t);this["#"].host.dispatchEvent(o)})}};function Te(n={}){let{config:t,window:e}=q.call(this,"context-api",n,{attr:{contextname:"contextname"},api:{contexts:"contexts"}});e.webqit.DOMContexts=U,e.webqit.DOMContext=L,e.webqit.DOMContextRequestEvent=Zt(),e.webqit.DOMContextResponse=mt,e.webqit.DuplicateContextError=pt,tn.call(e,t)}function tn(n){let t=this;if(n.api.contexts in t.document)throw new Error(`document already has a "${n.api.contexts}" property!`);if(n.api.contexts in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${n.api.contexts}" property!`);Object.defineProperty(t.document,n.api.contexts,{get:function(){return U.instance(t.document)}}),Object.defineProperty(t.HTMLElement.prototype,n.api.contexts,{get:function(){return U.instance(this)}});let e=new Set;t.addEventListener("contextrequest",r=>{typeof r.respondWith=="function"&&(e.add(r),r.respondWith())}),t.addEventListener("contextclaim",r=>{if(typeof r.detail!="object"||typeof r.detail.matchEvent!="function"||typeof r.respondWith!="function")return;let i=new Set;e.forEach(o=>{!r.detail.matchEvent(o)||(e.delete(o),i.add(o))}),r.respondWith(i)})}var Q=class extends L{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("@")){let[r,...i]=i.slice(1).split(".").map(o=>o.trim());e.targetContext=r,e.detail=i.join(".")}else e.detail=t;return e}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t._controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:e}}}=C;t._controller=e.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],e.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}};I(Q,"kind","bindings");function Ce(n={}){let{config:t,window:e}=q.call(this,"bindings-api",n,{context:{attr:{bindingsreflection:"bindings"}},api:{bind:"bind",bindings:"bindings"}});e.webqit.DOMBindingsContext=Q,en.call(e,t)}function Pe(n,t){let e=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:i}}}}=e;if(!x(t).has("bindings")){let o=Object.create(null);x(t).set("bindings",o),r.observe(o,s=>{let a=Object.keys(o),l=t===e.document?e.document.documentElement:t,c=n.context.attr.bindingsreflection;a.length&&c?l.setAttribute(n.context.attr.bindingsreflection,a.join(" ")):c&&l.toggleAttribute(n.context.attr.bindingsreflection,!1);let u=t[i.api.contexts];for(let f of s)if(f.type==="delete"){let m=u.find(Q.kind,f.key);m&&u.detach(m)}else u.find(Q.kind,f.key)||u.attach(new Q(f.key))})}return x(t).get("bindings")}function cr(n,t,e,{merge:r,diff:i,namespace:o}={}){let s=this,{webqit:{Observer:a}}=s,l=Pe.call(this,n,t),c={diff:i,namespace:o},u=r?[]:a.ownKeys(l,c).filter(f=>!(f in e));return a.batch(l,()=>(u.length&&a.deleteProperties(l,u,c),a.set(l,e,c)),c)}function en(n){let t=this,{webqit:{Observer:e}}=t;if(n.api.bind in t.document)throw new Error(`document already has a "${n.api.bind}" property!`);if(n.api.bindings in t.document)throw new Error(`document already has a "${n.api.bindings}" property!`);if(n.api.bind in t.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bind}" property!`);if(n.api.bindings in t.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bindings}" property!`);Object.defineProperty(t.document,n.api.bind,{value:function(r,i={}){return cr.call(t,n,t.document,r,i)}}),Object.defineProperty(t.document,n.api.bindings,{get:function(){return e.proxy(Pe.call(t,n,t.document))}}),Object.defineProperty(t.Element.prototype,n.api.bind,{value:function(r,i={}){return cr.call(t,n,this,r,i)}}),Object.defineProperty(t.Element.prototype,n.api.bindings,{get:function(){return e.proxy(Pe.call(t,n,this))}})}var W=class{static instance(t){return x(t).get("exportsmanager::instance")||new this(t)}constructor(t,e=null,r=0){let{window:i}=C,{webqit:{realdom:o,oohtml:{configs:s}}}=i;x(t).get("exportsmanager::instance")?.dispose(),x(t).set("exportsmanager::instance",this),this.host=t,this.config=s.HTML_IMPORTS,this.parent=e,this.level=r,this.exports=J(this.host),this.defId=(this.host.getAttribute(this.config.template?.attr.moduledef)||"").trim(),this.validateDefId(this.defId),this.realtimeA=o.realtime(this.host.content).children(a=>{this.export(a.entrants,!0),this.export(a.exits,!1)},{live:!0,timing:"sync"}),this.realtimeB=o.realtime(this.host).attr(["src","loading"],(...a)=>this.evaluateLoading(...a),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(e=>t.includes(e)))throw new Error(`The export ID "${t}" contains an invalid character.`)}export(t,e){let{window:r}=C,{webqit:{Observer:i}}=r,o,s=this.exports["#"]||[];i.batch(this.exports,()=>{t.forEach(a=>{if(a.nodeType!==1)return;let l=a.matches(this.config.templateSelector),c=(a.getAttribute(l?this.config.template.attr.moduledef:this.config.template.attr.fragmentdef)||"").trim();e?(l&&c?new W(a,this.host,this.level+1):(s.push(a),o=!0),c&&(this.validateDefId(c),i.set(this.exports,(!l&&"#"||"")+c,a))):(l&&c?W.instance(a).dispose():(s=s.filter(u=>u!==a),o=!0),c&&i.deleteProperty(this.exports,(!l&&"#"||"")+c))}),o&&i.set(this.exports,"#",s)})}evaluateLoading([t,e],{signal:r}){let{window:{webqit:{Observer:i}}}=C,o=(t.value||"").trim();if(!o)return;let s,a=u=>{if(!u)return s;s=u.then(()=>c.remove())},l=(e.value||"").trim(),c=i.intercept(this.exports,"get",async(u,f,m)=>(l==="lazy"&&a(this.load(o,!0)),await a(),m()),{signal:r});l!=="lazy"&&a(this.load(o))}load(t){let{window:e}=C;if(this.host.content.children.length)return Promise.resolve();if(this.fetchInFlight?.src===t)return this.fetchInFlight.request;this.fetchInFlight?.controller.abort();let r=new AbortController,i=(s,a)=>this.host.dispatchEvent(new e.CustomEvent(s,{detail:a})),o=e.fetch(t,{signal:r.signal,element:this.host}).then(s=>s.ok?s.text():Promise.reject(s.statusText)).then(s=>(this.host.innerHTML=s.trim(),i("load"),this.host)).catch(s=>(console.error(`Error fetching the bundle at "${t}": ${s.message}`),this.fetchInFlight=null,i("loaderror"),this.host));return this.fetchInFlight={src:t,request:o,controller:r},o}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=C,e=(this.host.getAttribute(this.config.template.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.template.attr.inherits)||"").trim(),i=a=>{a.forEach(l=>{t.get(this.exports,l.key)===l.oldValue&&(["get","set","def"].includes(l.type)?t[l.type.replace("get","set")](this.exports,l.key,l.value):l.type==="delete"&&t.deleteProperty(this.exports,l.key))})},o=[],s=J(this.parent);return e&&o.push(t.reduce(s,[e,this.config.template.api.exports,1/0],t.get,i,{live:!0})),(r=r.split(" ").map(a=>a.trim()).filter(a=>a)).length&&o.push(t.get(s,r,i,{live:!0})),o}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(e=>e.abort()):t.abort()),Object.entries(this.exports).forEach(([t,e])=>{t.startsWith("#")||W.instance(e).dispose()})}};var Y=class extends L{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("/"))e.detail=t,e.targetContext=1/0;else if(t?.startsWith("@")){let[r,...i]=i.slice(1).split(/(?<=\w)(?=\/|#)/).map(o=>o.trim());e.targetContext=r,e.detail=i.join("")}else e.detail=t;return e}get localModules(){return J(this.host)}handle(t){let{window:{webqit:{Observer:e}}}=C;if(t._controller?.abort(),(t.detail||"").trim()==="/")return t.respondWith(this.localModules);let r=this.configs.HTML_IMPORTS,i=(t.detail||"").split(/\/|(?<=\w)(?=#)/g).map(s=>s.trim()).filter(s=>s);if(i.length&&(i=i.join(`/${r.template.api.exports}/`)?.split("/")||[]),!i.length)return t.respondWith();let o={live:t.live,signal:t.signal,descripted:!0};t._controller=e.reduce(this.localModules,i,e.get,(s,{signal:a}={})=>{let l=Array.isArray(s)?s:s.value,c=Array.isArray(s)?s.length:s.value;if(!(!c&&this.host.isConnected===!1))return c||!this.contextModules?(t._isValidLocalResult=c,t.respondWith(l)):e.reduce(this.contextModules,i,e.get,u=>(t._currentSource="context",t.respondWith(Array.isArray(u)?u:u.value)),{...o,signal:a})},{lifecycleSignals:!0,...o})}realtimeSources(t){this.host=t;let e=()=>{for(let o of this.subscriptions)o._isValidLocalResult||this.handle(o)},r=this.configs.HTML_IMPORTS;if(!this.host.matches||!r.context.attr.importscontext)return;this.refdSourceController?.disconnect();let i=this.host.ownerDocument.defaultView.webqit.realdom;this.refdSourceController=i.realtime(this.host).attr(r.context.attr.importscontext,(o,{signal:s})=>{if(!o.value)return this.contextModules=void 0,e();let a={...this.constructor.createRequest(o.value.trim()),live:!0,signal:s};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(a,l=>{this.contextModules=l&&Object.getPrototypeOf(l)?J(l):l,e()})},{live:!0,timing:"sync",lifecycleSignals:!0})}initialize(t){return this.realtimeSources(t),super.initialize(t)}dispose(t){return this.refdSourceController?.disconnect(),super.dispose(t)}};I(Y,"kind","html-imports");function lr(){let{window:n}=C,{webqit:t}=n,{Observer:e,realdom:r,oohtml:{configs:i}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let o=i.HTML_IMPORTS.import.tagName.includes("-")?n.HTMLElement:class{};class s extends o{static instance(l){return i.HTML_IMPORTS.import.tagName.includes("-")&&l instanceof this?l:x(l).get("import::instance")||new this(l)}constructor(...l){super();let c=l[0]||this;x(c).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>c,configurable:!1});let u={};Object.defineProperty(this,"#",{get:()=>u,configurable:!1}),u.slottedElements=new Set,u.setAnchorNode=f=>(u.anchorNode=f,f),u.importRequest=(f,m=null)=>{let d={...Y.createRequest(u.moduleRef?.includes("#")?u.moduleRef:`${u.moduleRef}#`),live:m&&!0,signal:m};(this.el.isConnected?this.el.parentNode:u.anchorNode.parentNode)[i.CONTEXT_API.api.contexts].request(d,h=>{f((h instanceof n.HTMLTemplateElement?[...h.content.children]:Array.isArray(h)?h:h&&[h])||[])})},u.hydrate=(f,m)=>{u.moduleRef=(this.el.getAttribute(i.HTML_IMPORTS.import.attr.moduleref)||"").trim(),f.replaceWith(u.setAnchorNode(this.createAnchorNode())),u.autoRestore(()=>{m.forEach(d=>{u.slottedElements.add(d),x(d).set("slot@imports",this.el)})}),u.hydrationImportRequest=new AbortController,u.importRequest(d=>{if(u.originalsRemapped)return this.fill(d);let h=d.map((b,y)=>({el:b,fragmentDef:b.getAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||"",tagName:b.tagName,i:y})),p=-1;m.forEach(b=>{let y=b.tagName,g=b.getAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||"",w=(p++,h.find(E=>E.tagName===y&&E.fragmentDef===g&&E.i===p));!w||x(b).set("original@imports",w.el)}),u.originalsRemapped=!0},u.hydrationImportRequest.signal)},u.autoRestore=(f=null)=>{u.autoRestoreRealtime?.disconnect(),f&&f();let m=()=>{u.anchorNode?.replaceWith(this.el),u.anchorNode=null,this.el.setAttribute("data-nodecount",0)};if(!u.slottedElements.size)return m();let d=r.realtime(n.document).observe([...u.slottedElements],h=>{if(h.exits.forEach(p=>{x(p).delete("slot@imports"),u.slottedElements.delete(p)}),!u.slottedElements.size){if(d.disconnect(),!h.target.isConnected)return;m()}},{subtree:!0,timing:"sync",generation:"exits"});u.autoRestoreRealtime=d},u.connectedCallback=()=>{if(u.slottedElements.size)throw new Error("Illegal reinsertion into the DOM; import slot is not empty!");u.moduleRefRealtime||(u.moduleRefRealtime=r.realtime(this.el).attr(i.HTML_IMPORTS.import.attr.moduleref,(f,{signal:m})=>{u.moduleRef=f.value,u.importRequest(d=>!u.hydrationImportRequest&&this.fill(d),m)},{live:!0,timing:"sync",lifecycleSignals:!0}),u.hydrationImportRequest?.abort(),u.hydrationImportRequest=null)},u.disconnectedCallback=()=>{u.hydrationImportRequest?.abort(),u.hydrationImportRequest=null,!u.anchorNode.isConnected&&(u.moduleRefRealtime?.disconnect(),u.moduleRefRealtime=null)}}createAnchorNode(){if(n.webqit.env!=="server")return n.document.createTextNode("");let l=n.document.createElement("div");l.textContent=this.el.outerHTML;let c=n.document.createComment(l.innerHTML);return x(c).set("isAnchorNode",!0),c}fill(l){Array.isArray(l)&&(l=new Set(l)),this.el.setAttribute("data-nodecount",l.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(c=>{let u=x(c).get("original@imports");l.has(u)?l.delete(u):(this["#"].slottedElements.delete(c),c.remove())}),l.size){let c=this["#"].anchorNode,u=this["#"].setAnchorNode(this.createAnchorNode());(this.el.isConnected?this.el:c).replaceWith(u)}l.forEach(c=>{let u=c.cloneNode(!0);u.hasAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||u.toggleAttribute(i.HTML_IMPORTS.template.attr.fragmentdef,!0),x(u).set("original@imports",c),x(u).set("slot@imports",this.el),this["#"].slottedElements.add(u),this["#"].anchorNode.before(u)})})}empty(){this["#"].slottedElements.forEach(l=>l.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return i.HTML_IMPORTS.import.tagName.includes("-")&&customElements.define(i.HTML_IMPORTS.import.tagName,s),t.HTMLImportElement=s,s}function Ie(n={}){let{config:t,realdom:e,window:r}=q.call(this,"html-imports",n,{template:{attr:{moduledef:"def",fragmentdef:"def",extends:"extends",inherits:"inherits"},api:{exports:"exports",moduledef:"def"}},context:{attr:{importscontext:"importscontext"},api:{import:"import"}},import:{tagName:"import",attr:{moduleref:"ref"}},staticsensitivity:!0,isomorphic:!0});t.templateSelector=`template[${r.CSS.escape(t.template.attr.moduledef)}]`,t.importsContextSelector=`[${r.CSS.escape(t.context.attr.importscontext)}]`,t.slottedElementsSelector=`[${r.CSS.escape(t.template.attr.fragmentdef)}]:not(template)`;let i=(o,s)=>{let a=`starts-with(., "${o}")`,l=`substring(., string-length(.) - string-length("${s}") + 1) = "${s}"`;return`${a} and ${l}`};t.anchorNodeSelector=`comment()[${i(`&lt;${t.import.tagName}`,`&lt;/${t.import.tagName}&gt;`)}]`,r.webqit.HTMLImportsContext=Y,r.webqit.HTMLImportElement=lr(),rn.call(r,t),nn.call(r,t)}function J(n,t=!0){if(!x(n).has("exports")&&t){let e=Object.create(null);x(n).set("exports",e)}return x(n).get("exports")}function rn(n){let t=this,{webqit:{oohtml:{configs:e}}}=t;if(n.template.api.exports in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${n.template.api.exports}" property!`);if(n.template.api.moduledef in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${n.template.api.moduledef}" property!`);if(n.context.api.import in t.document)throw new Error(`document already has a "${n.context.api.import}" property!`);if(n.context.api.import in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${n.context.api.import}" property!`);Object.defineProperty(t.HTMLTemplateElement.prototype,n.template.api.exports,{get:function(){return J(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,n.template.api.moduledef,{get:function(){return this.getAttribute(n.template.attr.moduledef)}}),Object.defineProperty(t.document,n.context.api.import,{value:function(i,o=!1,s=null){return r(t.document,...arguments)}}),Object.defineProperty(t.HTMLElement.prototype,n.context.api.import,{value:function(i,o=!1,s=null){return r(this,...arguments)}});function r(i,o,s=!1,a=null){let l={};typeof s=="function"?(a=s,s=!1):typeof s=="object"&&s?l={...s,...l}:l={live:s};let c={...Y.createRequest(o),...l};return i[e.CONTEXT_API.api.contexts].request(c,a)}}function nn(n){let t=this,{webqit:{Observer:e,realdom:r,oohtml:{configs:i},HTMLImportElement:o,HTMLImportsContext:s}}=t,a=u=>{let f=u[i.CONTEXT_API.api.contexts];f.find(s.kind)||f.attach(new s)},l=u=>{let f=u[i.CONTEXT_API.api.contexts],m=f.find(s.kind);m&&(!u.isConnected||!u.matches?.(n.importsContextSelector)&&!Object.keys(m.localModules).length)&&f.detach(m)};r.realtime(t.document).subtree([n.templateSelector,n.importsContextSelector],u=>{u.entrants.forEach(f=>{if(f.matches(n.templateSelector)){Object.defineProperty(f,"scoped",{value:f.hasAttribute("scoped")});let m=W.instance(f);m.ownerContext=f.scoped?u.target:t.document;let d=J(m.ownerContext);m.defId&&e.set(d,m.defId,f),a(m.ownerContext)}else a(f)}),u.exits.forEach(f=>{if(f.matches(n.templateSelector)){let m=W.instance(f),d=J(m.ownerContext);m.defId&&e.deleteProperty(d,m.defId),l(m.ownerContext)}else l(f)})},{live:!0,timing:"sync",staticSensitivity:n.staticsensitivity}),r.realtime(t.document).subtree(n.import.tagName,u=>{u.entrants.forEach(f=>c(f,!0,u)),u.exits.forEach(f=>c(f,!1,u))},{live:!0,timing:"sync"});function c(u,f){let m=o.instance(u);f?m["#"].connectedCallback():m["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).subtree(`(${n.anchorNodeSelector})`,u=>{u.entrants.forEach(f=>{if(x(f).get("isAnchorNode"))return;let m=t.document.createElement("div");m.innerHTML=f.nodeValue,m.innerHTML=m.firstChild.textContent;let d=m.firstChild,h=parseInt(d.getAttribute("data-nodecount")),p=new Set,b=f;for(;(b=b.previousElementSibling)&&b.matches(n.slottedElementsSelector)&&h--;)p.add(b);o.instance(d)["#"].hydrate(f,p)})},{live:!0})}function qe(n={}){let{config:t,window:e}=q.call(this,"html-bindings",n,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"},staticsensitivity:!0,isomorphic:!0});({CONTEXT_API:t.CONTEXT_API,BINDINGS_API:t.BINDINGS_API,HTML_IMPORTS:t.HTML_IMPORTS}=e.webqit.oohtml.configs),t.attrSelector=`[${e.CSS.escape(t.attr.expr)}]`;let r=(i,o)=>{let s=`starts-with(., "${i}")`,a=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${a}`};t.discreteBindingsSelector=`comment()[${r(t.tokens.tagStart,t.tokens.tagEnd)}]`,on.call(e,t)}function on(n){let t=this,{webqit:{realdom:e}}=t;e.realtime(t.document).subtree(`(${n.discreteBindingsSelector})`,r=>{ur.call(this,...r.exits),sn.call(this,n,...r.entrants)},{live:!0}),e.realtime(t.document).subtree(n.attrSelector,r=>{ur.call(this,...r.exits),an.call(this,n,...r.entrants)},{live:!0,timing:"sync",staticSensitivity:n.staticsensitivity})}function fr(n,t){let{webqit:{Observer:e,DOMBindingsContext:r}}=this;if(x(t).has("data-binding"))return x(t).get("data-binding");let i={},o=new AbortController;e.intercept(i,{get:(a,l,c)=>{if(!(a.key in i)){let u={...r.createRequest(a.key),live:!0,signal:o.signal};t[n.CONTEXT_API.api.contexts].request(u,f=>{e.set(i,a.key,f)})}return c(i[a.key]??(a.key in globalThis?globalThis[a.key]:void 0))},has:(a,l,c)=>c(!0)});let s={scope:i,abortController:o,bindings:new Map};return x(t).set("data-binding",s),s}function ur(...n){for(let t of n){let e=t.nodeName==="#text"?t.parentNode:t,{bindings:r,abortController:i}=x(e).get("data-binding")||{};if(!r?.has(t))return;r.get(t).state.dispose(),r.get(t).signals.forEach(o=>o.abort()),r.delete(t),r.size||(i.abort(),x(e).delete("data-binding"))}}async function sn(n,...t){let e=this,{webqit:{QuantumAsyncFunction:r}}=e,i=s=>{let a=n.tokens.tagStart.split("").map(h=>`\\${h}`).join(""),l=n.tokens.tagEnd.split("").map(h=>`\\${h}`).join(""),c=n.tokens.stateStart.split("").map(h=>h===" "?"(?:\\s+)?":`\\${h}`).join(""),u=n.tokens.stateEnd.split("").map(h=>`\\${h}`).join(""),f=`^${a}(.*?)(?:${c}(\\d+)${u}(?:\\s+)?)?${l}$`,[,m,d]=s.match(new RegExp(f));return{raw:s,expr:m,span:parseInt(d??0)}},o=t.reduce((s,a)=>{if(a.isBound)return s;let l=i(a.nodeValue),c=a;if(l.span){if(c=a.nextSibling,c?.nodeName!=="#text"||c.nodeValue.length<l.span)return s;c.nodeValue.length>l.span&&c.splitText(l.span)}else c=a.ownerDocument.createTextNode(""),a.after(c);c.isBound=!0;let u=a;return e.webqit.env!=="server"&&(u.remove(),u=null),s.concat({textNode:c,template:l,anchorNode:u})},[]);for(let{textNode:s,template:a,anchorNode:l}of o){let{scope:c,bindings:u}=fr.call(this,n,s.parentNode),f="";f+=`let content = ((${a.expr}) ?? '') + '';`,f+="this.nodeValue = content;",l&&(f+=`$anchorNode__.nodeValue = "${n.tokens.tagStart}${escDouble(a.expr)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}";`);let m=new r("$signals__","$anchorNode__",f,{env:c}),d=[];u.set(s,{compiled:m,signals:d,state:await m.call(s,d,l)})}}async function an(n,...t){let{webqit:{QuantumAsyncFunction:e}}=this;for(let r of t){let i=cn(n,r.getAttribute(n.attr.expr)),{scope:o,bindings:s}=fr.call(this,n,r),a=new e("$signals__",i,{env:o}),l=[];s.set(r,{compiled:a,signals:l,state:await a.call(r,l)})}}var Me=new Map;function cn(n,t){if(Me.has(t))return Me.get(t);let e={},r=o=>o.replace(/"/g,'\\"'),i=ke(t,";").map(o=>{let[s,a]=ke(o,":").map(m=>m.trim()),l=s[0],c=s.slice(1).trim(),u=`(${a})`,f=`(${u} ?? '')`;if(l==="&")return`this.style["${r(c)}"] = ${f};`;if(l==="%")return`this.classList.toggle("${r(c)}", !!${u});`;if(l==="~")return c.startsWith("?")?`this.toggleAttribute("${r(c.substring(1).trim())}", !!${u});`:`this.setAttribute("${r(c)}", ${f});`;if(l==="@"){if(e[c])throw new Error(`Duplicate binding: ${s}.`);if(e[c]=!0,c==="text")return`this.textContent = ${f};`;if(c==="html")return`this.setHTML(${f});`;if(c==="items"){let[m,d]=ke(a,"/");if(!d)throw new Error(`Invalid ${l}items spec: ${o}; no import specifier.`);let[h,p,b,y]=m.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!h)throw new Error(`Invalid ${l}items spec: ${o}.`);if(p.startsWith("(")?p=p.trim().slice(1,-1).split(",").map(w=>w.trim()):p=[p],p.length>(b==="in"?3:2))throw new Error(`Invalid ${l}items spec: ${o}.`);let g=b==="in"?p[2]:p[1]||"$index__";return`
23
+ }`}})},{live:!0,timing:"intercept",generation:"entrants"})}var Yr=()=>(0|Math.random()*9e6).toString(36);var X=class{static toHash(t){let e;return(e=this.hashTable.get(t))||(e=this.uniqId(),this.hashTable.set(t,e)),e}static fromHash(t){let e;return this.hashTable.forEach((r,i)=>{r===t&&(e=i)}),e}};I(X,"hashTable",new Map),I(X,"uniqId",()=>(0|Math.random()*9e6).toString(36));function Se({advanced:n={},...t}){let{config:e,window:r}=q.call(this,"scoped-js",t,{script:{retention:"retain",mimeType:""},advanced:Qt(n)});e.scriptSelector=(Array.isArray(e.script.mimeType)?e.script.mimeType:[e.script.mimeType]).reduce((i,o)=>{let s=o?`[type=${r.CSS.escape(o)}]`:"";return i.concat(`script${s}[scoped],script${s}[quantum]`)},[]).join(","),r.webqit.oohtml.Script={compileCache:[new Map,new Map],execute:Kr.bind(r,e)},Zr.call(r,e)}async function Kr(n,t){let e=this,{realdom:r}=e.webqit,i=X.fromHash(t);if(!i)throw new Error("Argument must be a valid exec hash.");let{script:o,compiledScript:s,thisContext:a}=i;n.script.retention==="dispose"?o.remove():n.script.retention==="dispose"?o.textContent='"source hidden"':o.textContent=await s.toString();let l=(await s.bind(a)).execute();o.quantum&&Object.defineProperty(o,"state",{value:l}),r.realtime(e.document).observe(o,()=>{o.quantum&&l.dispose(),o.scoped&&a.scripts.splice(a.scripts.indexOf(o,1))},{subtree:!0,timing:"sync",generation:"exits"})}function Zr(n){let t=this,{webqit:{oohtml:e,realdom:r,QuantumScript:i,QuantumAsyncScript:o,QuantumModule:s}}=t;t.HTMLScriptElement.supports||(t.HTMLScriptElement.supports=()=>!1);let a=["module"].concat(n.script.mimeType||[]);r.realtime(t.document).subtree(n.scriptSelector,l=>{l.entrants.forEach(c=>{if(c.cloned)return;if("quantum"in c||(Object.defineProperty(c,"quantum",{value:c.hasAttribute("quantum")}),"scoped"in c))return handled(c);Object.defineProperty(c,"scoped",{value:c.hasAttribute("scoped")});let u=(c._=c.textContent.trim())&&c._.startsWith("/*@oohtml*/if(false){")&&c._.endsWith("}/*@oohtml*/")?c._.slice(21,-12):c.textContent,f=X.toHash(u),m=e.Script.compileCache[c.quantum?0:1],d;if(!(d=m.get(f))){let{parserParams:y,compilerParams:g,runtimeParams:w}=n.advanced;d=new(c.type==="module"?s:i||o)(u,{exportNamespace:`#${c.id}`,fileName:t.document.url,parserParams:y,compilerParams:{...g,startStatic:!c.quantum},runtimeParams:w}),m.set(f,d)}let h=c.scoped?c.parentNode||l.target:c.type==="module"?void 0:t;c.scoped&&(h.scripts||Object.defineProperty(h,"scripts",{value:[]}),h.scripts.push(c));let p=X.toHash({script:c,compiledScript:d,thisContext:h});l.type==="query"||a.includes(c.type)&&!t.HTMLScriptElement.supports(c.type)?e.Script.execute(p):c.textContent=`webqit.oohtml.Script.execute( '${p}' );`})},{live:!0,timing:"intercept",generation:"entrants",eventDetails:!0})}function Zt(){let{window:n}=C,{webqit:t}=n;if(t.DOMContextRequestEvent)return t.DOMContextRequestEvent;class e extends n.Event{constructor(...i){let o=i.pop();if(typeof o!="function")throw new Error("Callback must be provided.");let s=i.pop();if(!s?.kind)throw new Error('"options.kind" must be specified.');let a=["contextrequest","contextclaim"],l=i.pop()||a[0];if(!a.includes(l))throw new Error(`Invalid event type. Must be one of: ${a.join(",")}`);let{kind:c,detail:u,targetContext:f,live:m,signal:d,diff:h,...p}=s;super(l,{...p,bubbles:p.bubbles!==!1}),Object.defineProperty(this,"callback",{get:()=>o}),Object.defineProperty(this,"kind",{get:()=>c}),Object.defineProperty(this,"targetContext",{get:()=>f}),Object.defineProperty(this,"detail",{get:()=>u}),Object.defineProperty(this,"live",{get:()=>m}),Object.defineProperty(this,"signal",{get:()=>d}),Object.defineProperty(this,"diff",{get:()=>h}),Object.defineProperty(this,"options",{get:()=>p})}respondWith(i){if(this.diff){if("_prevValue"in this&&this._prevValue===i)return;Object.defineProperty(this,"_prevValue",{value:i,configurable:!0})}return this.callback(i)}}return t.DOMContextRequestEvent=e,e}var mt=class extends AbortController{constructor(t){super(),t(e=>{let{window:{webqit:{Observer:r}}}=C;r.defineProperty(this,"value",{value:e,configurable:!0,enumerable:!0})},this)}};var $e=class{static createRequest(){return{kind:this.kind}}constructor(t=null){Object.defineProperty(this,"detail",{get:()=>t}),Object.defineProperty(this,"subscriptions",{value:new Set})}get configs(){let{window:{webqit:{oohtml:{configs:t}}}}=C;return t}get name(){return this.host===C.window.document?1/0:this.host.getAttribute(this.configs.CONTEXT_API.attr.contextname)}subscribed(t){}handle(t){}unsubscribed(t){}matchEvent(t){return t.kind===this.constructor.kind&&(!t.targetContext||t.targetContext===this.name)}handleEvent(t){if(!(this.disposed||typeof t.respondWith!="function")){if(t.type==="contextclaim"){if(t.target===this.host||!(t.detail instanceof $e))return;let e=new Set;return this.subscriptions.forEach(r=>{!t.target.contains(r.target)||!t.detail.matchEvent(r)||(t.stopPropagation(),this.subscriptions.delete(r),e.add(r))}),t.respondWith(e)}if(t.type==="contextrequest")return this.matchEvent(t)?(t.live&&(this.subscriptions.add(t),this.subscribed(t),t.signal?.addEventListener("abort",()=>{this.subscriptions.delete(t),this.unsubscribed(t)})),t.stopPropagation(),this.handle(t)):void 0}}initialize(t){this.host=t,this.disposed=!1,t.addEventListener("contextrequest",this),t.addEventListener("contextclaim",this);let{value:e}=U.instance(t).request("contextclaim",{kind:this.constructor.kind,detail:this});return e.forEach(r=>{this.subscriptions.add(r),this.subscribed(r),this.handle(r)}),this}dispose(t){return this.disposed=!0,t.removeEventListener("contextrequest",this),t.removeEventListener("contextclaim",this),this.subscriptions.forEach(e=>{this.subscriptions.delete(e),this.unsubscribed(e);let{target:r}=e;r.dispatchEvent(e)}),this}},L=$e;I(L,"kind");var pt=class extends Error{};var U=class{static instance(t){return x(t).get("contexts::instance")||new this(t)}constructor(t){x(t).get("contexts::instance")?.dispose(),x(t).set("contexts::instance",this);let e={host:t,contexts:new Set};Object.defineProperty(this,"#",{get:()=>e})}get[Symbol.iterator](){return this["#"].contexts[Symbol.iterator]}get length(){return this["#"].contexts.size}find(...t){return[...this["#"].contexts].find(e=>typeof t[0]=="function"?t[0](e):e.constructor.kind===t[0]&&(t.length===1||e.detail===t[1]))}attach(t){if(!(t instanceof L))throw new TypeError("Context is not a valid DOMContext instance.");if(this.find(t.constructor.kind,t.detail))throw new pt(`Context of same kind "${t.constructor.kind}"${t.detail?` and detail "${t.detail}"`:""} already exists.`);this["#"].contexts.add(t),t.initialize(this["#"].host)}detach(t){t.dispose(this["#"].host),this["#"].contexts.delete(t)}request(...t){return new mt((e,r)=>{typeof t[t.length-1]!="function"&&(t[t.length-1]?t.push(e):t[t.length-1]=e);let i;(i=t.find(s=>typeof s=="object"&&s))&&i.live&&(i.signal&&i.signal.addEventListener("abort",()=>r.abort()),t[t.indexOf(i)]={...i,signal:r.signal});let o=new(Zt())(...t);this["#"].host.dispatchEvent(o)})}};function Te(n={}){let{config:t,window:e}=q.call(this,"context-api",n,{attr:{contextname:"contextname"},api:{contexts:"contexts"}});e.webqit.DOMContexts=U,e.webqit.DOMContext=L,e.webqit.DOMContextRequestEvent=Zt(),e.webqit.DOMContextResponse=mt,e.webqit.DuplicateContextError=pt,tn.call(e,t)}function tn(n){let t=this;if(n.api.contexts in t.document)throw new Error(`document already has a "${n.api.contexts}" property!`);if(n.api.contexts in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${n.api.contexts}" property!`);Object.defineProperty(t.document,n.api.contexts,{get:function(){return U.instance(t.document)}}),Object.defineProperty(t.HTMLElement.prototype,n.api.contexts,{get:function(){return U.instance(this)}});let e=new Set;t.addEventListener("contextrequest",r=>{typeof r.respondWith=="function"&&(e.add(r),r.respondWith())}),t.addEventListener("contextclaim",r=>{if(typeof r.detail!="object"||typeof r.detail.matchEvent!="function"||typeof r.respondWith!="function")return;let i=new Set;e.forEach(o=>{!r.target.contains(o.target)||!r.detail.matchEvent(o)||(e.delete(o),i.add(o))}),r.respondWith(i)})}var Q=class extends L{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("@")){let[r,...i]=i.slice(1).split(".").map(o=>o.trim());e.targetContext=r,e.detail=i.join(".")}else e.detail=t;return e}get bindingsObj(){return this.host[this.configs.BINDINGS_API.api.bindings]}matchEvent(t){return super.matchEvent(t)&&(!t.detail||!this.detail||(Array.isArray(t.detail)?t.detail[0]===this.detail:t.detail===this.detail))}handle(t){if(t._controller?.abort(),!(t.detail+"").trim())return t.respondWith(this.bindingsObj);let{window:{webqit:{Observer:e}}}=C;t._controller=e.reduce(this.bindingsObj,Array.isArray(t.detail)?t.detail:[t.detail],e.get,r=>{this.disposed||t.respondWith(r.value)},{live:t.live,signal:t.signal,descripted:!0})}};I(Q,"kind","bindings");function Ce(n={}){let{config:t,window:e}=q.call(this,"bindings-api",n,{context:{attr:{bindingsreflection:"bindings"}},api:{bind:"bind",bindings:"bindings"}});e.webqit.DOMBindingsContext=Q,en.call(e,t)}function Pe(n,t){let e=this,{webqit:{Observer:r,oohtml:{configs:{CONTEXT_API:i}}}}=e;if(!x(t).has("bindings")){let o=Object.create(null);x(t).set("bindings",o),r.observe(o,s=>{let a=Object.keys(o),l=t===e.document?e.document.documentElement:t,c=n.context.attr.bindingsreflection;a.length&&c?l.setAttribute(n.context.attr.bindingsreflection,a.join(" ")):c&&l.toggleAttribute(n.context.attr.bindingsreflection,!1);let u=t[i.api.contexts];for(let f of s)if(f.type==="delete"){let m=u.find(Q.kind,f.key);m&&u.detach(m)}else u.find(Q.kind,f.key)||u.attach(new Q(f.key))})}return x(t).get("bindings")}function cr(n,t,e,{merge:r,diff:i,namespace:o}={}){let s=this,{webqit:{Observer:a}}=s,l=Pe.call(this,n,t),c={diff:i,namespace:o},u=r?[]:a.ownKeys(l,c).filter(f=>!(f in e));return a.batch(l,()=>(u.length&&a.deleteProperties(l,u,c),a.set(l,e,c)),c)}function en(n){let t=this,{webqit:{Observer:e}}=t;if(n.api.bind in t.document)throw new Error(`document already has a "${n.api.bind}" property!`);if(n.api.bindings in t.document)throw new Error(`document already has a "${n.api.bindings}" property!`);if(n.api.bind in t.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bind}" property!`);if(n.api.bindings in t.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bindings}" property!`);Object.defineProperty(t.document,n.api.bind,{value:function(r,i={}){return cr.call(t,n,t.document,r,i)}}),Object.defineProperty(t.document,n.api.bindings,{get:function(){return e.proxy(Pe.call(t,n,t.document))}}),Object.defineProperty(t.Element.prototype,n.api.bind,{value:function(r,i={}){return cr.call(t,n,this,r,i)}}),Object.defineProperty(t.Element.prototype,n.api.bindings,{get:function(){return e.proxy(Pe.call(t,n,this))}})}var W=class{static instance(t){return x(t).get("exportsmanager::instance")||new this(t)}constructor(t,e=null,r=0){let{window:i}=C,{webqit:{realdom:o,oohtml:{configs:s}}}=i;x(t).get("exportsmanager::instance")?.dispose(),x(t).set("exportsmanager::instance",this),this.host=t,this.config=s.HTML_IMPORTS,this.parent=e,this.level=r,this.exports=J(this.host),this.defId=(this.host.getAttribute(this.config.template?.attr.moduledef)||"").trim(),this.validateDefId(this.defId),this.realtimeA=o.realtime(this.host.content).children(a=>{this.export(a.entrants,!0),this.export(a.exits,!1)},{live:!0,timing:"sync"}),this.realtimeB=o.realtime(this.host).attr(["src","loading"],(...a)=>this.evaluateLoading(...a),{live:!0,atomic:!0,timing:"sync",lifecycleSignals:!0}),this.realtimeC=this.evalInheritance()}validateDefId(t){if(["@","/","*","#"].some(e=>t.includes(e)))throw new Error(`The export ID "${t}" contains an invalid character.`)}export(t,e){let{window:r}=C,{webqit:{Observer:i}}=r,o,s=this.exports["#"]||[];i.batch(this.exports,()=>{t.forEach(a=>{if(a.nodeType!==1)return;let l=a.matches(this.config.templateSelector),c=(a.getAttribute(l?this.config.template.attr.moduledef:this.config.template.attr.fragmentdef)||"").trim();e?(l&&c?new W(a,this.host,this.level+1):(s.push(a),o=!0),c&&(this.validateDefId(c),i.set(this.exports,(!l&&"#"||"")+c,a))):(l&&c?W.instance(a).dispose():(s=s.filter(u=>u!==a),o=!0),c&&i.deleteProperty(this.exports,(!l&&"#"||"")+c))}),o&&i.set(this.exports,"#",s)})}evaluateLoading([t,e],{signal:r}){let{window:{webqit:{Observer:i}}}=C,o=(t.value||"").trim();if(!o)return;let s,a=u=>{if(!u)return s;s=u.then(()=>c.remove())},l=(e.value||"").trim(),c=i.intercept(this.exports,"get",async(u,f,m)=>(l==="lazy"&&a(this.load(o,!0)),await a(),m()),{signal:r});l!=="lazy"&&a(this.load(o))}load(t){let{window:e}=C;if(this.host.content.children.length)return Promise.resolve();if(this.fetchInFlight?.src===t)return this.fetchInFlight.request;this.fetchInFlight?.controller.abort();let r=new AbortController,i=(s,a)=>this.host.dispatchEvent(new e.CustomEvent(s,{detail:a})),o=e.fetch(t,{signal:r.signal,element:this.host}).then(s=>s.ok?s.text():Promise.reject(s.statusText)).then(s=>(this.host.innerHTML=s.trim(),i("load"),this.host)).catch(s=>(console.error(`Error fetching the bundle at "${t}": ${s.message}`),this.fetchInFlight=null,i("loaderror"),this.host));return this.fetchInFlight={src:t,request:o,controller:r},o}evalInheritance(){if(!this.parent)return[];let{window:{webqit:{Observer:t}}}=C,e=(this.host.getAttribute(this.config.template.attr.extends)||"").trim(),r=(this.host.getAttribute(this.config.template.attr.inherits)||"").trim(),i=a=>{a.forEach(l=>{t.get(this.exports,l.key)===l.oldValue&&(["get","set","def"].includes(l.type)?t[l.type.replace("get","set")](this.exports,l.key,l.value):l.type==="delete"&&t.deleteProperty(this.exports,l.key))})},o=[],s=J(this.parent);return e&&o.push(t.reduce(s,[e,this.config.template.api.exports,1/0],t.get,i,{live:!0})),(r=r.split(" ").map(a=>a.trim()).filter(a=>a)).length&&o.push(t.get(s,r,i,{live:!0})),o}dispose(){this.realtimeA.disconnect(),this.realtimeB.disconnect(),this.realtimeC.forEach(t=>t instanceof Promise?t.then(e=>e.abort()):t.abort()),Object.entries(this.exports).forEach(([t,e])=>{t.startsWith("#")||W.instance(e).dispose()})}};var Y=class extends L{static createRequest(t=null){let e=super.createRequest();if(t?.startsWith("/"))e.detail=t,e.targetContext=1/0;else if(t?.startsWith("@")){let[r,...i]=i.slice(1).split(/(?<=\w)(?=\/|#)/).map(o=>o.trim());e.targetContext=r,e.detail=i.join("")}else e.detail=t;return e}get localModules(){return J(this.host)}handle(t){let{window:{webqit:{Observer:e}}}=C;if(t._controller?.abort(),(t.detail||"").trim()==="/")return t.respondWith(this.localModules);let r=this.configs.HTML_IMPORTS,i=(t.detail||"").split(/\/|(?<=\w)(?=#)/g).map(s=>s.trim()).filter(s=>s);if(i.length&&(i=i.join(`/${r.template.api.exports}/`)?.split("/")||[]),!i.length)return t.respondWith();let o={live:t.live,signal:t.signal,descripted:!0};t._controller=e.reduce(this.localModules,i,e.get,(s,{signal:a}={})=>{let l=Array.isArray(s)?s:s.value,c=Array.isArray(s)?s.length:s.value;if(!(!c&&this.host.isConnected===!1))return c||!this.contextModules?(t._isValidLocalResult=c,t.respondWith(l)):e.reduce(this.contextModules,i,e.get,u=>(t._currentSource="context",t.respondWith(Array.isArray(u)?u:u.value)),{...o,signal:a})},{lifecycleSignals:!0,...o})}realtimeSources(t){this.host=t;let e=()=>{for(let o of this.subscriptions)o._isValidLocalResult||this.handle(o)},r=this.configs.HTML_IMPORTS;if(!this.host.matches||!r.context.attr.importscontext)return;this.refdSourceController?.disconnect();let i=this.host.ownerDocument.defaultView.webqit.realdom;this.refdSourceController=i.realtime(this.host).attr(r.context.attr.importscontext,(o,{signal:s})=>{if(!o.value)return this.contextModules=void 0,e();let a={...this.constructor.createRequest(o.value.trim()),live:!0,signal:s};this.host.parentNode[this.configs.CONTEXT_API.api.contexts].request(a,l=>{this.contextModules=l&&Object.getPrototypeOf(l)?J(l):l,e()})},{live:!0,timing:"sync",lifecycleSignals:!0})}initialize(t){return this.realtimeSources(t),super.initialize(t)}dispose(t){return this.refdSourceController?.disconnect(),super.dispose(t)}};I(Y,"kind","html-imports");function lr(){let{window:n}=C,{webqit:t}=n,{Observer:e,realdom:r,oohtml:{configs:i}}=t;if(t.HTMLImportElement)return t.HTMLImportElement;let o=i.HTML_IMPORTS.import.tagName.includes("-")?n.HTMLElement:class{};class s extends o{static instance(l){return i.HTML_IMPORTS.import.tagName.includes("-")&&l instanceof this?l:x(l).get("import::instance")||new this(l)}constructor(...l){super();let c=l[0]||this;x(c).set("import::instance",this),Object.defineProperty(this,"el",{get:()=>c,configurable:!1});let u={};Object.defineProperty(this,"#",{get:()=>u,configurable:!1}),u.slottedElements=new Set,u.setAnchorNode=f=>(u.anchorNode=f,f),u.importRequest=(f,m=null)=>{let d={...Y.createRequest(u.moduleRef?.includes("#")?u.moduleRef:`${u.moduleRef}#`),live:m&&!0,signal:m};(this.el.isConnected?this.el.parentNode:u.anchorNode.parentNode)[i.CONTEXT_API.api.contexts].request(d,h=>{f((h instanceof n.HTMLTemplateElement?[...h.content.children]:Array.isArray(h)?h:h&&[h])||[])})},u.hydrate=(f,m)=>{u.moduleRef=(this.el.getAttribute(i.HTML_IMPORTS.import.attr.moduleref)||"").trim(),f.replaceWith(u.setAnchorNode(this.createAnchorNode())),u.autoRestore(()=>{m.forEach(d=>{u.slottedElements.add(d),x(d).set("slot@imports",this.el)})}),u.hydrationImportRequest=new AbortController,u.importRequest(d=>{if(u.originalsRemapped)return this.fill(d);let h=d.map((b,y)=>({el:b,fragmentDef:b.getAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||"",tagName:b.tagName,i:y})),p=-1;m.forEach(b=>{let y=b.tagName,g=b.getAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||"",w=(p++,h.find(E=>E.tagName===y&&E.fragmentDef===g&&E.i===p));!w||x(b).set("original@imports",w.el)}),u.originalsRemapped=!0},u.hydrationImportRequest.signal)},u.autoRestore=(f=null)=>{u.autoRestoreRealtime?.disconnect(),f&&f();let m=()=>{u.anchorNode?.replaceWith(this.el),u.anchorNode=null,this.el.setAttribute("data-nodecount",0)};if(!u.slottedElements.size)return m();let d=r.realtime(n.document).observe([...u.slottedElements],h=>{if(h.exits.forEach(p=>{x(p).delete("slot@imports"),u.slottedElements.delete(p)}),!u.slottedElements.size){if(d.disconnect(),!h.target.isConnected)return;m()}},{subtree:!0,timing:"sync",generation:"exits"});u.autoRestoreRealtime=d},u.connectedCallback=()=>{if(u.slottedElements.size)throw new Error("Illegal reinsertion into the DOM; import slot is not empty!");u.moduleRefRealtime||(u.moduleRefRealtime=r.realtime(this.el).attr(i.HTML_IMPORTS.import.attr.moduleref,(f,{signal:m})=>{u.moduleRef=f.value,u.importRequest(d=>!u.hydrationImportRequest&&this.fill(d),m)},{live:!0,timing:"sync",lifecycleSignals:!0}),u.hydrationImportRequest?.abort(),u.hydrationImportRequest=null)},u.disconnectedCallback=()=>{u.hydrationImportRequest?.abort(),u.hydrationImportRequest=null,!u.anchorNode.isConnected&&(u.moduleRefRealtime?.disconnect(),u.moduleRefRealtime=null)}}createAnchorNode(){if(n.webqit.env!=="server")return n.document.createTextNode("");let l=n.document.createElement("div");l.textContent=this.el.outerHTML;let c=n.document.createComment(l.innerHTML);return x(c).set("isAnchorNode",!0),c}fill(l){Array.isArray(l)&&(l=new Set(l)),this.el.setAttribute("data-nodecount",l.size),this["#"].autoRestore(()=>{if(this["#"].slottedElements.forEach(c=>{let u=x(c).get("original@imports");l.has(u)?l.delete(u):(this["#"].slottedElements.delete(c),c.remove())}),l.size){let c=this["#"].anchorNode,u=this["#"].setAnchorNode(this.createAnchorNode());(this.el.isConnected?this.el:c).replaceWith(u)}l.forEach(c=>{let u=c.cloneNode(!0);u.hasAttribute(i.HTML_IMPORTS.template.attr.fragmentdef)||u.toggleAttribute(i.HTML_IMPORTS.template.attr.fragmentdef,!0),x(u).set("original@imports",c),x(u).set("slot@imports",this.el),this["#"].slottedElements.add(u),this["#"].anchorNode.before(u)})})}empty(){this["#"].slottedElements.forEach(l=>l.remove())}get anchorNode(){return this["#"].anchorNode}get moduleRef(){return this["#"].moduleRef}get slottedElements(){return this["#"].slottedElements}}return i.HTML_IMPORTS.import.tagName.includes("-")&&customElements.define(i.HTML_IMPORTS.import.tagName,s),t.HTMLImportElement=s,s}function Ie(n={}){let{config:t,realdom:e,window:r}=q.call(this,"html-imports",n,{template:{attr:{moduledef:"def",fragmentdef:"def",extends:"extends",inherits:"inherits"},api:{exports:"exports",moduledef:"def"}},context:{attr:{importscontext:"importscontext"},api:{import:"import"}},import:{tagName:"import",attr:{moduleref:"ref"}},staticsensitivity:!0,isomorphic:!0});t.templateSelector=`template[${r.CSS.escape(t.template.attr.moduledef)}]`,t.importsContextSelector=`[${r.CSS.escape(t.context.attr.importscontext)}]`,t.slottedElementsSelector=`[${r.CSS.escape(t.template.attr.fragmentdef)}]:not(template)`;let i=(o,s)=>{let a=`starts-with(., "${o}")`,l=`substring(., string-length(.) - string-length("${s}") + 1) = "${s}"`;return`${a} and ${l}`};t.anchorNodeSelector=`comment()[${i(`&lt;${t.import.tagName}`,`&lt;/${t.import.tagName}&gt;`)}]`,r.webqit.HTMLImportsContext=Y,r.webqit.HTMLImportElement=lr(),rn.call(r,t),nn.call(r,t)}function J(n,t=!0){if(!x(n).has("exports")&&t){let e=Object.create(null);x(n).set("exports",e)}return x(n).get("exports")}function rn(n){let t=this,{webqit:{oohtml:{configs:e}}}=t;if(n.template.api.exports in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${n.template.api.exports}" property!`);if(n.template.api.moduledef in t.HTMLTemplateElement.prototype)throw new Error(`The "HTMLTemplateElement" class already has a "${n.template.api.moduledef}" property!`);if(n.context.api.import in t.document)throw new Error(`document already has a "${n.context.api.import}" property!`);if(n.context.api.import in t.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${n.context.api.import}" property!`);Object.defineProperty(t.HTMLTemplateElement.prototype,n.template.api.exports,{get:function(){return J(this)}}),Object.defineProperty(t.HTMLTemplateElement.prototype,n.template.api.moduledef,{get:function(){return this.getAttribute(n.template.attr.moduledef)}}),Object.defineProperty(t.document,n.context.api.import,{value:function(i,o=!1,s=null){return r(t.document,...arguments)}}),Object.defineProperty(t.HTMLElement.prototype,n.context.api.import,{value:function(i,o=!1,s=null){return r(this,...arguments)}});function r(i,o,s=!1,a=null){let l={};typeof s=="function"?(a=s,s=!1):typeof s=="object"&&s?l={...s,...l}:l={live:s};let c={...Y.createRequest(o),...l};return i[e.CONTEXT_API.api.contexts].request(c,a)}}function nn(n){let t=this,{webqit:{Observer:e,realdom:r,oohtml:{configs:i},HTMLImportElement:o,HTMLImportsContext:s}}=t,a=u=>{let f=u[i.CONTEXT_API.api.contexts];f.find(s.kind)||f.attach(new s)},l=u=>{let f=u[i.CONTEXT_API.api.contexts],m=f.find(s.kind);m&&(!u.isConnected||!u.matches?.(n.importsContextSelector)&&!Object.keys(m.localModules).length)&&f.detach(m)};r.realtime(t.document).subtree([n.templateSelector,n.importsContextSelector],u=>{u.entrants.forEach(f=>{if(f.matches(n.templateSelector)){Object.defineProperty(f,"scoped",{value:f.hasAttribute("scoped")});let m=W.instance(f);m.ownerContext=f.scoped?u.target:t.document;let d=J(m.ownerContext);m.defId&&e.set(d,m.defId,f),a(m.ownerContext)}else a(f)}),u.exits.forEach(f=>{if(f.matches(n.templateSelector)){let m=W.instance(f),d=J(m.ownerContext);m.defId&&e.deleteProperty(d,m.defId),l(m.ownerContext)}else l(f)})},{live:!0,timing:"sync",staticSensitivity:n.staticsensitivity}),r.realtime(t.document).subtree(n.import.tagName,u=>{u.entrants.forEach(f=>c(f,!0,u)),u.exits.forEach(f=>c(f,!1,u))},{live:!0,timing:"sync"});function c(u,f){let m=o.instance(u);f?m["#"].connectedCallback():m["#"].disconnectedCallback()}t.webqit.env!=="server"&&r.realtime(t.document).subtree(`(${n.anchorNodeSelector})`,u=>{u.entrants.forEach(f=>{if(x(f).get("isAnchorNode"))return;let m=t.document.createElement("div");m.innerHTML=f.nodeValue,m.innerHTML=m.firstChild.textContent;let d=m.firstChild,h=parseInt(d.getAttribute("data-nodecount")),p=new Set,b=f;for(;(b=b.previousElementSibling)&&b.matches(n.slottedElementsSelector)&&h--;)p.add(b);o.instance(d)["#"].hydrate(f,p)})},{live:!0})}function qe(n={}){let{config:t,window:e}=q.call(this,"html-bindings",n,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"},staticsensitivity:!0,isomorphic:!0});({CONTEXT_API:t.CONTEXT_API,BINDINGS_API:t.BINDINGS_API,HTML_IMPORTS:t.HTML_IMPORTS}=e.webqit.oohtml.configs),t.attrSelector=`[${e.CSS.escape(t.attr.expr)}]`;let r=(i,o)=>{let s=`starts-with(., "${i}")`,a=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${a}`};t.discreteBindingsSelector=`comment()[${r(t.tokens.tagStart,t.tokens.tagEnd)}]`,on.call(e,t)}function on(n){let t=this,{webqit:{realdom:e}}=t;e.realtime(t.document).subtree(`(${n.discreteBindingsSelector})`,r=>{ur.call(this,...r.exits),sn.call(this,n,...r.entrants)},{live:!0}),e.realtime(t.document).subtree(n.attrSelector,r=>{ur.call(this,...r.exits),an.call(this,n,...r.entrants)},{live:!0,timing:"sync",staticSensitivity:n.staticsensitivity})}function fr(n,t){let{webqit:{Observer:e,DOMBindingsContext:r}}=this;if(x(t).has("data-binding"))return x(t).get("data-binding");let i={},o=new AbortController;e.intercept(i,{get:(a,l,c)=>{if(!(a.key in i)){let u={...r.createRequest(a.key),live:!0,signal:o.signal};t[n.CONTEXT_API.api.contexts].request(u,f=>{e.set(i,a.key,f)})}return c(i[a.key]??(a.key in globalThis?globalThis[a.key]:void 0))},has:(a,l,c)=>c(!0)});let s={scope:i,abortController:o,bindings:new Map};return x(t).set("data-binding",s),s}function ur(...n){for(let t of n){let e=t.nodeName==="#text"?t.parentNode:t,{bindings:r,abortController:i}=x(e).get("data-binding")||{};if(!r?.has(t))return;r.get(t).state.dispose(),r.get(t).signals.forEach(o=>o.abort()),r.delete(t),r.size||(i.abort(),x(e).delete("data-binding"))}}async function sn(n,...t){let e=this,{webqit:{QuantumAsyncFunction:r}}=e,i=s=>{let a=n.tokens.tagStart.split("").map(h=>`\\${h}`).join(""),l=n.tokens.tagEnd.split("").map(h=>`\\${h}`).join(""),c=n.tokens.stateStart.split("").map(h=>h===" "?"(?:\\s+)?":`\\${h}`).join(""),u=n.tokens.stateEnd.split("").map(h=>`\\${h}`).join(""),f=`^${a}(.*?)(?:${c}(\\d+)${u}(?:\\s+)?)?${l}$`,[,m,d]=s.match(new RegExp(f));return{raw:s,expr:m,span:parseInt(d??0)}},o=t.reduce((s,a)=>{if(a.isBound)return s;let l=i(a.nodeValue),c=a;if(l.span){if(c=a.nextSibling,c?.nodeName!=="#text"||c.nodeValue.length<l.span)return s;c.nodeValue.length>l.span&&c.splitText(l.span)}else c=a.ownerDocument.createTextNode(""),a.after(c);c.isBound=!0;let u=a;return e.webqit.env!=="server"&&(u.remove(),u=null),s.concat({textNode:c,template:l,anchorNode:u})},[]);for(let{textNode:s,template:a,anchorNode:l}of o){let{scope:c,bindings:u}=fr.call(this,n,s.parentNode),f="";f+=`let content = ((${a.expr}) ?? '') + '';`,f+="this.nodeValue = content;",l&&(f+=`$anchorNode__.nodeValue = "${n.tokens.tagStart}${escDouble(a.expr)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}";`);let m=new r("$signals__","$anchorNode__",f,{env:c}),d=[];u.set(s,{compiled:m,signals:d,state:await m.call(s,d,l)})}}async function an(n,...t){let{webqit:{QuantumAsyncFunction:e}}=this;for(let r of t){let i=cn(n,r.getAttribute(n.attr.expr)),{scope:o,bindings:s}=fr.call(this,n,r),a=new e("$signals__",i,{env:o}),l=[];s.set(r,{compiled:a,signals:l,state:await a.call(r,l)})}}var Me=new Map;function cn(n,t){if(Me.has(t))return Me.get(t);let e={},r=o=>o.replace(/"/g,'\\"'),i=ke(t,";").map(o=>{let[s,a]=ke(o,":").map(m=>m.trim()),l=s[0],c=s.slice(1).trim(),u=`(${a})`,f=`(${u} ?? '')`;if(l==="&")return`this.style["${r(c)}"] = ${f};`;if(l==="%")return`this.classList.toggle("${r(c)}", !!${u});`;if(l==="~")return c.startsWith("?")?`this.toggleAttribute("${r(c.substring(1).trim())}", !!${u});`:`this.setAttribute("${r(c)}", ${f});`;if(l==="@"){if(e[c])throw new Error(`Duplicate binding: ${s}.`);if(e[c]=!0,c==="text")return`this.textContent = ${f};`;if(c==="html")return`this.setHTML(${f});`;if(c==="items"){let[m,d]=ke(a,"/");if(!d)throw new Error(`Invalid ${l}items spec: ${o}; no import specifier.`);let[h,p,b,y]=m.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!h)throw new Error(`Invalid ${l}items spec: ${o}.`);if(p.startsWith("(")?p=p.trim().slice(1,-1).split(",").map(w=>w.trim()):p=[p],p.length>(b==="in"?3:2))throw new Error(`Invalid ${l}items spec: ${o}.`);let g=b==="in"?p[2]:p[1]||"$index__";return`
24
24
  let $iteratee__ = ${y};
25
25
  let $import__ = this.${n.HTML_IMPORTS.context.api.import}( ${d.trim()}, true );
26
26
  $signals__.push( $import__ );