@webjsdev/core 0.7.48 → 0.7.49
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/README.md +3 -2
- package/dist/webjs-core-browser.js +4 -4
- package/dist/webjs-core-browser.js.map +2 -2
- package/dist/webjs-core-testing.js +1 -1
- package/dist/webjs-core-testing.js.map +1 -1
- package/dist/webjs-core.js +5 -5
- package/dist/webjs-core.js.map +2 -2
- package/index-browser.js +12 -4
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/src/component.js +94 -2
- package/src/render-server.js +40 -9
- package/src/router-client.js +28 -10
- package/src/websocket-client.js +5 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var Cs=Object.defineProperty;var F=(e,t)=>()=>(e&&(t=e(e=0)),t);var oo=(e,t)=>{for(var n in t)Cs(e,n,{get:t[n],enumerable:!0})};function Ke(e){return Object.prototype.hasOwnProperty.call(xn,e)}var xn,Tn=F(()=>{xn=Object.freeze({"@":"event",".":"prop","?":"bool"})});function Ts(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function io(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<")}var gt=F(()=>{});function jn(e){if(typeof e!="function")return null;let t=e[so];return typeof t=="string"&&t?t:null}function Rn(e,t,n){if(typeof e!="function")return!1;let r=String(t).toLowerCase(),o=String(n||"").toLowerCase();return r==="action"?o==="form":r==="formaction"?o==="button"||o==="input":!1}function ao(e,t,n=!0){if(!e||e===O&&n)return;let r=e===O?'a second "name" attribute':`name="${e}"`;throw new Error(`[webjs] formaction=\${action} on <${t||"button"}> cannot be used when the element already carries a "name" attribute (found ${r}). The action identity is submitted as the button's own name/value pair, so there is no room for a second one. Move the action to the enclosing <form action=\${action}> or drop the submitter's "name".`)}function co(e,t){let n=String(e||"").toLowerCase(),r=t==null?null:String(t).toLowerCase();if(js(n,r)){if(n==="input"&&r==="image")throw new Error('[webjs] formaction=${action} is not supported on <input type="image"> because image submitters submit coordinate pairs (name.x/name.y) instead of name=value, so the action identity would never arrive. Use a <button> instead.');if(n==="input")throw new Error('[webjs] formaction=${action} is not supported on <input type="submit"> because the action identity has to occupy the submitter\'s "value", which on this control is also its visible label, so the button would render captioned with the action\'s id and could not be given a real one. Use <button formaction=${action}>Publish</button>, whose label is its children.');return}throw new Error(`[webjs] formaction=\${action} on <${n}>${r?` type="${r}"`:""} requires a submitter control, and formaction is inert on anything else. Use <button formaction=\${action}>.`)}function js(e,t){let n=t==null?null:String(t).toLowerCase();return e==="button"?n==null||n===""||n==="submit":e==="input"?n==="submit"||n==="image":!1}function lo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used when the element already carries a "value" attribute. The action identity is submitted as the button's own name/value pair, so both halves are taken. Drop the "value", or dispatch on it from one form-level action instead.`)}function uo(e){throw new Error(`[webjs] a bound formaction=\${action} on <${e||"button"}> cannot also carry a plain formaction attribute: the two name different targets and the renderers resolve them differently. Drop the static attribute.`)}function fo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used with a "form" attribute, which re-points the submitter at a form other than the bound one it sits in. Keep the submitter inside its bound <form>.`)}function po(e,t){if(e)throw new Error(`[webjs] two formaction=\${action} holes were found on one <${t||"button"}>. Only one can win, and the two renderers pick differently, so bind exactly one action per submitter.`)}function ho(e,t){let r=(e||[]).filter(o=>On(o))[0];if(r)throw new Error(`[webjs] a <${t||"button"}> submitter binds .${r}=. That property is a reflected IDL attribute on a submitter, so a property binding is dropped at SSR and written to the attribute in the browser: the page would render on the server and throw on hydration. Write it as a plain attribute.`)}function On(e){let t=String(e).toLowerCase();return t==="name"||t==="value"||t==="formaction"||t==="formmethod"||t==="formenctype"}function Rs(e,t,n){let r=t==null?null:String(t),o=n==null?null:String(n);if(r!=null&&/^dialog$/i.test(r))throw new Error(`[webjs] formaction=\${action} on <${e}> cannot be combined with formmethod="dialog", which dismisses a <dialog> instead of submitting, so the bound action would never run. Drop one of the two.`);if(r!=null&&!/^post$/i.test(r))throw new Error(`[webjs] <${e} formmethod="${r}" formaction=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${r}" submission sends none, so the action would never run. Drop the formmethod attribute (WebJs emits formmethod="post" on a bound submitter), or drop the binding.`);if(o!=null&&!bo.has(o.toLowerCase()))throw new Error(`[webjs] <${e} formenctype="${o}" formaction=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${o}" body is neither, so the bound action could never read it. Drop the formenctype attribute (WebJs emits multipart/form-data on a bound submitter).`)}function Ye(e,t,n){if(wt(e)&&$s(t))throw new Error(Ds(t,n))}function mo(e,t,n){Fs(t,n)&&Ye(e,t,n)}function Ln(e,t){if(e)return e;let n=t==="button"||t==="input"?"formaction=":"action=";throw new Error(`[webjs] the function in ${n} on <${t||"form"}> is not a server action. Only a function imported from a 'use server' *.server.{js,ts} module can be bound to a form or a submitter, because the identity the browser submits has to resolve back to something the server can run. Move the handler into a server action and import it, or pass a url string.`)}function Os(e,t){if(e!=null&&!/^post$/i.test(e))throw new Error(`[webjs] <form method="${e}" action=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${e}" form sends no body. Drop the method attribute (WebJs emits method="post") or remove the bound action.`);if(t!=null&&!bo.has(t.toLowerCase()))throw new Error(`[webjs] <form enctype="${t}" action=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${t}" body is neither, so the submission would run under JS and do nothing without it. Drop the enctype attribute (WebJs emits multipart/form-data).`)}function Ls(e){if(e.duplicateAction)throw new Error("[webjs] two action=${...} holes were found on one <form>. A form can carry only one action binding. Move one to a submit button's formaction=${action} or remove the duplicate.");if(e.staticAction)throw new Error('[webjs] a bound <form action=${action}> also carries a plain action="..." attribute. A bound form posts to the page\'s own url, so the two say different things: without JS the browser would post to the written url and with JS it would not. Drop the action attribute, or drop the binding.');let t=e.propAttrs&&e.propAttrs[0];if(t)throw new Error(`[webjs] a bound <form action=\${action}> also binds .${t}=. A property binding on a native element is dropped at SSR and applied in the browser, so the form would submit one way with JS and another way without it. Write it as a plain attribute.`)}function Ps(e,t){let n=e!==$&&e!=null,r=t!==$&&t!=null;return Os(n?e:null,r?t:null),{method:n?null:"post",enctype:r?null:"multipart/form-data"}}function yo(e,t,n){let r=t!==$&&t!=null,o=n!==$&&n!=null;return Rs(e,r?t:null,o?n:null),{formMethod:r?null:"post",formEnctype:o?null:"multipart/form-data"}}function go(e,t,n,r,o){let i=typeof t=="function"?jn(t):null;if(!i){typeof t=="function"&&Ln(null,e.localName),Is(e,n,r,o.propAttrs);return}Ls(o);let s=Ps(n,r);e.removeAttribute("action"),ze(e,"method",n,s.method),ze(e,"enctype",r,s.enctype),Ms(e,i)}function ze(e,t,n,r){if(r!==null){e.setAttribute(t,r);return}n!==$&&e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Ms(e,t){let n=e.firstElementChild,r=n&&n.localName==="input"&&n.getAttribute("name")===O?n:null;if(!r){for(let o of e.children)if(o.localName==="input"&&o.getAttribute("name")===O){r=o;break}}r||(r=e.ownerDocument.createElement("input"),r.setAttribute("type","hidden"),r.setAttribute("name",O),e.insertBefore(r,e.firstChild)),r.getAttribute("value")!==t&&r.setAttribute("value",t)}function Is(e,t,n,r){let o=e.firstElementChild;if(o&&o.localName==="input"&&o.getAttribute("name")===O)o.remove();else for(let s of e.children)if(s.localName==="input"&&s.getAttribute("name")===O){s.remove();break}let i=s=>(r||[]).some(a=>{let c=String(a).toLowerCase();return c===s||s==="enctype"&&c==="encoding"});t===$&&!i("method")&&e.removeAttribute("method"),n===$&&!i("enctype")&&e.removeAttribute("enctype")}function wo(e,t,n,r){let o=i=>(r||[]).some(s=>String(s).toLowerCase()===i);t===$&&!o("formmethod")&&e.removeAttribute("formmethod"),n===$&&!o("formenctype")&&e.removeAttribute("formenctype")}function Fs(e,t){let n=String(e).toLowerCase();Ke(n[0])&&(n=n.slice(1));let r=String(t||"").toLowerCase();return n==="action"?r==="form":n==="formaction"?r==="button"||r==="input":!1}function wt(e,t){if(typeof e=="function")return!0;if(!Array.isArray(e))return!1;let n=t||new Set;return n.has(e)?!1:(n.add(e),e.some(r=>wt(r,n)))}function $s(e){let t=String(e).toLowerCase();return Ke(t[0])&&(t=t.slice(1)),t==="action"||t==="formaction"}function Ds(e,t){return`[webjs] a function was interpolated into ${String(e).toLowerCase()}= on <${t||"form"}>. Stringifying a function into HTML would leak its source (a 'use server' action's body included) to every visitor, so this is refused. To run a server action from a form, write an unquoted action=\${action} on the <form> itself or a formaction=\${action} on a <button> inside a bound form. Anywhere else, pass a URL string.`}var O,so,bo,$,Ge=F(()=>{Tn();gt();O="__webjs_action",so="$$webjsAction";bo=new Set(["multipart/form-data","application/x-www-form-urlencoded"]);$=Symbol("webjs.attr.absent")});function Ro(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}function ha(){if(No||(ie=Ro(),!ie))return;Ze=HTMLSlotElement.prototype.assignedNodes,zn=HTMLSlotElement.prototype.assignedElements,Lt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(n){return this.hasAttribute(k)&&!Gn(this)?er(this,n):Ze?Ze.call(this,n):[]},HTMLSlotElement.prototype.assignedElements=function(n){return this.hasAttribute(k)&&!Gn(this)?er(this,n).filter(r=>r.nodeType===1):zn?zn.call(this,n):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=Lt&&Lt.get?Lt.get.call(this):null;return n||xo(this)}});let e=Object.getOwnPropertyDescriptor(Text.prototype,"assignedSlot");Object.defineProperty(Text.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=e&&e.get?e.get.call(this):null;return n||xo(this)}}),Yn=HTMLSlotElement.prototype.assign,HTMLSlotElement.prototype.assign=function(...n){if(this.hasAttribute(k)&&!Gn(this)){let r=ma(this);if(r){let o=Q(r);o.manualAssign||(o.manualAssign=new Map);let i=n.filter(Boolean);for(let[s,a]of o.manualAssign){if(s===this)continue;let c=a.filter(l=>{let u=l.deref();return u!==void 0&&i.indexOf(u)===-1});c.length!==a.length&&(c.length?o.manualAssign.set(s,c):o.manualAssign.delete(s))}if(i.length?o.manualAssign.set(this,i.map(s=>new WeakRef(s))):o.manualAssign.delete(this),o.applying&&o.pendingRecordNodes)for(let s of i)o.pendingRecordNodes.add(s);else o.pendingRecordNodes=new Set(i);xe(o),Z(r)}return}return Yn?Yn.apply(this,n):void 0},No=!0}function ir(e,t){let n=e.manualAssign;if(!n||!n.size)return null;for(let[r,o]of n){let i=!1,s=o.filter(a=>{let c=a.deref();return c===void 0?!1:(c===t&&(i=!0),!0)});if(s.length!==o.length&&(s.length?n.set(r,s):n.delete(r)),i){let a=e.host;return a&&(r===a||a.contains(r))?r:null}}return null}function ma(e){for(let t=e.parentElement;t;t=t.parentElement)if(t[v])return X(t,e)?t:null;return null}function Gn(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function er(e,t){if(e.getAttribute(I)!==V)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:tr(n,new Set,0)}function tr(e,t,n){if(n>=pa)return e.slice();let r=[];for(let o of e)if(o.nodeType===1&&o.tagName==="SLOT"){let i=o;if(t.has(i))continue;if(t.add(i),i.hasAttribute(k)){let s=er(i,{flatten:!1});if(s.length>0)for(let a of tr(s,t,n+1))r.push(a);else for(let a of tr(Array.from(i.childNodes),t,n+1))r.push(a)}else if(Ze){let s=Ze.call(i,{flatten:!0});for(let a of s)r.push(a)}else r.push(o)}else r.push(o);return r}function xo(e){let t=e.parentElement;return t&&t.tagName==="SLOT"&&t.hasAttribute(k)&&t.getAttribute(I)===V?t:null}function Q(e){let t=e,n=t[v];return n||(n={host:e,authored:[],assignedByName:new Map,lastSnapshot:new WeakMap},t[v]=n),n}function sr(e){return!!e[v]}function Oo(e){let t=Q(e);for(;e.firstChild;){let n=e.firstChild;t.authored.push(n),_.add(n),e.removeChild(n)}xe(t)}function xe(e){let t=e.assignedByName;t.clear();for(let n of e.authored)ba(t,de(e,n),n)}function de(e,t){let n=ir(e,t);if(n)return H(n.getAttribute("name"));if(e.adoptedKey){let r=e.adoptedKey.get(t);if(r!==void 0)return r}return Po(t)}function Lo(e){let t=Q(e);t.adopted=!0;let n=new Set,r=e.querySelectorAll(`slot[${k}]`);for(let o of r){let i=o;if(!X(e,i)||i.getAttribute(I)!==V||Dt(t,e,i))continue;let s=H(i.getAttribute("name"));if(!n.has(s)){n.add(s);let a=Array.from(i.childNodes);for(let c of a)t.authored.push(c),Po(c)!==s&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(c,s));t.lastSnapshot.set(i,a.slice())}}for(let o of e.querySelectorAll("wj-slot-park"))if(X(e,o)){for(let i of Array.from(o.childNodes))_.add(i),t.authored.push(i);o.remove()}xe(t)}function H(e){return e==null||e===""||e==="default"?null:e}function Po(e){return e.nodeType!==1?null:H(e.getAttribute("slot"))}function ba(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function me(e,t,n){let r=Q(e),o=H(t),i=Array.isArray(n)?n.filter(Boolean):n?[n]:[],s=r.authored.findIndex(c=>de(r,c)===o),a=r.authored.filter(c=>de(r,c)===o);r.authored=r.authored.filter(c=>de(r,c)!==o),(s===-1||s>r.authored.length)&&(s=r.authored.length);for(let c of i)c.nodeType===1&&!ir(r,c)&&(o==null?c.removeAttribute("slot"):c.setAttribute("slot",o)),_.add(c);if(r.authored.splice(s,0,...i),r.applying&&r.pendingRecordNodes){for(let c of a)r.pendingRecordNodes.add(c);for(let c of i)r.pendingRecordNodes.add(c)}else r.pendingRecordNodes=new Set([...a,...i]);if(r.adoptedKey){for(let c of a)r.adoptedKey.delete(c);for(let c of i)r.adoptedKey.delete(c)}xe(r),Z(e)}function ya(){oe||!ie||(oe=Node.prototype.appendChild,Mo=Node.prototype.insertBefore,Ne=Node.prototype.removeChild,nr=Node.prototype.replaceChild,Io=Element.prototype.append,Fo=Element.prototype.prepend,$o=Element.prototype.replaceChildren,Pt=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML"),rr=Object.getOwnPropertyDescriptor(Node.prototype,"textContent"))}function Ft(e,t){let n=e[T];e[T]=!0;try{return t()}finally{e[T]=n,n||ar(e)}}function Do(e){if(!ie)return;let t=e,n=Q(e);n.backstop||(n.backstop=new MutationObserver(r=>$t(e,n,r)),n.backstop.observe(e,{childList:!0,subtree:!1}),n.flipSensor=new MutationObserver(r=>Bo(e,r)),n.flipSensor.observe(e,{attributes:!0,attributeFilter:["slot","name"],subtree:!0}))}function $t(e,t,n){let r=e,o=r[he],i=r[Symbol.for("webjs.instance")],s=!1,a=new Set;for(let c of n){for(let l of c.addedNodes)if(a.add(l),l!==o&&!(i&&qo(i,l))){if(t.authored.indexOf(l)!==-1){s=!0;continue}_.add(l),t.authored.push(l),s=!0}for(let l of c.removedNodes){let u=t.authored.indexOf(l);if(u===-1||e.contains(l))continue;_.has(l)&&l.parentNode==null&&!a.has(l)||(t.authored.splice(u,1),s=!0)}}s&&Z(e)}function ar(e){let t=e,n=t[v];if(!(n&&n.backstop))return;let r=n.backstop.takeRecords();(!(Symbol.for("webjs.instance")in t)||t[Symbol.for("webjs.instance")])&&$t(e,n,r)}function Bo(e,t){let n=e[v];if(!n)return;let r=!1;for(let o of t){if(o.type!=="attributes")continue;let i=o.target;o.attributeName==="name"?i.tagName==="SLOT"&&i.hasAttribute(k)&&X(e,i)&&(r=!0):o.attributeName==="slot"&&(n.adoptedKey&&n.adoptedKey.delete(i),n.authored.indexOf(i)!==-1&&(r=!0))}r&&Z(e)}function Uo(e){let t=e[v];t&&(t.backstop&&($t(e,t,t.backstop.takeRecords()),t.backstop.disconnect(),t.backstop=void 0),t.flipSensor&&(Bo(e,t.flipSensor.takeRecords()),t.flipSensor.disconnect(),t.flipSensor=void 0))}function Ho(e){if(!ie)return;let t=e,n=t[v];if(!n)return;let r=t[Symbol.for("webjs.instance")],o=Symbol.for("webjs.instance")in t,i=!o&&n.adopted===!0,s=!1;for(let a of Array.from(e.childNodes))if(a!==t[he]){if(n.authored.indexOf(a)!==-1){s=!0;continue}o&&(!r||qo(r,a))||!o&&i||(_.add(a),n.authored.push(a),s=!0)}s&&Z(e)}function qo(e,t){if(!e||!e.startNode||!e.endNode)return!1;if(t===e.startNode||t===e.endNode)return!0;for(let n=e.startNode.nextSibling;n&&n!==e.endNode;n=n.nextSibling)if(n===t)return!0;return!1}function ga(e){let t=e,n=t[he];return(!n||!n.isConnected)&&(n||(n=e.ownerDocument.createElement("wj-slot-park"),n.setAttribute("hidden",""),n.style.display="none",t[he]=n),Ft(e,()=>oe.call(e,n))),n}function pe(e){return e instanceof Node||!!(e&&typeof e=="object"&&e.ownerDocument&&e.ownerDocument.defaultView&&e instanceof e.ownerDocument.defaultView.Node)}function Jn(e,t,n){if(n&&!pe(t))return[e.ownerDocument.createTextNode(`${t}`)];if(!pe(t))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");if(t&&t.nodeType===11){let r=Array.from(t.childNodes);Mt(e,r);for(let o of r)Ne.call(t,o);return r}return Mt(e,[t]),[t]}function Mt(e,t){ke(e,t);for(let n of t){if(!pe(n))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");let r=n.nodeType;if(r!==1&&r!==3&&r!==4&&r!==7&&r!==8&&r!==11)throw new DOMException("Failed to execute insertion on the host: the node type may not be inserted here.","HierarchyRequestError")}}function ke(e,t){for(let n of t)if(n===e||n.nodeType===1&&n.contains(e))throw new DOMException("Failed to execute insertion on the host: the new child contains the parent.","HierarchyRequestError")}function Xn(e,t,n){let r=e.authored;for(let i of t){let s=r.indexOf(i);s!==-1&&r.splice(s,1)}let o=n==null?r.length:r.indexOf(n);o===-1&&(o=r.length),r.splice(o,0,...t)}function Wo(e,t){let n=e[v];return n?Dt(n,e,t):!1}function Dt(e,t,n){for(let r=n;r&&r!==t;r=r.parentNode)if(e.authored.indexOf(r)!==-1)return!0;return!1}function Qn(e,t){if(_.has(t))return!0;let n=t.parentNode;if(n==null)return!1;if(n===e||n===e[he])return!0;let r=e[v];return n.nodeType===1&&n.tagName==="SLOT"&&n.hasAttribute(k)&&(r&&r.lastSnapshot.has(n)||e.contains(n)&&X(e,n))}function Zn(e,t){let n=[];for(let i of t)pe(i)?i.nodeType===11?n.push({frag:i}):n.push({node:i}):n.push({text:`${i}`});for(let i of n)i.frag?ke(e,Array.from(i.frag.childNodes)):i.node&&Mt(e,[i.node]);let r=e.ownerDocument.createDocumentFragment();for(let i of n)if(i.text!==void 0)oe.call(r,e.ownerDocument.createTextNode(i.text));else if(i.frag){let s=Array.from(i.frag.childNodes);Mt(e,s);for(let a of s)oe.call(r,a)}else i.node&&(ke(e,[i.node]),oe.call(r,i.node));let o=Array.from(r.childNodes);ke(e,o);for(let i of o)Ne.call(r,i);return o}function J(e,t,n){if(t.applying&&t.pendingRecordNodes)for(let r of n||[])t.pendingRecordNodes.add(r);else t.pendingRecordNodes=new Set(n||[]);if(t.adoptedKey&&n)for(let r of n)t.adoptedKey.delete(r);xe(t),Z(e)}function Vo(e){if(!ie)return;let t=e;if(t[To])return;ya(),t[To]=!0;let n=Q(e);t.appendChild=function(r){if(t[T])return oe.call(this,r);let o=Jn(e,r,!1);for(let i of o)_.add(i);return Xn(n,o,null),J(e,n,o),r},t.insertBefore=function(r,o){if(t[T])return Mo.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute insertBefore on the host: parameter 1 is not of type Node.");if(o!=null&&!pe(o))throw new TypeError("Failed to execute insertBefore on the host: parameter 2 is not of type Node.");if(ke(e,r.nodeType===11?Array.from(r.childNodes):[r]),o!=null&&(n.authored.indexOf(o)===-1||!Qn(e,o)))throw new DOMException("insertBefore: reference node is not an assigned child of this host","NotFoundError");if(r===o)return r;let i=Jn(e,r,!1);for(let s of i)_.add(s);return Xn(n,i,o||null),J(e,n,i),r},t.removeChild=function(r){if(t[T])return Ne.call(this,r);let o=n.authored.indexOf(r);if(o===-1)return Ne.call(this,r);if(!Qn(e,r))throw new DOMException("removeChild: the node is not an assigned child of this host","NotFoundError");return n.authored.splice(o,1),J(e,n,[r]),r},t.replaceChild=function(r,o){if(t[T])return nr.call(this,r,o);if(n.authored.indexOf(o)===-1)return nr.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute replaceChild on the host: parameter 1 is not of type Node.");if(ke(e,r.nodeType===11?Array.from(r.childNodes):[r]),!Qn(e,o))throw new DOMException("replaceChild: the node to be replaced is not an assigned child of this host","NotFoundError");if(r===o)return o;let s=Jn(e,r,!1);for(let c of s)_.add(c);for(let c of s){if(c===o)continue;let l=n.authored.indexOf(c);l!==-1&&n.authored.splice(l,1)}let a=n.authored.indexOf(o);return n.authored.splice(a,1,...s),J(e,n,[...s,o]),o},t.append=function(...r){if(t[T])return Io.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);Xn(n,o,null),J(e,n,o)},t.prepend=function(...r){if(t[T])return Fo.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);for(let i of o){let s=n.authored.indexOf(i);s!==-1&&n.authored.splice(s,1)}n.authored.unshift(...o),J(e,n,o)},t.replaceChildren=function(...r){if(t[T])return $o.apply(this,r);let o=Zn(e,r);for(let s of o)_.add(s);let i=n.authored;n.authored=o.slice(),J(e,n,[...i,...o])},Object.defineProperty(t,"innerHTML",{configurable:!0,get(){return Pt.get.call(this)},set(r){if(t[T]){Pt.set.call(this,r);return}let o=e.ownerDocument.createElement("div");Pt.set.call(o,r===null?"":`${r}`);let i=Array.from(o.childNodes);for(let a of i)_.add(a);let s=n.authored;n.authored=i,J(e,n,[...s,...i])}}),Object.defineProperty(t,"textContent",{configurable:!0,get(){return rr.get.call(this)},set(r){if(t[T]){rr.set.call(this,r);return}let o=r==null||r===""?[]:[e.ownerDocument.createTextNode(`${r}`)];for(let s of o)_.add(s);let i=n.authored;n.authored=o,J(e,n,[...i,...o])}})}function Z(e){if(!ie)return;let t=e[v];if(t){if(t.applying){t.reapply=!0;return}t.applying=!0;try{do{t.reapply=!1;let n=t.pendingRecordNodes||wa;t.pendingRecordNodes=void 0,_a(e,t,n),Aa(e,t),xe(t);let r=[],o=new Set;for(let u of e.querySelectorAll(`slot[${k}]`))if(X(e,u)&&!Dt(t,e,u)){if(!u.hasAttribute(I)&&!(et in u)){o.add(H(u.getAttribute("name")));continue}r.push(u)}let i=new Map;for(let u of r){let f=H(u.getAttribute("name")),d=i.get(f);d||(d=[],i.set(f,d)),d.push(u)}let s=[];for(let[u,f]of i){let d=t.assignedByName.get(u)||[];for(let p=0;p<f.length;p++){let m=f[p],g=d.filter(y=>{let h=ir(t,y);return h?h===m:p===0}),b=g.filter(y=>y===e||y.nodeType===1&&y.contains(e));if(b.length){for(let y of b)_.delete(y);g=g.filter(y=>b.indexOf(y)===-1)}g.length>0?va(t,m,g)&&s.push(m):Ea(t,m)&&s.push(m)}}for(let u of s)ka(t,u);let a=new Set(i.keys());for(let u of o)a.add(u);let c=new Set;for(let u of t.authored)a.has(de(t,u))||c.add(u);let l=e[he];if(l)for(let u of Array.from(l.childNodes))c.has(u)||Ne.call(l,u);if(c.size){let u=ga(e);for(let f of c)f.parentNode!==u&&(_.delete(f),Ft(e,()=>oe.call(u,f)))}if(t.backstop){let u=t.backstop.takeRecords();u.length&&$t(e,t,u)}}while(t.reapply)}finally{t.applying=!1}}}function _a(e,t,n){for(let r of e.querySelectorAll(`slot[${k}][${I}="${V}"]`)){if(!X(e,r)||Dt(t,e,r))continue;let o=r,i=t.lastSnapshot.get(o);if(!i)continue;let s=Array.from(o.childNodes);if(or(s,i))continue;let a=t.authored,c=H(o.getAttribute("name")),l=s.filter(m=>!n.has(m));for(let m of l)a.indexOf(m)===-1&&de(t,m)!==c&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(m,c));for(let m of a){if(l.indexOf(m)!==-1||de(t,m)!==c)continue;let g=a.indexOf(m),b=0;for(let y=0;y<l.length;y++){let h=a.indexOf(l[y]);h!==-1&&h<g&&(b=y+1)}l.splice(b,0,m)}let u=new Set(l);for(let m of i)u.add(m);let f=-1,d=0;for(let m of a){if(u.has(m)){f===-1&&(f=d);continue}d+=1}let p=a.filter(m=>!u.has(m));(f===-1||f>p.length)&&(f=p.length),p.splice(f,0,...l),t.authored=p}}function Aa(e,t){let n=e[he];t.authored=t.authored.filter(r=>{if(_.has(r))return!0;let o=r.parentNode;return o==null?!1:!!(o===e||o===n||o.nodeType===1&&o.tagName==="SLOT"&&o.hasAttribute(k)&&(t.lastSnapshot.has(o)||e.contains(o)&&X(e,o)))})}function Ko(e){if(!ie)return!1;for(let t of e.querySelectorAll(`slot[${k}][${I}]`))if(X(e,t))return!0;return!1}function X(e,t){let n=t[It];if(n)return n===e;let r=typeof t.getAttribute=="function"?t.getAttribute(da):null;if(r){let o=Sa(t,r);if(o)return o===e}for(let o=t.parentElement;o&&o!==e;o=o.parentElement)if(o.tagName.includes("-"))return!1;return!0}function Sa(e,t){let n=t.toLowerCase();for(let r=e.parentElement;r;r=r.parentElement)if(r.tagName.toLowerCase()===n)return r;return null}function va(e,t,n){for(let l of n)_.delete(l);let r=t.getAttribute(I)!==V,o=e.lastSnapshot.get(t)||[],i=r||!or(o,n);if(!r&&or(Array.from(t.childNodes),n))return e.lastSnapshot.set(t,n.slice()),i;let s=t[et];if(r&&s)for(;t.firstChild;)s.appendChild(t.firstChild);let a=new Set(n);for(let l of Array.from(t.childNodes))a.has(l)||t.removeChild(l);let c=t.firstChild;for(let l of n){if(l===c){c=c.nextSibling;continue}t.insertBefore(l,c)}return t.setAttribute(I,V),e.lastSnapshot.set(t,n.slice()),i}function Ea(e,t){let n=t.getAttribute(I)===V;if(t.setAttribute(I,fa),!n)return jo(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return jo(t),!0}function jo(e){let t=e[et];!t||t.childNodes.length===0||e.appendChild(t)}function zo(e,t){if(!sr(e))return;let n=Q(e),r=H(t.getAttribute("name")),o=n.assignedByName.get(r);if(o)for(let i of o)i.parentNode===t&&(_.add(i),t.removeChild(i));n.lastSnapshot.delete(t)}function Ca(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function ka(e,t){e.pendingSlotChanges||(e.pendingSlotChanges=new Set),e.pendingSlotChanges.add(t),!e.slotChangeScheduled&&(e.slotChangeScheduled=!0,queueMicrotask(()=>{e.slotChangeScheduled=!1;let n=e.pendingSlotChanges||new Set;e.pendingSlotChanges=new Set;for(let r of n)Ca(r)}))}function or(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ie,v,k,I,V,fa,et,It,da,pa,Ze,zn,Lt,Yn,No,T,To,he,_,oe,Mo,Ne,nr,Io,Fo,$o,Pt,rr,wa,Bt=F(()=>{ie=Ro(),v=Symbol("webjs.slot.state"),k="data-webjs-light",I="data-projection",V="actual",fa="fallback",et=Symbol("webjs.slot.fallbackFrag"),It=Symbol("webjs.slot.templateOwner"),da="data-wj-slot-owner",pa=64,Ze=null,zn=null,Lt=null,Yn=null,No=!1;ha();T=Symbol("webjs.slot.rendering"),To=Symbol("webjs.slot.intercepted"),he=Symbol("webjs.slot.park"),_=new WeakSet,oe=null,Mo=null,Ne=null,nr=null,Io=null,Fo=null,$o=null,Pt=null,rr=null;wa=new Set});function ci(e,t,n){rc.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function br(e){return JSON.stringify(await li(e))}function ye(e){return ui(JSON.parse(e))}async function li(e){let t=oc();return await ic(e,t),be(e,t)}function ui(e){return ae(e,lc())}function oc(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function ic(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!fc(r))continue;let o=t.refCount.get(r)||0;if(t.refCount.set(r,o+1),!(o>0)){if(typeof Blob<"u"&&r instanceof Blob){let i=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,i);continue}if(typeof FormData<"u"&&r instanceof FormData){let i=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,i);for(let[,s]of i)typeof s!="string"&&n.push(s);continue}if(Array.isArray(r))for(let i=0;i<r.length;i++)n.push(r[i]);else if(r instanceof Map)for(let[i,s]of r)n.push(i),n.push(s);else if(r instanceof Set)for(let i of r)n.push(i);else if(dc(r))for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.push(r[i])}}for(let[r,o]of t.refCount)o>1&&t.idOf.set(r,t.nextId++)}function be(e,t){if(e===null)return null;if(e===void 0)return{[A]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[A]:"NaN"}:e===1/0?{[A]:"Inf"}:e===-1/0?{[A]:"-Inf"}:Object.is(e,-0)?{[A]:"-0"}:e;if(n==="bigint")return{[A]:"BigInt",v:e.toString()};if(n==="symbol"){let i=Symbol.keyFor(e);if(i===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[A]:"Sym",v:i}}if(n==="function")throw new TypeError("Cannot serialize a function.");let r=t.idOf.get(e);if(r!==void 0&&t.emitted.has(r))return{[A]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let o;if(e instanceof Date)o={[A]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)o={[A]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let i=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?o={[A]:"File",v:st(i),n:e.name,t:e.type||"",m:e.lastModified}:o={[A]:"Blob",v:st(i),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let i=t.fdEntries.get(e)||[...e.entries()],s=[];for(let[a,c]of i)s.push([a,be(c,t)]);o={[A]:"FD",v:s}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)o=sc(e);else if(e instanceof Map){let i=[];for(let[s,a]of e)i.push([be(s,t),be(a,t)]);o={[A]:"Map",v:i}}else if(e instanceof Set){let i=[];for(let s of e)i.push(be(s,t));o={[A]:"Set",v:i}}else if(Array.isArray(e))o=e.map(i=>be(i,t));else{o={};for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=pc(i)?"_"+i:i;ci(o,s,be(e[i],t))}}if(r!==void 0){if(Array.isArray(o))return{[A]:"Arr",_id:r,v:o};o._id=r}return o}function sc(e){if(e instanceof ArrayBuffer)return{[A]:"buf",v:st(new Uint8Array(e))};if(e instanceof DataView)return{[A]:"dv",v:st(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=ac[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[A]:n,v:st(r)}}function lc(){return{refs:new Map}}function ae(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let i=[];for(let s=0;s<e.length;s++)i.push(ae(e[s],t));return i}let n=e[A];if(typeof n=="string")return uc(e,n,t);let r={},o=e._id;typeof o=="number"&&t.refs.set(o,r);for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="_id")continue;let s=hc(i)?i.slice(1):i;ci(r,s,ae(e[i],t))}return r}function uc(e,t,n){let r=e._id,o=i=>(typeof r=="number"&&n.refs.set(r,i),i);switch(t){case"undef":return;case"NaN":return NaN;case"Inf":return 1/0;case"-Inf":return-1/0;case"-0":return-0;case"BigInt":return o(BigInt(e.v));case"Sym":return o(Symbol.for(e.v));case"Date":return o(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let i=new Error(e.v.message);return i.name=e.v.name,e.v.stack&&(i.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,i),i}case"Map":{let i=new Map;typeof r=="number"&&n.refs.set(r,i);for(let[s,a]of e.v)i.set(ae(s,n),ae(a,n));return i}case"Set":{let i=new Set;typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.add(ae(s,n));return i}case"Arr":{let i=[];typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.push(ae(s,n));return i}case"Ref":{let i=n.refs.get(e.v);if(i===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return i}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let i=it(e.v);return o(new Blob([i],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let i=it(e.v);return o(new File([i],e.n,{type:e.t||"",lastModified:e.m}))}case"FD":{if(typeof FormData>"u")throw new TypeError("FormData is not available in this environment.");let i=new FormData;o(i);for(let[s,a]of e.v){let c=ae(a,n);i.append(s,c)}return i}default:{if(t==="buf"){let s=it(e.v);return o(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength))}if(t==="dv"){let s=it(e.v);return o(new DataView(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)))}let i=cc[t];if(i){let s=it(e.v),a=s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength);return o(new i(a))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function fc(e){return e!==null&&typeof e=="object"}function dc(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function pc(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function hc(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function st(e){if(fi)return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64");let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function it(e){if(fi){let r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}var A,rc,ac,cc,fi,at=F(()=>{A="_$wj",rc=new Set(["__proto__","constructor","prototype"]);ac={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},cc={i8:Int8Array,u8:Uint8Array,u8c:Uint8ClampedArray,i16:Int16Array,u16:Uint16Array,i32:Int32Array,u32:Uint32Array,f32:Float32Array,f64:Float64Array,bi64:typeof BigInt64Array<"u"?BigInt64Array:null,bu64:typeof BigUint64Array<"u"?BigUint64Array:null};fi=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Ci={};oo(Ci,{observeLazy:()=>Ic,observeViewportOnce:()=>Dc});function Ei(e){let t=wr.get(e);return t||(t=import(e).finally(()=>wr.delete(e)),wr.set(e,t),t)}function Ic(e){for(let[t,n]of Object.entries(e))ge.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ge.values())Ei(t);ge.clear();return}lt||(lt=new IntersectionObserver(Fc,{rootMargin:"200px"})),vi(),typeof MutationObserver<"u"&&new MutationObserver(()=>vi()).observe(document.body,{childList:!0,subtree:!0})}function vi(){if(!(!lt||!ge.size))for(let e of ge.keys())for(let t of document.querySelectorAll(e))lt.observe(t)}function Fc(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ge.get(n);r&&(Ei(r),ge.delete(n),lt?.unobserve(t.target))}}function $c(e){for(let t of e){if(!t.isIntersecting)continue;let n=Qt.get(t.target);Qt.delete(t.target),ct?.unobserve(t.target),n&&n()}}function Dc(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(ct||(ct=new IntersectionObserver($c,{rootMargin:"200px"})),Qt.set(e,t),ct.observe(e),()=>{Qt.delete(e),ct?.unobserve(e)})}var ge,lt,wr,ct,Qt,ki=F(()=>{ge=new Map,lt=null,wr=new Map;ct=null,Qt=new WeakMap});var _r,Ar=F(()=>{_r=typeof HTMLElement<"u"?class extends HTMLElement{constructor(){super(),this._webjsLoadedSrc=null,this._webjsLazyTeardown=null}static get observedAttributes(){return["src"]}connectedCallback(){this._webjsScheduleLoad()}disconnectedCallback(){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null)}attributeChangedCallback(t,n,r){t==="src"&&this.isConnected&&this._webjsScheduleLoad()}_webjsScheduleLoad(){let t=this.getAttribute("src");if(!t){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),this._webjsLoadedSrc=null;return}let n=t;try{n=new URL(t,location.href).href}catch{}if(n===this._webjsLoadedSrc)return;this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),(this.getAttribute("loading")||"eager").toLowerCase()==="lazy"?(this._webjsLoadedSrc=n,Promise.resolve().then(()=>(ki(),Ci)).then(({observeViewportOnce:o})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=o(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(Zt(),Ni)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&_r&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",_r)});function Uc(e,t,n){switch(e){case"append":n&&t.append(n);break;case"prepend":n&&t.prepend(n);break;case"before":n&&t.before(n);break;case"after":n&&t.after(n);break;case"replace":n&&t.replaceWith(n);break;case"update":n&&t.replaceChildren(n);break;case"remove":t.remove();break;default:break}}function vr(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let i=n.createElement("template");i.innerHTML=e,r=i.content}else if(e&&e.nodeType)r=e;else return;let o=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(o.length)for(let i of o)n.body.append(i);else n.body.append(r)}var Bc,Sr,en=F(()=>{Bc=new Set(["append","prepend","before","after","replace","update"]);Sr=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this._webjsApplied||(this._webjsApplied=!0,this._webjsApply())}_webjsApply(){let t=(this.getAttribute("action")||"").toLowerCase(),n=this.ownerDocument||document,r=[],o=this.getAttribute("target");if(o){let s=n.getElementById(o);s&&(r=[s])}else{let s=this.getAttribute("targets");if(s)try{r=Array.from(n.querySelectorAll(s))}catch{r=[]}}let i=Bc.has(t)?this.querySelector("template"):null;try{for(let s of r){let a=i?i.content.cloneNode(!0):null;Uc(t,s,a)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Sr&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Sr)});var xi,Ti=F(()=>{xi=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&xi&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",xi)});function tn(e,t){let n=typeof document<"u"?document:null,r=e||n;if(!r||typeof r.querySelectorAll!="function")return;if(t&&t.frame===!0){Er(r,!0);return}Oi();let o=r===n,i=!!n&&!o&&typeof n.contains=="function"&&n.contains(r),s=!!n&&!o&&!i;s&&(Er(n,!0),ce.clear(),kr.clear()),(o||s)&&(Cr=!0);let a=j.ingested+j.replaced;Wc(Er(r),a)}function Er(e,t){let n=null;for(let r of e.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]')){let o=qc(r.getAttribute?.("data-webjs-dev"));o!==null&&(n=o),ji(t?null:r.textContent,r)}for(let r of e.querySelectorAll("[data-webjs-seed]"))ji(t?null:r.getAttribute("data-webjs-seed"),r,()=>r.removeAttribute("data-webjs-seed"));return n}function ji(e,t,n){if(e)try{let r=ye(e);if(r&&typeof r=="object")for(let o in r){ce.has(o)?j.replaced++:j.ingested++,ce.set(o,r[o]);let i=o.indexOf("/",o.indexOf("/")+1);i>0&&kr.add(o.slice(0,i))}}catch{}n?n():t.remove?.()}function qc(e){return typeof e!="string"?null:e||"ok"}function Wc(e,t){if(e===null)return;let n=++Hc;Pe={epoch:n,hits:j.hits,misses:j.misses,keyMisses:j.keyMisses,merged:t,marker:e};let r=()=>{!Pe||Pe.epoch!==n||Oi()};try{typeof requestIdleCallback=="function"?requestIdleCallback(r,{timeout:1e3}):setTimeout(r,250)}catch{Pe=null}}function Oi(){let e=Pe;if(Pe=null,!!e)try{Vc(e)}catch{}}function Vc(e){let t=j.hits-e.hits,n=j.misses-e.misses,r=j.ingested+j.replaced-e.merged,o=j.keyMisses-e.keyMisses;if(n===0)return;let i=e.marker==="streamed"?"This page streams (a Suspense or <webjs-suspense> boundary), and a streamed render emits no seeds, so every action call on it goes to the network.":e.marker==="drop"?"The page's seeds could not be serialized, so the whole block was dropped. Something an action returned is not serializer-safe; the server response reports collected above emitted.":o===0?null:"The key is the action file hash plus the function name plus the serialized arguments, so an argument the SSR render never used misses (a deliberate refetch after hydration misses too, and is expected). A miss on an action this page never seeded is NOT counted here, because a mutation or a client-only read could never have been seeded.";if(i===null)return;let a=e.marker==="streamed"||e.marker==="drop"?`${n} of ${t+n} action call(s) in the hydration window went to the network`:`${o} action call(s) in the hydration window asked for a key this page seeded under DIFFERENT arguments`;console.warn(`[webjs] SSR action seeding: ${a} (${r} seed(s) on this page, ${ce.size} still unconsumed). ${i} See https://webjs.dev/docs/data-fetching for the seeding reference.`)}function Kc(e,t,n){Cr||(Cr=!0,tn());let r=`${e}/${t}/${n}`;if(ce.has(r)){let o=ce.get(r);return ce.delete(r),j.hits++,o}return j.misses++,kr.has(`${e}/${t}`)&&j.keyMisses++,Ri}function zc(){return{...j,pending:ce.size}}var ce,Ri,Cr,j,kr,Pe,Hc,Nr=F(()=>{at();ce=new Map,Ri=Symbol("webjs.seed.miss"),Cr=!1,j={ingested:0,replaced:0,hits:0,misses:0,keyMisses:0},kr=new Set,Pe=null,Hc=0});function xr(e){if(!(!Array.isArray(e)||!e.length)){nn+=1;for(let t of e)t&&Li.set(t,nn)}}function Gc(){return nn}function Jc(e,t,n){if(!(!Array.isArray(t)||!t.length)&&(Me.delete(e),Me.set(e,{tags:t.slice(),since:typeof n=="number"?n:nn}),Me.size>Yc)){let r=Me.keys().next().value;r!==void 0&&Me.delete(r)}}function Xc(e){let t=Me.get(e);if(!t)return!1;for(let n of t.tags)if((Li.get(n)||0)>t.since)return!0;return!1}function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var nn,Li,Me,Yc,jr=F(()=>{nn=0,Li=new Map,Me=new Map,Yc=1e3});var Ni={};oo(Ni,{_FALLBACK_MARKER_KEY:()=>cn,_FRAME_TOP:()=>Qi,_LIVE_ATTRS:()=>Fr,_activateSwappedRange:()=>Zr,_activeFrameId:()=>Xi,_addNewHeadElements:()=>Dr,_applyOptimisticLoading:()=>Jr,_applyStreamedResolve:()=>_s,_applySwap:()=>Gr,_blurOutgoingFocus:()=>sn,_buildHaveHeader:()=>yt,_buildSubmitFormData:()=>Gi,_bumpNavToken:()=>$l,_clearFormBusy:()=>hs,_clearFrameBusy:()=>ds,_collectBoundaries:()=>qe,_currentPageUrl:()=>Dl,_diffElementInPlace:()=>mn,_eligibleAnchorHref:()=>un,_encodeSubmitBody:()=>Yi,_findAnchorInPath:()=>Ji,_getSubmitAction:()=>Ki,_getSubmitEnctype:()=>zi,_getSubmitMethod:()=>Vi,_isNonHtmlPath:()=>ql,_isPreBootNavigation:()=>es,_keyOf:()=>He,_markFormBusy:()=>ps,_markFrameBusy:()=>fs,_mergeHead:()=>ys,_navToken:()=>Fl,_onPopState:()=>Hr,_onSubmit:()=>qr,_parseHTML:()=>Br,_planBoundarySwap:()=>ts,_prefetch:()=>We,_prefetchAnchor:()=>as,_prefetchCache:()=>S,_prefetchHasHoverPointer:()=>is,_prefetchInflightSize:()=>Pl,_prefetchMode:()=>fn,_prefetchPeek:()=>Ll,_prefetchSaysSaveData:()=>Kr,_prefetchSuppressed:()=>ss,_prefetchTake:()=>cs,_reactivateScripts:()=>wn,_readStreamedShell:()=>gs,_reconcileChildren:()=>vn,_regraftPermanentElements:()=>ms,_regraftPermanentInSlice:()=>Sn,_resetParseProbe:()=>Zc,_resetPrefetch:()=>Ml,_resetWarnOnce:()=>Ul,_resolveTargetFrameId:()=>Wr,_restoreOptimistic:()=>ut,_runWithTransition:()=>on,_setCurrentPageUrl:()=>Bl,_setHardNavigate:()=>Il,_shouldFullLoadDuringParse:()=>Hl,_snapshotCache:()=>R,_streamBoundariesProgressively:()=>As,_takeResolveUnit:()=>ws,_viewTransitionsEnabled:()=>Yr,collectBoundaries:()=>qe,disableClientRouter:()=>Ui,enableClientRouter:()=>Ur,loadFrame:()=>il,navigate:()=>Hi,planBoundarySwap:()=>ts,revalidate:()=>qi});function Br(e){if(!/^\s*(?:<!doctype|<html)/i.test(e)&&typeof document<"u"&&document.implementation)try{let n=document.implementation.createHTMLDocument();if(typeof n.body.setHTMLUnsafe=="function")n.body.setHTMLUnsafe(e);else{let r=n.createElement("template");r.innerHTML=e,n.body.appendChild(r.content)}return n}catch{}return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"&&Qc()?Document.parseHTMLUnsafe(e):el(e)}function Qc(){if(Ie!==null)return Ie;try{Ie=Document.parseHTMLUnsafe("<!doctype html><body><!--c--><i></i>")?.body?.firstChild?.nodeType===8}catch{Ie=!1}return Ie}function Zc(){Ie=null}function el(e){return typeof DOMParser>"u"?null:new DOMParser().parseFromString(e,"text/html")}function tl(){Rr||typeof MutationObserver>"u"||typeof customElements>"u"||(Rr=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes){if(n.nodeType!==1)continue;let r=n;r.tagName?.includes("-")&&customElements.upgrade(r);for(let o of r.querySelectorAll("*"))o.tagName?.includes("-")&&customElements.upgrade(o)}}),Rr.observe(document.body,{childList:!0,subtree:!0}))}function Bi(){if(typeof document>"u"||!document.documentElement)return()=>{};q&&q();let e=document.documentElement,t=e.style.getPropertyValue("overflow-anchor");e.style.setProperty("overflow-anchor","none");let n=null,r=()=>{if(q===r){if(q=null,n&&(clearTimeout(n),n=null),typeof window<"u")for(let o of an)window.removeEventListener(o,r,{capture:!0});t?e.style.setProperty("overflow-anchor",t):e.style.removeProperty("overflow-anchor")}};if(q=r,n=setTimeout(r,nl),typeof window<"u")for(let o of an)window.addEventListener(o,r,{capture:!0,passive:!0});return r}function rl(e,t){if(typeof window>"u"||typeof requestAnimationFrame!="function")return;D&&D();let n=0,r=null,o=null,i=()=>{if(D===i){D=null,n&&cancelAnimationFrame(n),r&&(clearTimeout(r),r=null),o&&(o(),o=null);for(let a of an)window.removeEventListener(a,i,{capture:!0})}},s=()=>{if(D!==i)return;if(document.documentElement.scrollHeight-window.innerHeight>=e){window.scrollTo({left:t,top:e,behavior:"instant"}),o=Bi(),n&&(cancelAnimationFrame(n),n=0);return}n=requestAnimationFrame(s)};D=i;for(let a of an)window.addEventListener(a,i,{capture:!0,passive:!0});r=setTimeout(i,Di),n=requestAnimationFrame(s)}function ol(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Ur(){te||typeof document>"u"||(te=!0,document.addEventListener("click",Wi,!1),document.addEventListener("submit",qr,!1),window.addEventListener("popstate",Hr),document.addEventListener("pointerover",Ue,!0),document.addEventListener("focusin",Ue,!0),document.addEventListener("touchstart",Ue,{capture:!0,passive:!0}),document.addEventListener("pointerout",ls,!0),document.addEventListener("webjs:navigate",Ir),tl(),Ir(),typeof history<"u"&&"scrollRestoration"in history&&(rn=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(G=location.href),cl())}function Ui(){te&&(te=!1,document.removeEventListener("click",Wi,!1),document.removeEventListener("submit",qr,!1),window.removeEventListener("popstate",Hr),document.removeEventListener("pointerover",Ue,!0),document.removeEventListener("focusin",Ue,!0),document.removeEventListener("touchstart",Ue,{capture:!0}),document.removeEventListener("pointerout",ls,!0),document.removeEventListener("webjs:navigate",Ir),An(),zr(),ue&&(ue.disconnect(),ue=null),typeof history<"u"&&rn!==null&&(history.scrollRestoration=rn,rn=null),ft+=1,q&&q(),D&&D(),G=null)}async function Hi(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){_e(e);return}await Vr(n.href,t?.replace??!1,null)}async function il(e,t){if(typeof location>"u")return{ok:!1,status:null,aborted:!1};let n=e&&e.id;if(!n)return{ok:!1,status:null,aborted:!1};let r=new URL(t,location.href);if(r.origin!==location.origin)return{ok:!1,status:null,aborted:!1};B&&B.abort(),B=new AbortController;let o=B.signal,i=++N;return dn(r.href,n,!1,null,"GET",null,o,i)}function qi(e){if(!e){R.clear(),S.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;R.delete(n),S.delete(n)}function Wi(e){if(!te||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=Ji(e);if(!t||t.hasAttribute("download")||t.hasAttribute("data-no-router")||t.target&&t.target!=="_self")return;let n=t.href;if(!n)return;let r=new URL(n);if(r.origin!==location.origin||r.pathname===location.pathname&&r.search===location.search&&r.hash||_n.test(r.pathname))return;e.preventDefault();let o=Wr(t);Vr(n,!1,o)}function Hr(e){Vr(location.href,!0,null)}function qr(e){if(!te||e.defaultPrevented)return;let t=e.target;if(!t||t.nodeType!==1||t.tagName!=="FORM"||t.hasAttribute("data-no-router"))return;let n=e.submitter??null;if(n&&n.hasAttribute("data-no-router"))return;let r=n&&n.getAttribute("formtarget")||t.getAttribute("target")||"";if(r&&r!=="_self")return;let o=Vi(t,n);if(o==="dialog")return;let i=zi(t,n),s=o==="get"||o==="head",a=Ki(t,n),c;try{c=new URL(a,location.href)}catch{return}if(c.origin!==location.origin||_n.test(c.pathname))return;let l=Gi(t,n);if(al(t,n,o,l),!s&&i==="text/plain")return;let u=Yi(l,i);e.preventDefault();let f=Wr(n||t);dl(c.href,o,u,f,t)}function Vi(e,t){return(t&&t.getAttribute("formmethod")||e.getAttribute("method")||"get").toLowerCase()}function Ki(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function sl(e){let t=String(e||"").toLowerCase();return t==="multipart/form-data"?"multipart/form-data":t==="text/plain"?"text/plain":"application/x-www-form-urlencoded"}function zi(e,t){return sl(t&&t.getAttribute("formenctype")||e.getAttribute("enctype"))}function Yi(e,t){if(t==="multipart/form-data")return e;let n=new URLSearchParams;for(let[r,o]of e)n.append(r,typeof o=="string"?o:o.name);return n}function Gi(e,t){try{return new FormData(e,t||void 0)}catch{let n=new FormData(e);return t&&t.getAttribute("name")&&n.append(t.getAttribute("name"),t.getAttribute("value")||""),n}}function Ji(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function Xi(e){let t=e;for(;t;){let n=t.closest("webjs-frame");if(n&&n.id)return n.id;let r=t.getRootNode();if(r&&r.host)t=r.host;else break}return null}function Wr(e){if(!e)return null;let t=e.closest&&e.closest("[data-webjs-frame]"),n=t?t.dataset?t.dataset.webjsFrame:t.getAttribute("data-webjs-frame"):null;if(n!=null&&n!==""){if(n===Qi)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(Ae(`webjs:frame-unresolved:${n}`,`[webjs] data-webjs-frame="${n}" did not match a live <webjs-frame id="${n}">; performing a normal navigation instead.`),null)}return Xi(e)}function Ae(e,t,n="warn"){if(Lr.has(e)||(Lr.add(e),typeof console>"u"))return;let r=n==="error"?console.error:console.warn;r&&r.call(console,t)}function al(e,t,n,r){if(typeof process<"u"&&process.env||!r.has(O))return;let o="";try{o=new URL(e.getAttribute("action")||location.href,location.href).pathname}catch{o=location.pathname}if(n!=="post"){Ae(`submit-nowhere:${o}:${n}`,`[webjs] this submission carries a bound server action's identity but submits as ${n.toUpperCase()}, which sends no body, so the identity rides the query string and the action never runs. A submitter's own formmethod overrides the form's, and WebJs honours it rather than refusing it, so check for a formmethod on the button that was pressed.`,"error");return}let i=t&&t.getAttribute("formenctype")||e.getAttribute("enctype")||"application/x-www-form-urlencoded";if(i.toLowerCase()==="text/plain"){Ae(`submit-nowhere:${o}:${i}`,`[webjs] this submission carries a bound server action's identity but declares enctype="${i}", which the server cannot parse. The router declines to send it so both paths behave the same way, and both are answered with a 405. Drop the enctype and let the binding supply it.`,"error");return}o&&o!==location.pathname&&Ae(`submit-elsewhere:${o}`,`[webjs] this submission carries a bound server action's identity but posts to "${o}" rather than this page, because the enclosing <form> declares its own action. A bound submitter emits no formaction, so the form's target wins, which is what native HTML does. The action runs only if "${o}" is a page route; against a route.ts or another origin the identity is ignored and nothing runs. Drop the form's action attribute to keep the submission on this page.`)}function Zi(e,t){return!e&&!t&&typeof document<"u"&&document.readyState==="loading"}function es(e,t,n,r){if(e!=="navigate"||!t||r&&r===n)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function cl(){if(typeof location>"u"||Mi)return;Mi=!0;let e=null;try{e=sessionStorage.getItem(cn),sessionStorage.removeItem(cn)}catch{}let t="";try{let n=performance.getEntriesByType("navigation")[0];t=n?n.type:""}catch{}es(t,document.referrer,location.href,e)&&le("pre-boot-navigation",location.href,!1)}function le(e,t,n=!0){if(n)try{sessionStorage.setItem(cn,t)}catch{}if(typeof document<"u"&&typeof CustomEvent<"u")try{document.dispatchEvent(new CustomEvent("webjs:navigation-fallback",{detail:{cause:e,href:t,willReload:n}}))}catch{}typeof process<"u"&&process.env||Ae(`fallback:${e}`,n?`[webjs] client router fell back to a full page load (${e}) navigating to ${t}. This is correct (no DOM corruption), just not a soft nav.`:`[webjs] client router degraded a soft navigation (${e}) for ${t}, without a full page load.`)}function ll(e){typeof process<"u"&&process.env||Ae(`stream-drop:${e}`,`[webjs] dropped a streamed Suspense resolve for "${e}": no #${e} boundary in the DOM. Benign if this navigation was superseded or degraded. A stuck skeleton here means the shell swap did not place the boundary.`)}function Ii(){if(typeof process<"u"&&process.env||Pr||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Pr=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&Ae("scroll-behavior-smooth-html","[webjs] Detected `scroll-behavior: smooth` on <html>. The client router scrolls to the top instantly on navigation (like a native page load), so route transitions are not affected by it. It still applies to in-page #anchor links. Pairing it with a sticky `backdrop-filter` header can also flash on iOS during navigation.")}function ln(e){if(typeof document>"u")return;let t=document.documentElement;if(!(!t||!t.hasAttribute("data-webjs-nav-progress")))try{e?t.setAttribute("data-navigating",""):t.removeAttribute("data-navigating")}catch{}}function qe(e){let t=new Map,n=[],r=!1;function o(i){if(!r){if(i.nodeType===8){let s=i.data.trim();if(s.startsWith("wj:children:")){let a=s.slice(12),c=a.lastIndexOf(":");if(c<=0||c===a.length-1){r=!0;return}let l=a.slice(0,c),u=a.slice(c+1);if(t.has(l)||n.some(f=>f.segment===l)){r=!0;return}n.push({segment:l,routeKey:u,start:i});return}if(s.startsWith("/wj:children")){let a=s.slice(12).replace(/^:/,""),c=n.pop();if(!c||c.segment!==a){r=!0;return}if(c.start.parentNode!==i.parentNode){r=!0;return}{let l=c.start.parentNode.tagName;if(l==="TABLE"||l==="TBODY"||l==="THEAD"||l==="TFOOT"||l==="TR"){r=!0;return}}t.set(c.segment,{routeKey:c.routeKey,start:c.start,end:i});return}return}if(i.hasChildNodes&&i.hasChildNodes())for(let s=i.firstChild;s&&!r;s=s.nextSibling)o(s)}}return o(e),r||n.length>0?null:t}function ts(e,t){let n=[...e.keys()].filter(s=>t.has(s)).sort((s,a)=>s.length-a.length);if(n.length===0)return null;for(let s of n)if(e.get(s).routeKey!==t.get(s).routeKey){let a=null;for(let c of n){if(c===s)break;s.startsWith(c==="/"?c:c+"/")&&(a=c)}return a?{mode:"replace",segment:a,live:e.get(a),incoming:t.get(a)}:null}let r=n[n.length-1],o=s=>{let a=null;for(let c of s.keys())(a===null||c.length>a.length)&&(a=c);return a};return{mode:o(e)===r&&o(t)===r?"morph":"replace",segment:r,live:e.get(r),incoming:t.get(r)}}function ns(e){let t=fe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),R.has(t)&&R.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(R.set(t,n);R.size>ul;){let r=R.keys().next().value;R.delete(r)}}function fl(e){let t=fe(e),n=R.get(t);return n==null?null:(R.delete(t),R.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function fe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Vr(e,t,n){if(Zi(t,n)&&typeof location<"u"){le("readyState-loading",e),_e(e);return}B&&B.abort(),B=new AbortController;let r=B.signal,o=++N;n||(ft+=1,q&&q(),D&&D()),G&&ns(G);let i=setTimeout(()=>{ln(!0),i=null},150),s=null;t||(s=Jr());try{if(t){let a=fl(e);if(a){let c=Br(a.html);if(c){Gr(c,n,!0,null);let l=()=>{};if(typeof window<"u"){let d=()=>{window.scrollTo({left:a.scrollX,top:a.scrollY,behavior:"instant"}),window.scrollY>=a.scrollY-1?l=Bi():rl(a.scrollY,a.scrollX)};if(Yr()&&typeof document.startViewTransition=="function"){let p=ft;mt.then(()=>{p!==ft||!te||d()}).catch(()=>{})}else d()}let u=dn(e,n,!1,s,"GET",null,r,o,!0).catch(()=>{}),f=new Promise(d=>setTimeout(d,Di));Promise.all([u,f]).then(()=>ol(l));return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await dn(e,n,!t,s,"GET",null,r,o)}finally{i&&clearTimeout(i),o===N&&(ln(!1),typeof location<"u"&&(G=location.href))}}async function dl(e,t,n,r,o){B&&B.abort(),B=new AbortController;let i=B.signal,s=++N;r||(ft+=1,q&&q(),D&&D());let a=t==="get"||t==="head",c=new URL(e,location.href);if(a){c.search="";for(let[p,m]of n)c.searchParams.append(p,typeof m=="string"?m:m.name)}G&&ns(G);let l=setTimeout(()=>{ln(!0),l=null},150),u=Jr(),f=o?ps(o,s,c.href):null,d=!1;try{let p=await dn(c.href,r,!0,u,a?"GET":t.toUpperCase(),a?null:n,i,s);d=!!(p&&p.ok),!a&&s===N&&(R.clear(),S.clear())}finally{f&&hs(f,s,c.href,d),l&&clearTimeout(l),s===N&&(ln(!1),typeof location<"u"&&(G=location.href))}}function yt(){let e=qe(document.body);return e?[...e.entries()].map(([t,n])=>`${t}:${n.routeKey}`).join(","):""}function Kr(){try{let e=typeof navigator<"u"?navigator.connection:null;if(e&&(e.saveData===!0||typeof e.effectiveType=="string"&&/2g$/.test(e.effectiveType))||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-data: reduce)").matches)return!0}catch{}return!1}function is(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function yl(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function un(e){if(!e||!(e instanceof HTMLAnchorElement)||e.hasAttribute("download")||e.hasAttribute("data-no-router")||e.target&&e.target!=="_self")return null;let t=e.href;if(!t)return null;let n;try{n=new URL(t)}catch{return null}return n.origin!==location.origin||n.pathname===location.pathname&&n.search===location.search&&n.hash||_n.test(n.pathname)?null:t}function ss(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=yl(e);return t.includes("external")||t.includes("no-prefetch")}function fn(e){if(ss(e))return"none";switch((e.getAttribute("data-prefetch")||"").toLowerCase().trim()){case"false":case"none":return"none";case"true":case"render":return"render";case"auto":case"viewport":return"viewport";case"intent":return"intent";default:return is()?"intent":"viewport"}}function We(e){if(!te||typeof fetch!="function"||Kr())return;let t=fe(e);if(typeof location<"u"&&t===fe(location.href)||we.has(t)||dt.has(t))return;let n=S.get(t);if(n&&Mr()-n.at<rs)return;if(we.size>=os){for(dt.add(t),De.push(e);De.length>hl;){let i=De.shift();dt.delete(fe(i))}return}let r=yt();if(!r&&typeof document<"u"&&document.readyState==="loading")return;we.add(t);let o={"x-webjs-router":"1","x-webjs-prefetch":"1"};r&&(o["x-webjs-have"]=r),fetch(e,{method:"GET",headers:o,credentials:"same-origin",cache:"no-cache"}).then(async i=>{let s=i.headers.get("content-type")||"";if(!/^text\/html\b/i.test(s)||i.status>=400)return;let a=i.headers.get("x-webjs-build"),c=i.headers.get("x-webjs-src"),l=typeof document<"u"?document.querySelector('script[type="importmap"]'):null,u=l?l.getAttribute("data-webjs-build"):null,f=l?l.getAttribute("data-webjs-src"):null;(a&&u&&a!==u||c&&f&&c!==f)&&(R.clear(),S.clear());let d=i.redirected&&i.url?i.url:e,p=await i.text();wl(t,{html:p,build:a,src:c,finalUrl:d,at:Mr()})}).catch(()=>{}).finally(()=>{we.delete(t),gl()})}function gl(){for(;De.length&&we.size<os;){let e=De.shift();dt.delete(fe(e)),We(e)}}function wl(e,t){for(S.has(e)&&S.delete(e),S.set(e,t);S.size>pl;){let n=S.keys().next().value;S.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function as(e){let t=/<!--wj:children:([^>]*?)-->/.exec(e||"");return t?t[1]:null}function cs(e,t){let n=fe(e),r=S.get(n);if(!r)return null;if(Mr()-r.at>=rs)return S.delete(n),null;let o=as(r.html);return o&&!new Set(String(t??(yt()||"")).split(",").filter(Boolean)).has(o)?(S.delete(n),null):(S.delete(n),r)}function Mr(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function Ue(e){if(!te)return;let t=us(e.target);if(!t)return;let n=fn(t);if(n==="none"||n==="render")return;let r=un(t);if(r){if(e.type==="touchstart"){We(r);return}n==="intent"&&(pt===t&&Be||(An(),pt=t,Be=setTimeout(()=>{Be=null,pt=null,We(r)},ml)))}}function ls(e){let t=us(e.target);t&&t===pt&&An()}function An(){Be&&(clearTimeout(Be),Be=null),pt=null}function zr(){for(let e of ht)clearTimeout(e);ht.clear(),Fe=new WeakMap}function us(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let o=n.closest&&n.closest("a");if(o instanceof HTMLAnchorElement)return o}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Ir(){if(typeof document>"u"||Kr())return;let e=typeof IntersectionObserver<"u";e&&(ue?(ue.disconnect(),zr()):ue=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if(Fe.has(r))continue;let o=setTimeout(()=>{ht.delete(o),Fe.delete(r),ue.unobserve(r);let i=un(r);i&&fn(r)==="viewport"&&We(i)},bl);Fe.set(r,o),ht.add(o)}else{let o=Fe.get(r);o&&(clearTimeout(o),ht.delete(o),Fe.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=fn(t);if(n==="render"){let r=un(t);r&&We(r)}else n==="viewport"&&e&&ue.observe(t)}}function _l(e){if(typeof document>"u"||!document.body)return!1;let t=qe(document.body);if(!t)return!1;let n,r=-1;for(let[c,l]of t)c.length>r&&(r=c.length,n=l);if(!n)return!1;let o=n.start.parentNode;if(!o||n.start.parentNode!==n.end.parentNode)return!1;let i=document.createElement("div");i.setAttribute("role","alert"),i.setAttribute("data-webjs-nav-error","");let s=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";i.textContent=s;let a=document.createRange();return a.setStartAfter(n.start),a.setEndBefore(n.end),a.deleteContents(),o.insertBefore(i,n.end),!0}function Or(e,t,n){let r=new CustomEvent("webjs:navigation-error",{bubbles:!0,cancelable:!0,detail:{url:e,status:t??null,error:n||null}});if(typeof document<"u")try{document.dispatchEvent(r)}catch{}r.defaultPrevented||_l(t)||typeof location<"u"&&(le("navigation-error-unrecoverable",e),_e(e))}async function dn(e,t,n,r,o,i,s,a,c){o=o||"GET";let l=typeof a=="number"?a:N,u,f=null,d=null,p=null,m=null,g=!1,b=e,y=t?fs(t,l):null;try{try{let w=o==="GET"&&!i&&!t?cs(e,r?r.haveKeys:void 0):null;if(w)u=w.html,d=w.build,p=w.src,b=w.finalUrl,m=200,g=!0;else{let L={"x-webjs-router":"1"},Se=yt();Se&&(L["x-webjs-have"]=Se),t&&(L["x-webjs-frame"]=t),i!=null&&o!=="GET"&&o!=="HEAD"&&(L.accept=Pi+", text/html");let ve={method:o,headers:L,credentials:"same-origin",cache:"no-cache"};s&&(ve.signal=s),i!=null&&o!=="GET"&&o!=="HEAD"&&(ve.body=i);let E=await fetch(e,ve);m=E.status,g=E.ok;let Ve=Tr(E.headers.get("x-webjs-invalidate"));Ve.length&&xr(Ve);let x=E.headers.get("content-type")||"",vs=/^text\/html\b/i.test(x);if(x.toLowerCase().indexOf(Pi)===0){let Es=await E.text();return l===N&&(ut(r),vr(Es)),{ok:g,status:m,aborted:!1}}if(E.redirected&&E.url&&(b=E.url),E.status===204||E.status===205)return l===N&&n&&history.pushState(null,"",b),{ok:g,status:m,aborted:!1};if(!vs)return l===N&&(ut(r),Or(e,E.status,null)),{ok:!1,status:m,aborted:!1};d=E.headers.get("x-webjs-build"),p=E.headers.get("x-webjs-src");let Cn=await gs(E);u=Cn.shell,Cn.streaming&&(f=Cn)}}catch(w){return w&&w.name==="AbortError"?{ok:!1,status:null,aborted:!0}:l!==N?{ok:!1,status:null,aborted:!0}:(ut(r),Or(e,null,w instanceof Error?w:new Error(String(w))),{ok:!1,status:null,aborted:!1})}if(l!==N){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:m,aborted:!0}}let h=Br(u);if(!h)return ut(r),Or(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:m,aborted:!1};if(Gr(h,t,!!c,b,d,p)==="discard"){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:g,status:m,aborted:!1}}if(n&&history.pushState(null,"",b),n){let w=new URL(b);if(w.hash){let L=document.getElementById(w.hash.slice(1));L?L.scrollIntoView():(Ii(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else Ii(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&mt.then(()=>As(f.reader,f.dec,f.rest,()=>l===N)),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:b,frameId:t,from:"navigate"}})),{ok:g,status:m,aborted:!1}}finally{y&&ds(y,l)}}function fs(e,t){if(typeof document>"u")return null;let n=null;try{n=document.querySelector(`webjs-frame#${CSS.escape(e)}`)}catch{n=document.getElementById(e)}if(!n)return null;let r=pn.has(n);return pn.set(n,t),n.setAttribute("aria-busy","true"),r||n.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:e,busy:!0}})),n}function ds(e,t){if(pn.get(e)!==t)return;pn.delete(e),e.setAttribute("aria-busy","false");let n=e.id||null;e.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:n,busy:!1}}))}function ps(e,t,n){let r=hn.has(e);return hn.set(e,t),e.setAttribute("aria-busy","true"),r||e.dispatchEvent(new CustomEvent("webjs:submit-start",{bubbles:!0,detail:{form:e,url:n}})),e}function hs(e,t,n,r){if(hn.get(e)!==t)return;hn.delete(e),e.setAttribute("aria-busy","false");let o=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(o):typeof document<"u"?document.dispatchEvent(o):e.dispatchEvent(o)}function Fi(e){if(!e||!e.head)return"";let t=e.head.querySelectorAll('[data-webjs-track="reload"]');if(!t.length)return"";let n="";for(let r of t)n+=ee(r);return n}function Yr(){if(typeof document>"u")return!1;let e=document.querySelector('meta[name="view-transition"]');return e?(e.getAttribute("content")||"").trim().toLowerCase()==="same-origin":!1}function on(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if(Yr()&&typeof n=="function"){let r=n.call(document,e);return r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t(),r&&r.updateCallbackDone&&typeof r.updateCallbackDone.then=="function"?r.updateCallbackDone.catch(()=>{}):Promise.resolve()}return e(),t&&t(),Promise.resolve()}function ms(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let o=r.id;if(!o)continue;let i=null;try{i=t.querySelector(`#${CSS.escape(o)}`)}catch{i=null}if(!i||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let s=i.parentNode;s&&i!==r&&(s.replaceChild(r,i),bt.add(r))}}function Sn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let o=r;if(o.hasAttribute&&o.hasAttribute("data-webjs-permanent")&&o.id&&n.push(o),typeof o.querySelectorAll=="function")for(let i of o.querySelectorAll("[data-webjs-permanent][id]"))n.push(i)}if(n.length)for(let r of n){let o=r.id;if(!o)continue;let i=Al(t,o);if(!i||i===r)continue;let s=i.parentNode;if(s)s.replaceChild(r,i),bt.add(r);else{let a=t.indexOf(i);a!==-1&&(t[a]=r,bt.add(r))}}}function Al(e,t){for(let n of e){if(n.nodeType!==1)continue;let r=n;if(r.id===t)return r;if(typeof r.querySelector=="function"){let o=null;try{o=r.querySelector(`#${CSS.escape(t)}`)}catch{o=null}if(o)return o}}return null}function Sl(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&$e(t)}function Gr(e,t,n,r,o,i){let s=!1,a=()=>{if(!s){s=!0;try{tn(e,{frame:!!t})}catch{}}};try{for(let p of e.querySelectorAll("[data-wj-host]"))p.setAttribute("data-wj-serialized","")}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let p=document.querySelector('script[type="importmap"]'),m=p?p.getAttribute("data-webjs-build"):null,g=!1;if(o&&m&&(g=o!==m),!g&&e.head&&e.head.children.length>0){let b=Fi(document),y=Fi(e);b!==y&&(g=!0)}if(g&&typeof location<"u"){R.clear(),S.clear();try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b),le("deploy-mismatch-reload-suppressed",r,!1);else{sessionStorage&&sessionStorage.setItem(b,"1"),le("deploy-mismatch",r),_e(r);return}}catch{le("deploy-mismatch",r),_e(r);return}}else if(!g){let b=p?p.getAttribute("data-webjs-src"):null;i&&b&&i!==b&&(R.clear(),S.clear(),p&&p.setAttribute("data-webjs-src",i));try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}}if(t){a();let p=document.querySelector(`webjs-frame#${CSS.escape(t)}`),m=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(p&&m){Dr(e.head),mt=on(()=>{jl(p,m),wn(p),$e(p),$i(e.body),sn()},()=>$e(p));return}let g=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(p||document).dispatchEvent(g),g.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let c=qe(document.body),l=qe(e.body),u=c&&l?ts(c,l):null;if(u){a();let{mode:p,live:m,incoming:g}=u;Dr(e.head),mt=on(()=>{p==="replace"?vl(m,g):El(m,g,e),xl(m.start,g.start),$i(e.body),sn()},()=>Sl(m));return}if(r&&!n&&typeof location<"u"){le(c?l?"no-shared-boundary":"incoming-boundaries-malformed":"live-boundaries-malformed",r),_e(r);return}if(r&&n)return le("revalidation-discarded",r,!1),"discard";a(),ys(e.head),ms(document.body,e.body);let f=[...e.body.childNodes];mt=on(()=>{document.body.replaceChildren(...f),wn(document.body),$e(document.body),sn()},()=>$e(document.body))}function sn(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function vl(e,t){let n=e.start.parentNode;if(!n)return;let r=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)r.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));Sn(r,o);for(let i of r)i.parentNode===n&&n.removeChild(i);for(let i of o)n.insertBefore(i,e.end);Zr(e)}function El(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let o=[];for(let s=e.start.nextSibling;s&&s!==e.end;s=s.nextSibling)o.push(s);let i=[];for(let s=t.start.nextSibling;s&&s!==t.end;s=s.nextSibling)i.push(document.importNode(s,!0));Sn(o,i),Cl(r,e.start,e.end,o,i),Zr(e)}function Cl(e,t,n,r,o){let i=new Map;for(let c of r){if(c.nodeType!==1)continue;let l=He(c);l&&i.set(l,c)}let s=n,a=[];for(let c of o){if(c.nodeType===1){let l=He(c);if(l&&i.has(l)){let u=i.get(l);mn(u,c),a.push(u),i.delete(l);continue}}a.push(c)}for(let c of r)if(c.parentNode===e){if(c.nodeType===1&&a.includes(c))continue;e.removeChild(c)}for(let c of a)e.insertBefore(c,s)}function mn(e,t){if(e===t)return;if(e.tagName!==t.tagName){e.replaceWith(t);return}let n=new Set;for(let r of t.attributes)n.add(r.name),!Fr.has(r.name)&&r.name!=="data-wj-serialized"&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])Fr.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);if(kl(e)){Tl(e,t);return}vn(e,t)}function kl(e){let t=e;return t[Symbol.for("webjs.instance")]!=null||t[v]!=null}function Nl(e,t){for(let n=e.parentElement;n&&n!==t;n=n.parentElement)if(n.tagName.includes("-"))return!1;return!0}function bn(e){let t=new Map,n=`slot[${k}][${I}="${V}"]`;for(let r of e.querySelectorAll(n)){let o=r;if(!Nl(o,e)||Wo(e,o))continue;let i=!1;for(let a=o.parentElement;a&&a!==e;a=a.parentElement)if(a.tagName==="SLOT"&&a.hasAttribute(k)&&a.getAttribute(I)===V){i=!0;break}if(i)continue;let s=H(o.getAttribute("name"));t.has(s)||t.set(s,o)}return t}function xl(e,t){let n=e.parentNode;if(!n||n.nodeType!==1)return;let r=n;if(r.tagName!=="SLOT"||!r.hasAttribute(k))return;let o=null;for(let f=r.parentElement;f;f=f.parentElement){if(f[v]){o=f;break}if(f.tagName.includes("-"))return}if(!o)return;let i=H(r.getAttribute("name"));me(o,i,[...r.childNodes]);let s=t.parentNode;if(!s||s.nodeType!==1)return;let a=s;if(a.tagName!=="SLOT")return;let c=null;for(let f=a.parentElement;f;f=f.parentElement)if(f.tagName.includes("-")){c=f;break}if(!c||c.tagName!==o.tagName)return;let l=bn(o),u=bn(c);for(let f of new Set([...l.keys(),...u.keys()])){if(f===i)continue;let d=u.get(f);d?me(o,f,[...d.childNodes].map(p=>document.importNode(p,!0))):l.get(f)&&me(o,f,null)}}function Tl(e,t){if(!e[v])return;let n=bn(e),r=bn(t);if(n.size===0&&r.size===0)return;let o=new Set([...n.keys(),...r.keys()]);for(let i of o){let s=n.get(i),a=r.get(i);s&&a?(vn(s,a),me(e,i,[...s.childNodes])):a?me(e,i,[...a.childNodes].map(c=>document.importNode(c,!0))):me(e,i,null)}}function vn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(a=>document.importNode(a,!0));Sn(n,r);let o=new Map;for(let a of n){if(a.nodeType!==1)continue;let c=He(a);c&&o.set(c,a)}let i=[];for(let a=0;a<r.length;a++){let c=r[a];if(c.nodeType===1){let l=He(c);if(l&&o.has(l)){let f=o.get(l);mn(f,c),i.push(f),o.delete(l);continue}let u=n[a];if(u&&u.nodeType===1&&!He(u)&&u.tagName===c.tagName){mn(u,c),i.push(u);continue}}else if(c.nodeType===3){let l=n[a];if(l&&l.nodeType===3){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}else if(c.nodeType===8){let l=n[a];if(l&&l.nodeType===8){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}i.push(c)}let s=new Set(i);for(let a of n)!s.has(a)&&a.parentNode===e&&e.removeChild(a);for(let a=0;a<i.length;a++){let c=i[a];(c.parentNode!==e||e.childNodes[a]!==c)&&e.insertBefore(c,e.childNodes[a]||null)}}function He(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Jr(){let e=qe(document.body);if(!e||e.size===0)return null;let t=[...e.keys()].sort((c,l)=>l.length-c.length),n=null,r=null;for(let c of t){let l=document.getElementById(`wj-loading:${c}`);if(l instanceof HTMLTemplateElement){n=c,r=l;break}}if(n===null||r===null)return null;let o=e.get(n),i=yt(),s=[];for(let c=o.start.nextSibling;c&&c!==o.end;c=c.nextSibling)s.push(c);let a=document.createRange();return a.setStartAfter(o.start),a.setEndBefore(o.end),a.deleteContents(),o.start.parentNode.insertBefore(r.content.cloneNode(!0),o.end),{slot:o,oldChildren:s,token:N,haveKeys:i}}function ut(e){if(!e||e.token!==N)return;let{slot:t,oldChildren:n}=e;if(t.start.parentNode!==t.end.parentNode)return;let r=document.createRange();r.setStartAfter(t.start),r.setEndBefore(t.end),r.deleteContents();for(let o of n)t.start.parentNode.insertBefore(o,t.end)}function jl(e,t){vn(e,t)}function bs(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function yn(e){let t=document.createElement("script");for(let r of e.attributes)r.name!=="nonce"&&t.setAttribute(r.name,r.value);let n=bs();return n&&t.setAttribute("nonce",n),t.textContent=e.textContent,t}function Xr(e){if(!e.hasAttribute("nonce"))return e.cloneNode(!0);let t=e.cloneNode(!0),n=bs();return n?t.setAttribute("nonce",n):t.removeAttribute("nonce"),t}function ee(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function gn(e){let t=e.getAttribute("name");if(t)return"name="+t;let n=e.getAttribute("property");if(n)return"property="+n;let r=e.getAttribute("http-equiv");return r?"http-equiv="+r:e.hasAttribute("charset")?"charset":null}function Rl(e){if(!e.querySelector("meta"))return;let t=o=>{let i=new Map;for(let s of o.querySelectorAll("meta")){let a=gn(s);if(!a||a===$r)continue;let c=i.get(a);c?c.push(s):i.set(a,[s])}return i},n=t(e),r=t(document.head);for(let[o,i]of n){let s=r.get(o)||[],a=i.map(ee).join(`
|
|
1
|
+
var Ns=Object.defineProperty;var F=(e,t)=>()=>(e&&(t=e(e=0)),t);var oo=(e,t)=>{for(var n in t)Ns(e,n,{get:t[n],enumerable:!0})};function Ke(e){return Object.prototype.hasOwnProperty.call(xn,e)}var xn,Tn=F(()=>{xn=Object.freeze({"@":"event",".":"prop","?":"bool"})});function js(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function io(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<")}var gt=F(()=>{});function jn(e){if(typeof e!="function")return null;let t=e[so];return typeof t=="string"&&t?t:null}function Rn(e,t,n){if(typeof e!="function")return!1;let r=String(t).toLowerCase(),o=String(n||"").toLowerCase();return r==="action"?o==="form":r==="formaction"?o==="button"||o==="input":!1}function ao(e,t,n=!0){if(!e||e===O&&n)return;let r=e===O?'a second "name" attribute':`name="${e}"`;throw new Error(`[webjs] formaction=\${action} on <${t||"button"}> cannot be used when the element already carries a "name" attribute (found ${r}). The action identity is submitted as the button's own name/value pair, so there is no room for a second one. Move the action to the enclosing <form action=\${action}> or drop the submitter's "name".`)}function co(e,t){let n=String(e||"").toLowerCase(),r=t==null?null:String(t).toLowerCase();if(Rs(n,r)){if(n==="input"&&r==="image")throw new Error('[webjs] formaction=${action} is not supported on <input type="image"> because image submitters submit coordinate pairs (name.x/name.y) instead of name=value, so the action identity would never arrive. Use a <button> instead.');if(n==="input")throw new Error('[webjs] formaction=${action} is not supported on <input type="submit"> because the action identity has to occupy the submitter\'s "value", which on this control is also its visible label, so the button would render captioned with the action\'s id and could not be given a real one. Use <button formaction=${action}>Publish</button>, whose label is its children.');return}throw new Error(`[webjs] formaction=\${action} on <${n}>${r?` type="${r}"`:""} requires a submitter control, and formaction is inert on anything else. Use <button formaction=\${action}>.`)}function Rs(e,t){let n=t==null?null:String(t).toLowerCase();return e==="button"?n==null||n===""||n==="submit":e==="input"?n==="submit"||n==="image":!1}function lo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used when the element already carries a "value" attribute. The action identity is submitted as the button's own name/value pair, so both halves are taken. Drop the "value", or dispatch on it from one form-level action instead.`)}function uo(e){throw new Error(`[webjs] a bound formaction=\${action} on <${e||"button"}> cannot also carry a plain formaction attribute: the two name different targets and the renderers resolve them differently. Drop the static attribute.`)}function fo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used with a "form" attribute, which re-points the submitter at a form other than the bound one it sits in. Keep the submitter inside its bound <form>.`)}function po(e,t){if(e)throw new Error(`[webjs] two formaction=\${action} holes were found on one <${t||"button"}>. Only one can win, and the two renderers pick differently, so bind exactly one action per submitter.`)}function ho(e,t){let r=(e||[]).filter(o=>On(o))[0];if(r)throw new Error(`[webjs] a <${t||"button"}> submitter binds .${r}=. That property is a reflected IDL attribute on a submitter, so a property binding is dropped at SSR and written to the attribute in the browser: the page would render on the server and throw on hydration. Write it as a plain attribute.`)}function On(e){let t=String(e).toLowerCase();return t==="name"||t==="value"||t==="formaction"||t==="formmethod"||t==="formenctype"}function Os(e,t,n){let r=t==null?null:String(t),o=n==null?null:String(n);if(r!=null&&/^dialog$/i.test(r))throw new Error(`[webjs] formaction=\${action} on <${e}> cannot be combined with formmethod="dialog", which dismisses a <dialog> instead of submitting, so the bound action would never run. Drop one of the two.`);if(r!=null&&!/^post$/i.test(r))throw new Error(`[webjs] <${e} formmethod="${r}" formaction=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${r}" submission sends none, so the action would never run. Drop the formmethod attribute (WebJs emits formmethod="post" on a bound submitter), or drop the binding.`);if(o!=null&&!bo.has(o.toLowerCase()))throw new Error(`[webjs] <${e} formenctype="${o}" formaction=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${o}" body is neither, so the bound action could never read it. Drop the formenctype attribute (WebJs emits multipart/form-data on a bound submitter).`)}function Ge(e,t,n){if(wt(e)&&Ds(t))throw new Error(Bs(t,n))}function mo(e,t,n){$s(t,n)&&Ge(e,t,n)}function Ln(e,t){if(e)return e;let n=t==="button"||t==="input"?"formaction=":"action=";throw new Error(`[webjs] the function in ${n} on <${t||"form"}> is not a server action. Only a function imported from a 'use server' *.server.{js,ts} module can be bound to a form or a submitter, because the identity the browser submits has to resolve back to something the server can run. Move the handler into a server action and import it, or pass a url string.`)}function Ls(e,t){if(e!=null&&!/^post$/i.test(e))throw new Error(`[webjs] <form method="${e}" action=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${e}" form sends no body. Drop the method attribute (WebJs emits method="post") or remove the bound action.`);if(t!=null&&!bo.has(t.toLowerCase()))throw new Error(`[webjs] <form enctype="${t}" action=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${t}" body is neither, so the submission would run under JS and do nothing without it. Drop the enctype attribute (WebJs emits multipart/form-data).`)}function Ps(e){if(e.duplicateAction)throw new Error("[webjs] two action=${...} holes were found on one <form>. A form can carry only one action binding. Move one to a submit button's formaction=${action} or remove the duplicate.");if(e.staticAction)throw new Error('[webjs] a bound <form action=${action}> also carries a plain action="..." attribute. A bound form posts to the page\'s own url, so the two say different things: without JS the browser would post to the written url and with JS it would not. Drop the action attribute, or drop the binding.');let t=e.propAttrs&&e.propAttrs[0];if(t)throw new Error(`[webjs] a bound <form action=\${action}> also binds .${t}=. A property binding on a native element is dropped at SSR and applied in the browser, so the form would submit one way with JS and another way without it. Write it as a plain attribute.`)}function Ms(e,t){let n=e!==$&&e!=null,r=t!==$&&t!=null;return Ls(n?e:null,r?t:null),{method:n?null:"post",enctype:r?null:"multipart/form-data"}}function yo(e,t,n){let r=t!==$&&t!=null,o=n!==$&&n!=null;return Os(e,r?t:null,o?n:null),{formMethod:r?null:"post",formEnctype:o?null:"multipart/form-data"}}function go(e,t,n,r,o){let i=typeof t=="function"?jn(t):null;if(!i){typeof t=="function"&&Ln(null,e.localName),Fs(e,n,r,o.propAttrs);return}Ps(o);let s=Ms(n,r);e.removeAttribute("action"),Ye(e,"method",n,s.method),Ye(e,"enctype",r,s.enctype),Is(e,i)}function Ye(e,t,n,r){if(r!==null){e.setAttribute(t,r);return}n!==$&&e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Is(e,t){let n=e.firstElementChild,r=n&&n.localName==="input"&&n.getAttribute("name")===O?n:null;if(!r){for(let o of e.children)if(o.localName==="input"&&o.getAttribute("name")===O){r=o;break}}r||(r=e.ownerDocument.createElement("input"),r.setAttribute("type","hidden"),r.setAttribute("name",O),e.insertBefore(r,e.firstChild)),r.getAttribute("value")!==t&&r.setAttribute("value",t)}function Fs(e,t,n,r){let o=e.firstElementChild;if(o&&o.localName==="input"&&o.getAttribute("name")===O)o.remove();else for(let s of e.children)if(s.localName==="input"&&s.getAttribute("name")===O){s.remove();break}let i=s=>(r||[]).some(a=>{let c=String(a).toLowerCase();return c===s||s==="enctype"&&c==="encoding"});t===$&&!i("method")&&e.removeAttribute("method"),n===$&&!i("enctype")&&e.removeAttribute("enctype")}function wo(e,t,n,r){let o=i=>(r||[]).some(s=>String(s).toLowerCase()===i);t===$&&!o("formmethod")&&e.removeAttribute("formmethod"),n===$&&!o("formenctype")&&e.removeAttribute("formenctype")}function $s(e,t){let n=String(e).toLowerCase();Ke(n[0])&&(n=n.slice(1));let r=String(t||"").toLowerCase();return n==="action"?r==="form":n==="formaction"?r==="button"||r==="input":!1}function wt(e,t){if(typeof e=="function")return!0;if(!Array.isArray(e))return!1;let n=t||new Set;return n.has(e)?!1:(n.add(e),e.some(r=>wt(r,n)))}function Ds(e){let t=String(e).toLowerCase();return Ke(t[0])&&(t=t.slice(1)),t==="action"||t==="formaction"}function Bs(e,t){return`[webjs] a function was interpolated into ${String(e).toLowerCase()}= on <${t||"form"}>. Stringifying a function into HTML would leak its source (a 'use server' action's body included) to every visitor, so this is refused. To run a server action from a form, write an unquoted action=\${action} on the <form> itself or a formaction=\${action} on a <button> inside a bound form. Anywhere else, pass a URL string.`}var O,so,bo,$,Je=F(()=>{Tn();gt();O="__webjs_action",so="$$webjsAction";bo=new Set(["multipart/form-data","application/x-www-form-urlencoded"]);$=Symbol("webjs.attr.absent")});function Ro(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}function ma(){if(ko||(ie=Ro(),!ie))return;et=HTMLSlotElement.prototype.assignedNodes,Kn=HTMLSlotElement.prototype.assignedElements,Lt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(n){return this.hasAttribute(N)&&!Gn(this)?er(this,n):et?et.call(this,n):[]},HTMLSlotElement.prototype.assignedElements=function(n){return this.hasAttribute(N)&&!Gn(this)?er(this,n).filter(r=>r.nodeType===1):Kn?Kn.call(this,n):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=Lt&&Lt.get?Lt.get.call(this):null;return n||xo(this)}});let e=Object.getOwnPropertyDescriptor(Text.prototype,"assignedSlot");Object.defineProperty(Text.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=e&&e.get?e.get.call(this):null;return n||xo(this)}}),Yn=HTMLSlotElement.prototype.assign,HTMLSlotElement.prototype.assign=function(...n){if(this.hasAttribute(N)&&!Gn(this)){let r=ba(this);if(r){let o=Q(r);o.manualAssign||(o.manualAssign=new Map);let i=n.filter(Boolean);for(let[s,a]of o.manualAssign){if(s===this)continue;let c=a.filter(l=>{let u=l.deref();return u!==void 0&&i.indexOf(u)===-1});c.length!==a.length&&(c.length?o.manualAssign.set(s,c):o.manualAssign.delete(s))}if(i.length?o.manualAssign.set(this,i.map(s=>new WeakRef(s))):o.manualAssign.delete(this),o.applying&&o.pendingRecordNodes)for(let s of i)o.pendingRecordNodes.add(s);else o.pendingRecordNodes=new Set(i);xe(o),Z(r)}return}return Yn?Yn.apply(this,n):void 0},ko=!0}function ir(e,t){let n=e.manualAssign;if(!n||!n.size)return null;for(let[r,o]of n){let i=!1,s=o.filter(a=>{let c=a.deref();return c===void 0?!1:(c===t&&(i=!0),!0)});if(s.length!==o.length&&(s.length?n.set(r,s):n.delete(r)),i){let a=e.host;return a&&(r===a||a.contains(r))?r:null}}return null}function ba(e){for(let t=e.parentElement;t;t=t.parentElement)if(t[v])return X(t,e)?t:null;return null}function Gn(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function er(e,t){if(e.getAttribute(I)!==V)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:tr(n,new Set,0)}function tr(e,t,n){if(n>=ha)return e.slice();let r=[];for(let o of e)if(o.nodeType===1&&o.tagName==="SLOT"){let i=o;if(t.has(i))continue;if(t.add(i),i.hasAttribute(N)){let s=er(i,{flatten:!1});if(s.length>0)for(let a of tr(s,t,n+1))r.push(a);else for(let a of tr(Array.from(i.childNodes),t,n+1))r.push(a)}else if(et){let s=et.call(i,{flatten:!0});for(let a of s)r.push(a)}else r.push(o)}else r.push(o);return r}function xo(e){let t=e.parentElement;return t&&t.tagName==="SLOT"&&t.hasAttribute(N)&&t.getAttribute(I)===V?t:null}function Q(e){let t=e,n=t[v];return n||(n={host:e,authored:[],assignedByName:new Map,lastSnapshot:new WeakMap},t[v]=n),n}function sr(e){return!!e[v]}function Oo(e){let t=Q(e);for(;e.firstChild;){let n=e.firstChild;t.authored.push(n),_.add(n),e.removeChild(n)}xe(t)}function xe(e){let t=e.assignedByName;t.clear();for(let n of e.authored)ya(t,de(e,n),n)}function de(e,t){let n=ir(e,t);if(n)return H(n.getAttribute("name"));if(e.adoptedKey){let r=e.adoptedKey.get(t);if(r!==void 0)return r}return Po(t)}function Lo(e){let t=Q(e);t.adopted=!0;let n=new Set,r=e.querySelectorAll(`slot[${N}]`);for(let o of r){let i=o;if(!X(e,i)||i.getAttribute(I)!==V||Dt(t,e,i))continue;let s=H(i.getAttribute("name"));if(!n.has(s)){n.add(s);let a=Array.from(i.childNodes);for(let c of a)t.authored.push(c),Po(c)!==s&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(c,s));t.lastSnapshot.set(i,a.slice())}}for(let o of e.querySelectorAll("wj-slot-park"))if(X(e,o)){for(let i of Array.from(o.childNodes))_.add(i),t.authored.push(i);o.remove()}xe(t)}function H(e){return e==null||e===""||e==="default"?null:e}function Po(e){return e.nodeType!==1?null:H(e.getAttribute("slot"))}function ya(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function me(e,t,n){let r=Q(e),o=H(t),i=Array.isArray(n)?n.filter(Boolean):n?[n]:[],s=r.authored.findIndex(c=>de(r,c)===o),a=r.authored.filter(c=>de(r,c)===o);r.authored=r.authored.filter(c=>de(r,c)!==o),(s===-1||s>r.authored.length)&&(s=r.authored.length);for(let c of i)c.nodeType===1&&!ir(r,c)&&(o==null?c.removeAttribute("slot"):c.setAttribute("slot",o)),_.add(c);if(r.authored.splice(s,0,...i),r.applying&&r.pendingRecordNodes){for(let c of a)r.pendingRecordNodes.add(c);for(let c of i)r.pendingRecordNodes.add(c)}else r.pendingRecordNodes=new Set([...a,...i]);if(r.adoptedKey){for(let c of a)r.adoptedKey.delete(c);for(let c of i)r.adoptedKey.delete(c)}xe(r),Z(e)}function ga(){oe||!ie||(oe=Node.prototype.appendChild,Mo=Node.prototype.insertBefore,ke=Node.prototype.removeChild,nr=Node.prototype.replaceChild,Io=Element.prototype.append,Fo=Element.prototype.prepend,$o=Element.prototype.replaceChildren,Pt=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML"),rr=Object.getOwnPropertyDescriptor(Node.prototype,"textContent"))}function Ft(e,t){let n=e[T];e[T]=!0;try{return t()}finally{e[T]=n,n||ar(e)}}function Do(e){if(!ie)return;let t=e,n=Q(e);n.backstop||(n.backstop=new MutationObserver(r=>$t(e,n,r)),n.backstop.observe(e,{childList:!0,subtree:!1}),n.flipSensor=new MutationObserver(r=>Bo(e,r)),n.flipSensor.observe(e,{attributes:!0,attributeFilter:["slot","name"],subtree:!0}))}function $t(e,t,n){let r=e,o=r[he],i=r[Symbol.for("webjs.instance")],s=!1,a=new Set;for(let c of n){for(let l of c.addedNodes)if(a.add(l),l!==o&&!(i&&qo(i,l))){if(t.authored.indexOf(l)!==-1){s=!0;continue}_.add(l),t.authored.push(l),s=!0}for(let l of c.removedNodes){let u=t.authored.indexOf(l);if(u===-1||e.contains(l))continue;_.has(l)&&l.parentNode==null&&!a.has(l)||(t.authored.splice(u,1),s=!0)}}s&&Z(e)}function ar(e){let t=e,n=t[v];if(!(n&&n.backstop))return;let r=n.backstop.takeRecords();(!(Symbol.for("webjs.instance")in t)||t[Symbol.for("webjs.instance")])&&$t(e,n,r)}function Bo(e,t){let n=e[v];if(!n)return;let r=!1;for(let o of t){if(o.type!=="attributes")continue;let i=o.target;o.attributeName==="name"?i.tagName==="SLOT"&&i.hasAttribute(N)&&X(e,i)&&(r=!0):o.attributeName==="slot"&&(n.adoptedKey&&n.adoptedKey.delete(i),n.authored.indexOf(i)!==-1&&(r=!0))}r&&Z(e)}function Uo(e){let t=e[v];t&&(t.backstop&&($t(e,t,t.backstop.takeRecords()),t.backstop.disconnect(),t.backstop=void 0),t.flipSensor&&(Bo(e,t.flipSensor.takeRecords()),t.flipSensor.disconnect(),t.flipSensor=void 0))}function Ho(e){if(!ie)return;let t=e,n=t[v];if(!n)return;let r=t[Symbol.for("webjs.instance")],o=Symbol.for("webjs.instance")in t,i=!o&&n.adopted===!0,s=!1;for(let a of Array.from(e.childNodes))if(a!==t[he]){if(n.authored.indexOf(a)!==-1){s=!0;continue}o&&(!r||qo(r,a))||!o&&i||(_.add(a),n.authored.push(a),s=!0)}s&&Z(e)}function qo(e,t){if(!e||!e.startNode||!e.endNode)return!1;if(t===e.startNode||t===e.endNode)return!0;for(let n=e.startNode.nextSibling;n&&n!==e.endNode;n=n.nextSibling)if(n===t)return!0;return!1}function wa(e){let t=e,n=t[he];return(!n||!n.isConnected)&&(n||(n=e.ownerDocument.createElement("wj-slot-park"),n.setAttribute("hidden",""),n.style.display="none",t[he]=n),Ft(e,()=>oe.call(e,n))),n}function pe(e){return e instanceof Node||!!(e&&typeof e=="object"&&e.ownerDocument&&e.ownerDocument.defaultView&&e instanceof e.ownerDocument.defaultView.Node)}function Jn(e,t,n){if(n&&!pe(t))return[e.ownerDocument.createTextNode(`${t}`)];if(!pe(t))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");if(t&&t.nodeType===11){let r=Array.from(t.childNodes);Mt(e,r);for(let o of r)ke.call(t,o);return r}return Mt(e,[t]),[t]}function Mt(e,t){Ne(e,t);for(let n of t){if(!pe(n))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");let r=n.nodeType;if(r!==1&&r!==3&&r!==4&&r!==7&&r!==8&&r!==11)throw new DOMException("Failed to execute insertion on the host: the node type may not be inserted here.","HierarchyRequestError")}}function Ne(e,t){for(let n of t)if(n===e||n.nodeType===1&&n.contains(e))throw new DOMException("Failed to execute insertion on the host: the new child contains the parent.","HierarchyRequestError")}function Xn(e,t,n){let r=e.authored;for(let i of t){let s=r.indexOf(i);s!==-1&&r.splice(s,1)}let o=n==null?r.length:r.indexOf(n);o===-1&&(o=r.length),r.splice(o,0,...t)}function Wo(e,t){let n=e[v];return n?Dt(n,e,t):!1}function Dt(e,t,n){for(let r=n;r&&r!==t;r=r.parentNode)if(e.authored.indexOf(r)!==-1)return!0;return!1}function Qn(e,t){if(_.has(t))return!0;let n=t.parentNode;if(n==null)return!1;if(n===e||n===e[he])return!0;let r=e[v];return n.nodeType===1&&n.tagName==="SLOT"&&n.hasAttribute(N)&&(r&&r.lastSnapshot.has(n)||e.contains(n)&&X(e,n))}function Zn(e,t){let n=[];for(let i of t)pe(i)?i.nodeType===11?n.push({frag:i}):n.push({node:i}):n.push({text:`${i}`});for(let i of n)i.frag?Ne(e,Array.from(i.frag.childNodes)):i.node&&Mt(e,[i.node]);let r=e.ownerDocument.createDocumentFragment();for(let i of n)if(i.text!==void 0)oe.call(r,e.ownerDocument.createTextNode(i.text));else if(i.frag){let s=Array.from(i.frag.childNodes);Mt(e,s);for(let a of s)oe.call(r,a)}else i.node&&(Ne(e,[i.node]),oe.call(r,i.node));let o=Array.from(r.childNodes);Ne(e,o);for(let i of o)ke.call(r,i);return o}function J(e,t,n){if(t.applying&&t.pendingRecordNodes)for(let r of n||[])t.pendingRecordNodes.add(r);else t.pendingRecordNodes=new Set(n||[]);if(t.adoptedKey&&n)for(let r of n)t.adoptedKey.delete(r);xe(t),Z(e)}function Vo(e){if(!ie)return;let t=e;if(t[To])return;ga(),t[To]=!0;let n=Q(e);t.appendChild=function(r){if(t[T])return oe.call(this,r);let o=Jn(e,r,!1);for(let i of o)_.add(i);return Xn(n,o,null),J(e,n,o),r},t.insertBefore=function(r,o){if(t[T])return Mo.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute insertBefore on the host: parameter 1 is not of type Node.");if(o!=null&&!pe(o))throw new TypeError("Failed to execute insertBefore on the host: parameter 2 is not of type Node.");if(Ne(e,r.nodeType===11?Array.from(r.childNodes):[r]),o!=null&&(n.authored.indexOf(o)===-1||!Qn(e,o)))throw new DOMException("insertBefore: reference node is not an assigned child of this host","NotFoundError");if(r===o)return r;let i=Jn(e,r,!1);for(let s of i)_.add(s);return Xn(n,i,o||null),J(e,n,i),r},t.removeChild=function(r){if(t[T])return ke.call(this,r);let o=n.authored.indexOf(r);if(o===-1)return ke.call(this,r);if(!Qn(e,r))throw new DOMException("removeChild: the node is not an assigned child of this host","NotFoundError");return n.authored.splice(o,1),J(e,n,[r]),r},t.replaceChild=function(r,o){if(t[T])return nr.call(this,r,o);if(n.authored.indexOf(o)===-1)return nr.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute replaceChild on the host: parameter 1 is not of type Node.");if(Ne(e,r.nodeType===11?Array.from(r.childNodes):[r]),!Qn(e,o))throw new DOMException("replaceChild: the node to be replaced is not an assigned child of this host","NotFoundError");if(r===o)return o;let s=Jn(e,r,!1);for(let c of s)_.add(c);for(let c of s){if(c===o)continue;let l=n.authored.indexOf(c);l!==-1&&n.authored.splice(l,1)}let a=n.authored.indexOf(o);return n.authored.splice(a,1,...s),J(e,n,[...s,o]),o},t.append=function(...r){if(t[T])return Io.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);Xn(n,o,null),J(e,n,o)},t.prepend=function(...r){if(t[T])return Fo.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);for(let i of o){let s=n.authored.indexOf(i);s!==-1&&n.authored.splice(s,1)}n.authored.unshift(...o),J(e,n,o)},t.replaceChildren=function(...r){if(t[T])return $o.apply(this,r);let o=Zn(e,r);for(let s of o)_.add(s);let i=n.authored;n.authored=o.slice(),J(e,n,[...i,...o])},Object.defineProperty(t,"innerHTML",{configurable:!0,get(){return Pt.get.call(this)},set(r){if(t[T]){Pt.set.call(this,r);return}let o=e.ownerDocument.createElement("div");Pt.set.call(o,r===null?"":`${r}`);let i=Array.from(o.childNodes);for(let a of i)_.add(a);let s=n.authored;n.authored=i,J(e,n,[...s,...i])}}),Object.defineProperty(t,"textContent",{configurable:!0,get(){return rr.get.call(this)},set(r){if(t[T]){rr.set.call(this,r);return}let o=r==null||r===""?[]:[e.ownerDocument.createTextNode(`${r}`)];for(let s of o)_.add(s);let i=n.authored;n.authored=o,J(e,n,[...i,...o])}})}function Z(e){if(!ie)return;let t=e[v];if(t){if(t.applying){t.reapply=!0;return}t.applying=!0;try{do{t.reapply=!1;let n=t.pendingRecordNodes||_a;t.pendingRecordNodes=void 0,Aa(e,t,n),Sa(e,t),xe(t);let r=[],o=new Set;for(let u of e.querySelectorAll(`slot[${N}]`))if(X(e,u)&&!Dt(t,e,u)){if(!u.hasAttribute(I)&&!(tt in u)){o.add(H(u.getAttribute("name")));continue}r.push(u)}let i=new Map;for(let u of r){let f=H(u.getAttribute("name")),d=i.get(f);d||(d=[],i.set(f,d)),d.push(u)}let s=[];for(let[u,f]of i){let d=t.assignedByName.get(u)||[];for(let p=0;p<f.length;p++){let m=f[p],g=d.filter(y=>{let h=ir(t,y);return h?h===m:p===0}),b=g.filter(y=>y===e||y.nodeType===1&&y.contains(e));if(b.length){for(let y of b)_.delete(y);g=g.filter(y=>b.indexOf(y)===-1)}g.length>0?Ea(t,m,g)&&s.push(m):Ca(t,m)&&s.push(m)}}for(let u of s)ka(t,u);let a=new Set(i.keys());for(let u of o)a.add(u);let c=new Set;for(let u of t.authored)a.has(de(t,u))||c.add(u);let l=e[he];if(l)for(let u of Array.from(l.childNodes))c.has(u)||ke.call(l,u);if(c.size){let u=wa(e);for(let f of c)f.parentNode!==u&&(_.delete(f),Ft(e,()=>oe.call(u,f)))}if(t.backstop){let u=t.backstop.takeRecords();u.length&&$t(e,t,u)}}while(t.reapply)}finally{t.applying=!1}}}function Aa(e,t,n){for(let r of e.querySelectorAll(`slot[${N}][${I}="${V}"]`)){if(!X(e,r)||Dt(t,e,r))continue;let o=r,i=t.lastSnapshot.get(o);if(!i)continue;let s=Array.from(o.childNodes);if(or(s,i))continue;let a=t.authored,c=H(o.getAttribute("name")),l=s.filter(m=>!n.has(m));for(let m of l)a.indexOf(m)===-1&&de(t,m)!==c&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(m,c));for(let m of a){if(l.indexOf(m)!==-1||de(t,m)!==c)continue;let g=a.indexOf(m),b=0;for(let y=0;y<l.length;y++){let h=a.indexOf(l[y]);h!==-1&&h<g&&(b=y+1)}l.splice(b,0,m)}let u=new Set(l);for(let m of i)u.add(m);let f=-1,d=0;for(let m of a){if(u.has(m)){f===-1&&(f=d);continue}d+=1}let p=a.filter(m=>!u.has(m));(f===-1||f>p.length)&&(f=p.length),p.splice(f,0,...l),t.authored=p}}function Sa(e,t){let n=e[he];t.authored=t.authored.filter(r=>{if(_.has(r))return!0;let o=r.parentNode;return o==null?!1:!!(o===e||o===n||o.nodeType===1&&o.tagName==="SLOT"&&o.hasAttribute(N)&&(t.lastSnapshot.has(o)||e.contains(o)&&X(e,o)))})}function zo(e){if(!ie)return!1;for(let t of e.querySelectorAll(`slot[${N}][${I}]`))if(X(e,t))return!0;return!1}function X(e,t){let n=t[It];if(n)return n===e;let r=typeof t.getAttribute=="function"?t.getAttribute(pa):null;if(r){let o=va(t,r);if(o)return o===e}for(let o=t.parentElement;o&&o!==e;o=o.parentElement)if(o.tagName.includes("-"))return!1;return!0}function va(e,t){let n=t.toLowerCase();for(let r=e.parentElement;r;r=r.parentElement)if(r.tagName.toLowerCase()===n)return r;return null}function Ea(e,t,n){for(let l of n)_.delete(l);let r=t.getAttribute(I)!==V,o=e.lastSnapshot.get(t)||[],i=r||!or(o,n);if(!r&&or(Array.from(t.childNodes),n))return e.lastSnapshot.set(t,n.slice()),i;let s=t[tt];if(r&&s)for(;t.firstChild;)s.appendChild(t.firstChild);let a=new Set(n);for(let l of Array.from(t.childNodes))a.has(l)||t.removeChild(l);let c=t.firstChild;for(let l of n){if(l===c){c=c.nextSibling;continue}t.insertBefore(l,c)}return t.setAttribute(I,V),e.lastSnapshot.set(t,n.slice()),i}function Ca(e,t){let n=t.getAttribute(I)===V;if(t.setAttribute(I,da),!n)return jo(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return jo(t),!0}function jo(e){let t=e[tt];!t||t.childNodes.length===0||e.appendChild(t)}function Ko(e,t){if(!sr(e))return;let n=Q(e),r=H(t.getAttribute("name")),o=n.assignedByName.get(r);if(o)for(let i of o)i.parentNode===t&&(_.add(i),t.removeChild(i));n.lastSnapshot.delete(t)}function Na(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function ka(e,t){e.pendingSlotChanges||(e.pendingSlotChanges=new Set),e.pendingSlotChanges.add(t),!e.slotChangeScheduled&&(e.slotChangeScheduled=!0,queueMicrotask(()=>{e.slotChangeScheduled=!1;let n=e.pendingSlotChanges||new Set;e.pendingSlotChanges=new Set;for(let r of n)Na(r)}))}function or(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ie,v,N,I,V,da,tt,It,pa,ha,et,Kn,Lt,Yn,ko,T,To,he,_,oe,Mo,ke,nr,Io,Fo,$o,Pt,rr,_a,Bt=F(()=>{ie=Ro(),v=Symbol("webjs.slot.state"),N="data-webjs-light",I="data-projection",V="actual",da="fallback",tt=Symbol("webjs.slot.fallbackFrag"),It=Symbol("webjs.slot.templateOwner"),pa="data-wj-slot-owner",ha=64,et=null,Kn=null,Lt=null,Yn=null,ko=!1;ma();T=Symbol("webjs.slot.rendering"),To=Symbol("webjs.slot.intercepted"),he=Symbol("webjs.slot.park"),_=new WeakSet,oe=null,Mo=null,ke=null,nr=null,Io=null,Fo=null,$o=null,Pt=null,rr=null;_a=new Set});function ci(e,t,n){oc.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function br(e){return JSON.stringify(await li(e))}function ye(e){return ui(JSON.parse(e))}async function li(e){let t=ic();return await sc(e,t),be(e,t)}function ui(e){return ae(e,uc())}function ic(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function sc(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!dc(r))continue;let o=t.refCount.get(r)||0;if(t.refCount.set(r,o+1),!(o>0)){if(typeof Blob<"u"&&r instanceof Blob){let i=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,i);continue}if(typeof FormData<"u"&&r instanceof FormData){let i=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,i);for(let[,s]of i)typeof s!="string"&&n.push(s);continue}if(Array.isArray(r))for(let i=0;i<r.length;i++)n.push(r[i]);else if(r instanceof Map)for(let[i,s]of r)n.push(i),n.push(s);else if(r instanceof Set)for(let i of r)n.push(i);else if(pc(r))for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.push(r[i])}}for(let[r,o]of t.refCount)o>1&&t.idOf.set(r,t.nextId++)}function be(e,t){if(e===null)return null;if(e===void 0)return{[A]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[A]:"NaN"}:e===1/0?{[A]:"Inf"}:e===-1/0?{[A]:"-Inf"}:Object.is(e,-0)?{[A]:"-0"}:e;if(n==="bigint")return{[A]:"BigInt",v:e.toString()};if(n==="symbol"){let i=Symbol.keyFor(e);if(i===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[A]:"Sym",v:i}}if(n==="function")throw new TypeError("Cannot serialize a function.");let r=t.idOf.get(e);if(r!==void 0&&t.emitted.has(r))return{[A]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let o;if(e instanceof Date)o={[A]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)o={[A]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let i=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?o={[A]:"File",v:st(i),n:e.name,t:e.type||"",m:e.lastModified}:o={[A]:"Blob",v:st(i),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let i=t.fdEntries.get(e)||[...e.entries()],s=[];for(let[a,c]of i)s.push([a,be(c,t)]);o={[A]:"FD",v:s}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)o=ac(e);else if(e instanceof Map){let i=[];for(let[s,a]of e)i.push([be(s,t),be(a,t)]);o={[A]:"Map",v:i}}else if(e instanceof Set){let i=[];for(let s of e)i.push(be(s,t));o={[A]:"Set",v:i}}else if(Array.isArray(e))o=e.map(i=>be(i,t));else{o={};for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=hc(i)?"_"+i:i;ci(o,s,be(e[i],t))}}if(r!==void 0){if(Array.isArray(o))return{[A]:"Arr",_id:r,v:o};o._id=r}return o}function ac(e){if(e instanceof ArrayBuffer)return{[A]:"buf",v:st(new Uint8Array(e))};if(e instanceof DataView)return{[A]:"dv",v:st(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=cc[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[A]:n,v:st(r)}}function uc(){return{refs:new Map}}function ae(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let i=[];for(let s=0;s<e.length;s++)i.push(ae(e[s],t));return i}let n=e[A];if(typeof n=="string")return fc(e,n,t);let r={},o=e._id;typeof o=="number"&&t.refs.set(o,r);for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="_id")continue;let s=mc(i)?i.slice(1):i;ci(r,s,ae(e[i],t))}return r}function fc(e,t,n){let r=e._id,o=i=>(typeof r=="number"&&n.refs.set(r,i),i);switch(t){case"undef":return;case"NaN":return NaN;case"Inf":return 1/0;case"-Inf":return-1/0;case"-0":return-0;case"BigInt":return o(BigInt(e.v));case"Sym":return o(Symbol.for(e.v));case"Date":return o(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let i=new Error(e.v.message);return i.name=e.v.name,e.v.stack&&(i.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,i),i}case"Map":{let i=new Map;typeof r=="number"&&n.refs.set(r,i);for(let[s,a]of e.v)i.set(ae(s,n),ae(a,n));return i}case"Set":{let i=new Set;typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.add(ae(s,n));return i}case"Arr":{let i=[];typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.push(ae(s,n));return i}case"Ref":{let i=n.refs.get(e.v);if(i===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return i}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let i=it(e.v);return o(new Blob([i],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let i=it(e.v);return o(new File([i],e.n,{type:e.t||"",lastModified:e.m}))}case"FD":{if(typeof FormData>"u")throw new TypeError("FormData is not available in this environment.");let i=new FormData;o(i);for(let[s,a]of e.v){let c=ae(a,n);i.append(s,c)}return i}default:{if(t==="buf"){let s=it(e.v);return o(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength))}if(t==="dv"){let s=it(e.v);return o(new DataView(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)))}let i=lc[t];if(i){let s=it(e.v),a=s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength);return o(new i(a))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function dc(e){return e!==null&&typeof e=="object"}function pc(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function hc(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function mc(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function st(e){if(fi)return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64");let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function it(e){if(fi){let r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}var A,oc,cc,lc,fi,at=F(()=>{A="_$wj",oc=new Set(["__proto__","constructor","prototype"]);cc={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},lc={i8:Int8Array,u8:Uint8Array,u8c:Uint8ClampedArray,i16:Int16Array,u16:Uint16Array,i32:Int32Array,u32:Uint32Array,f32:Float32Array,f64:Float64Array,bi64:typeof BigInt64Array<"u"?BigInt64Array:null,bu64:typeof BigUint64Array<"u"?BigUint64Array:null};fi=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Ci={};oo(Ci,{observeLazy:()=>$c,observeViewportOnce:()=>Uc});function Ei(e){let t=wr.get(e);return t||(t=import(e).finally(()=>wr.delete(e)),wr.set(e,t),t)}function $c(e){for(let[t,n]of Object.entries(e))ge.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ge.values())Ei(t);ge.clear();return}lt||(lt=new IntersectionObserver(Dc,{rootMargin:"200px"})),vi(),typeof MutationObserver<"u"&&new MutationObserver(()=>vi()).observe(document.body,{childList:!0,subtree:!0})}function vi(){if(!(!lt||!ge.size))for(let e of ge.keys())for(let t of document.querySelectorAll(e))lt.observe(t)}function Dc(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ge.get(n);r&&(Ei(r),ge.delete(n),lt?.unobserve(t.target))}}function Bc(e){for(let t of e){if(!t.isIntersecting)continue;let n=Qt.get(t.target);Qt.delete(t.target),ct?.unobserve(t.target),n&&n()}}function Uc(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(ct||(ct=new IntersectionObserver(Bc,{rootMargin:"200px"})),Qt.set(e,t),ct.observe(e),()=>{Qt.delete(e),ct?.unobserve(e)})}var ge,lt,wr,ct,Qt,Ni=F(()=>{ge=new Map,lt=null,wr=new Map;ct=null,Qt=new WeakMap});var _r,Ar=F(()=>{_r=typeof HTMLElement<"u"?class extends HTMLElement{constructor(){super(),this._webjsLoadedSrc=null,this._webjsLazyTeardown=null}static get observedAttributes(){return["src"]}connectedCallback(){this._webjsScheduleLoad()}disconnectedCallback(){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null)}attributeChangedCallback(t,n,r){t==="src"&&this.isConnected&&this._webjsScheduleLoad()}_webjsScheduleLoad(){let t=this.getAttribute("src");if(!t){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),this._webjsLoadedSrc=null;return}let n=t;try{n=new URL(t,location.href).href}catch{}if(n===this._webjsLoadedSrc)return;this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),(this.getAttribute("loading")||"eager").toLowerCase()==="lazy"?(this._webjsLoadedSrc=n,Promise.resolve().then(()=>(Ni(),Ci)).then(({observeViewportOnce:o})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=o(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(Zt(),ki)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&_r&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",_r)});function qc(e,t,n){switch(e){case"append":n&&t.append(n);break;case"prepend":n&&t.prepend(n);break;case"before":n&&t.before(n);break;case"after":n&&t.after(n);break;case"replace":n&&t.replaceWith(n);break;case"update":n&&t.replaceChildren(n);break;case"remove":t.remove();break;default:break}}function vr(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let i=n.createElement("template");i.innerHTML=e,r=i.content}else if(e&&e.nodeType)r=e;else return;let o=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(o.length)for(let i of o)n.body.append(i);else n.body.append(r)}var Hc,Sr,en=F(()=>{Hc=new Set(["append","prepend","before","after","replace","update"]);Sr=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this._webjsApplied||(this._webjsApplied=!0,this._webjsApply())}_webjsApply(){let t=(this.getAttribute("action")||"").toLowerCase(),n=this.ownerDocument||document,r=[],o=this.getAttribute("target");if(o){let s=n.getElementById(o);s&&(r=[s])}else{let s=this.getAttribute("targets");if(s)try{r=Array.from(n.querySelectorAll(s))}catch{r=[]}}let i=Hc.has(t)?this.querySelector("template"):null;try{for(let s of r){let a=i?i.content.cloneNode(!0):null;qc(t,s,a)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Sr&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Sr)});var xi,Ti=F(()=>{xi=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&xi&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",xi)});function tn(e,t){let n=typeof document<"u"?document:null,r=e||n;if(!r||typeof r.querySelectorAll!="function")return;if(t&&t.frame===!0){Er(r,!0);return}Oi();let o=r===n,i=!!n&&!o&&typeof n.contains=="function"&&n.contains(r),s=!!n&&!o&&!i;s&&(Er(n,!0),ce.clear(),Nr.clear()),(o||s)&&(Cr=!0);let a=j.ingested+j.replaced;zc(Er(r),a)}function Er(e,t){let n=null;for(let r of e.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]')){let o=Vc(r.getAttribute?.("data-webjs-dev"));o!==null&&(n=o),ji(t?null:r.textContent,r)}for(let r of e.querySelectorAll("[data-webjs-seed]"))ji(t?null:r.getAttribute("data-webjs-seed"),r,()=>r.removeAttribute("data-webjs-seed"));return n}function ji(e,t,n){if(e)try{let r=ye(e);if(r&&typeof r=="object")for(let o in r){ce.has(o)?j.replaced++:j.ingested++,ce.set(o,r[o]);let i=o.indexOf("/",o.indexOf("/")+1);i>0&&Nr.add(o.slice(0,i))}}catch{}n?n():t.remove?.()}function Vc(e){return typeof e!="string"?null:e||"ok"}function zc(e,t){if(e===null)return;let n=++Wc;Me={epoch:n,hits:j.hits,misses:j.misses,keyMisses:j.keyMisses,merged:t,marker:e};let r=()=>{!Me||Me.epoch!==n||Oi()};try{typeof requestIdleCallback=="function"?requestIdleCallback(r,{timeout:1e3}):setTimeout(r,250)}catch{Me=null}}function Oi(){let e=Me;if(Me=null,!!e)try{Kc(e)}catch{}}function Kc(e){let t=j.hits-e.hits,n=j.misses-e.misses,r=j.ingested+j.replaced-e.merged,o=j.keyMisses-e.keyMisses;if(n===0)return;let i=e.marker==="streamed"?"This page streams (a Suspense or <webjs-suspense> boundary), and a streamed render emits no seeds, so every action call on it goes to the network.":e.marker==="drop"?"The page's seeds could not be serialized, so the whole block was dropped. Something an action returned is not serializer-safe; the server response reports collected above emitted.":o===0?null:"The key is the action file hash plus the function name plus the serialized arguments, so an argument the SSR render never used misses (a deliberate refetch after hydration misses too, and is expected). A miss on an action this page never seeded is NOT counted here, because a mutation or a client-only read could never have been seeded.";if(i===null)return;let a=e.marker==="streamed"||e.marker==="drop"?`${n} of ${t+n} action call(s) in the hydration window went to the network`:`${o} action call(s) in the hydration window asked for a key this page seeded under DIFFERENT arguments`;console.warn(`[webjs] SSR action seeding: ${a} (${r} seed(s) on this page, ${ce.size} still unconsumed). ${i} See https://webjs.dev/docs/data-fetching for the seeding reference.`)}function Yc(e,t,n){Cr||(Cr=!0,tn());let r=`${e}/${t}/${n}`;if(ce.has(r)){let o=ce.get(r);return ce.delete(r),j.hits++,o}return j.misses++,Nr.has(`${e}/${t}`)&&j.keyMisses++,Ri}function Gc(){return{...j,pending:ce.size}}var ce,Ri,Cr,j,Nr,Me,Wc,kr=F(()=>{at();ce=new Map,Ri=Symbol("webjs.seed.miss"),Cr=!1,j={ingested:0,replaced:0,hits:0,misses:0,keyMisses:0},Nr=new Set,Me=null,Wc=0});function xr(e){if(!(!Array.isArray(e)||!e.length)){nn+=1;for(let t of e)t&&Li.set(t,nn)}}function Xc(){return nn}function Qc(e,t,n){if(!(!Array.isArray(t)||!t.length)&&(Ie.delete(e),Ie.set(e,{tags:t.slice(),since:typeof n=="number"?n:nn}),Ie.size>Jc)){let r=Ie.keys().next().value;r!==void 0&&Ie.delete(r)}}function Zc(e){let t=Ie.get(e);if(!t)return!1;for(let n of t.tags)if((Li.get(n)||0)>t.since)return!0;return!1}function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var nn,Li,Ie,Jc,jr=F(()=>{nn=0,Li=new Map,Ie=new Map,Jc=1e3});var ki={};oo(ki,{_FALLBACK_MARKER_KEY:()=>cn,_FRAME_TOP:()=>Zi,_LIVE_ATTRS:()=>Fr,_activateSwappedRange:()=>Zr,_activeFrameId:()=>Qi,_addNewHeadElements:()=>Dr,_applyOptimisticLoading:()=>Jr,_applyStreamedResolve:()=>As,_applySwap:()=>Gr,_blurOutgoingFocus:()=>sn,_buildHaveHeader:()=>yt,_buildSubmitFormData:()=>Ji,_bumpNavToken:()=>Dl,_clearFormBusy:()=>ms,_clearFrameBusy:()=>ps,_collectBoundaries:()=>We,_currentPageUrl:()=>Bl,_diffElementInPlace:()=>mn,_eligibleAnchorHref:()=>un,_encodeSubmitBody:()=>Gi,_findAnchorInPath:()=>Xi,_getSubmitAction:()=>Ki,_getSubmitEnctype:()=>Yi,_getSubmitMethod:()=>zi,_isNonHtmlPath:()=>Wl,_isPreBootNavigation:()=>ts,_keyOf:()=>qe,_markFormBusy:()=>hs,_markFrameBusy:()=>ds,_mergeHead:()=>gs,_navToken:()=>$l,_onPopState:()=>Hr,_onSubmit:()=>qr,_parseHTML:()=>Br,_planBoundarySwap:()=>ns,_prefetch:()=>Ve,_prefetchAnchor:()=>cs,_prefetchCache:()=>S,_prefetchHasHoverPointer:()=>ss,_prefetchInflightSize:()=>Ml,_prefetchMode:()=>fn,_prefetchPeek:()=>Pl,_prefetchSaysSaveData:()=>zr,_prefetchSuppressed:()=>as,_prefetchTake:()=>ls,_reactivateScripts:()=>wn,_readStreamedShell:()=>ws,_reconcileChildren:()=>vn,_regraftPermanentElements:()=>bs,_regraftPermanentInSlice:()=>Sn,_resetParseProbe:()=>tl,_resetPrefetch:()=>Il,_resetWarnOnce:()=>Hl,_resolveTargetFrameId:()=>Wr,_restoreOptimistic:()=>ut,_runWithTransition:()=>on,_setCurrentPageUrl:()=>Ul,_setHardNavigate:()=>Fl,_shouldFullLoadDuringParse:()=>ql,_snapshotCache:()=>R,_streamBoundariesProgressively:()=>Ss,_takeResolveUnit:()=>_s,_viewTransitionsEnabled:()=>Yr,disableClientRouter:()=>Ui,enableClientRouter:()=>Ur,loadFrame:()=>qi,navigate:()=>Hi,revalidate:()=>Wi});function Br(e){if(!/^\s*(?:<!doctype|<html)/i.test(e)&&typeof document<"u"&&document.implementation)try{let n=document.implementation.createHTMLDocument();if(typeof n.body.setHTMLUnsafe=="function")n.body.setHTMLUnsafe(e);else{let r=n.createElement("template");r.innerHTML=e,n.body.appendChild(r.content)}return n}catch{}return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"&&el()?Document.parseHTMLUnsafe(e):nl(e)}function el(){if(Fe!==null)return Fe;try{Fe=Document.parseHTMLUnsafe("<!doctype html><body><!--c--><i></i>")?.body?.firstChild?.nodeType===8}catch{Fe=!1}return Fe}function tl(){Fe=null}function nl(e){return typeof DOMParser>"u"?null:new DOMParser().parseFromString(e,"text/html")}function rl(){Rr||typeof MutationObserver>"u"||typeof customElements>"u"||(Rr=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes){if(n.nodeType!==1)continue;let r=n;r.tagName?.includes("-")&&customElements.upgrade(r);for(let o of r.querySelectorAll("*"))o.tagName?.includes("-")&&customElements.upgrade(o)}}),Rr.observe(document.body,{childList:!0,subtree:!0}))}function Bi(){if(typeof document>"u"||!document.documentElement)return()=>{};q&&q();let e=document.documentElement,t=e.style.getPropertyValue("overflow-anchor");e.style.setProperty("overflow-anchor","none");let n=null,r=()=>{if(q===r){if(q=null,n&&(clearTimeout(n),n=null),typeof window<"u")for(let o of an)window.removeEventListener(o,r,{capture:!0});t?e.style.setProperty("overflow-anchor",t):e.style.removeProperty("overflow-anchor")}};if(q=r,n=setTimeout(r,ol),typeof window<"u")for(let o of an)window.addEventListener(o,r,{capture:!0,passive:!0});return r}function il(e,t){if(typeof window>"u"||typeof requestAnimationFrame!="function")return;D&&D();let n=0,r=null,o=null,i=()=>{if(D===i){D=null,n&&cancelAnimationFrame(n),r&&(clearTimeout(r),r=null),o&&(o(),o=null);for(let a of an)window.removeEventListener(a,i,{capture:!0})}},s=()=>{if(D!==i)return;if(document.documentElement.scrollHeight-window.innerHeight>=e){window.scrollTo({left:t,top:e,behavior:"instant"}),o=Bi(),n&&(cancelAnimationFrame(n),n=0);return}n=requestAnimationFrame(s)};D=i;for(let a of an)window.addEventListener(a,i,{capture:!0,passive:!0});r=setTimeout(i,Di),n=requestAnimationFrame(s)}function sl(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Ur(){te||typeof document>"u"||(te=!0,document.addEventListener("click",Vi,!1),document.addEventListener("submit",qr,!1),window.addEventListener("popstate",Hr),document.addEventListener("pointerover",He,!0),document.addEventListener("focusin",He,!0),document.addEventListener("touchstart",He,{capture:!0,passive:!0}),document.addEventListener("pointerout",us,!0),document.addEventListener("webjs:navigate",Ir),rl(),Ir(),typeof history<"u"&&"scrollRestoration"in history&&(rn=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(G=location.href),ll())}function Ui(){te&&(te=!1,document.removeEventListener("click",Vi,!1),document.removeEventListener("submit",qr,!1),window.removeEventListener("popstate",Hr),document.removeEventListener("pointerover",He,!0),document.removeEventListener("focusin",He,!0),document.removeEventListener("touchstart",He,{capture:!0}),document.removeEventListener("pointerout",us,!0),document.removeEventListener("webjs:navigate",Ir),An(),Kr(),ue&&(ue.disconnect(),ue=null),typeof history<"u"&&rn!==null&&(history.scrollRestoration=rn,rn=null),ft+=1,q&&q(),D&&D(),G=null)}async function Hi(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){_e(e);return}await Vr(n.href,t?.replace??!1,null)}async function qi(e,t){if(typeof location>"u")return{ok:!1,status:null,aborted:!1};let n=e&&e.id;if(!n)return{ok:!1,status:null,aborted:!1};let r=new URL(t,location.href);if(r.origin!==location.origin)return{ok:!1,status:null,aborted:!1};B&&B.abort(),B=new AbortController;let o=B.signal,i=++k;return dn(r.href,n,!1,null,"GET",null,o,i)}function Wi(e){if(!e){R.clear(),S.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;R.delete(n),S.delete(n)}function Vi(e){if(!te||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=Xi(e);if(!t||t.hasAttribute("download")||t.hasAttribute("data-no-router")||t.target&&t.target!=="_self")return;let n=t.href;if(!n)return;let r=new URL(n);if(r.origin!==location.origin||r.pathname===location.pathname&&r.search===location.search&&r.hash||_n.test(r.pathname))return;e.preventDefault();let o=Wr(t);Vr(n,!1,o)}function Hr(e){Vr(location.href,!0,null)}function qr(e){if(!te||e.defaultPrevented)return;let t=e.target;if(!t||t.nodeType!==1||t.tagName!=="FORM"||t.hasAttribute("data-no-router"))return;let n=e.submitter??null;if(n&&n.hasAttribute("data-no-router"))return;let r=n&&n.hasAttribute("formtarget")?n.getAttribute("formtarget")||"":t.getAttribute("target")||"";if(r&&r!=="_self")return;let o=zi(t,n);if(o==="dialog")return;let i=Yi(t,n),s=o==="get"||o==="head",a=Ki(t,n),c;try{c=new URL(a,location.href)}catch{return}if(c.origin!==location.origin||_n.test(c.pathname))return;let l=Ji(t,n);if(cl(t,n,o,l),!s&&i==="text/plain")return;let u=Gi(l,i);e.preventDefault();let f=Wr(n||t);pl(c.href,o,u,f,t)}function zi(e,t){return((t&&t.hasAttribute("formmethod")?t.getAttribute("formmethod")||"":e.getAttribute("method")||"")||"get").toLowerCase()}function Ki(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function al(e){let t=String(e||"").toLowerCase();return t==="multipart/form-data"?"multipart/form-data":t==="text/plain"?"text/plain":"application/x-www-form-urlencoded"}function Yi(e,t){return al(t&&t.hasAttribute("formenctype")?t.getAttribute("formenctype"):e.getAttribute("enctype"))}function Gi(e,t){if(t==="multipart/form-data")return e;let n=new URLSearchParams;for(let[r,o]of e)n.append(r,typeof o=="string"?o:o.name);return n}function Ji(e,t){try{return new FormData(e,t||void 0)}catch{let n=new FormData(e);return t&&t.getAttribute("name")&&n.append(t.getAttribute("name"),t.getAttribute("value")||""),n}}function Xi(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function Qi(e){let t=e;for(;t;){let n=t.closest("webjs-frame");if(n&&n.id)return n.id;let r=t.getRootNode();if(r&&r.host)t=r.host;else break}return null}function Wr(e){if(!e)return null;let t=e.closest&&e.closest("[data-webjs-frame]"),n=t?t.dataset?t.dataset.webjsFrame:t.getAttribute("data-webjs-frame"):null;if(n!=null&&n!==""){if(n===Zi)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(Ae(`webjs:frame-unresolved:${n}`,`[webjs] data-webjs-frame="${n}" did not match a live <webjs-frame id="${n}">; performing a normal navigation instead.`),null)}return Qi(e)}function Ae(e,t,n="warn"){if(Lr.has(e)||(Lr.add(e),typeof console>"u"))return;let r=n==="error"?console.error:console.warn;r&&r.call(console,t)}function cl(e,t,n,r){if(typeof process<"u"&&process.env||!r.has(O))return;let o="";try{o=new URL(e.getAttribute("action")||location.href,location.href).pathname}catch{o=location.pathname}if(n!=="post"){Ae(`submit-nowhere:${o}:${n}`,`[webjs] this submission carries a bound server action's identity but submits as ${n.toUpperCase()}, which sends no body, so the identity rides the query string and the action never runs. A submitter's own formmethod overrides the form's, and WebJs honours it rather than refusing it, so check for a formmethod on the button that was pressed.`,"error");return}let i=t&&t.getAttribute("formenctype")||e.getAttribute("enctype")||"application/x-www-form-urlencoded";if(i.toLowerCase()==="text/plain"){Ae(`submit-nowhere:${o}:${i}`,`[webjs] this submission carries a bound server action's identity but declares enctype="${i}", which the server cannot parse. The router declines to send it so both paths behave the same way, and both are answered with a 405. Drop the enctype and let the binding supply it.`,"error");return}o&&o!==location.pathname&&Ae(`submit-elsewhere:${o}`,`[webjs] this submission carries a bound server action's identity but posts to "${o}" rather than this page, because the enclosing <form> declares its own action. A bound submitter emits no formaction, so the form's target wins, which is what native HTML does. The action runs only if "${o}" is a page route; against a route.ts or another origin the identity is ignored and nothing runs. Drop the form's action attribute to keep the submission on this page.`)}function es(e,t){return!e&&!t&&typeof document<"u"&&document.readyState==="loading"}function ts(e,t,n,r){if(e!=="navigate"||!t||r&&r===n)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function ll(){if(typeof location>"u"||Mi)return;Mi=!0;let e=null;try{e=sessionStorage.getItem(cn),sessionStorage.removeItem(cn)}catch{}let t="";try{let n=performance.getEntriesByType("navigation")[0];t=n?n.type:""}catch{}ts(t,document.referrer,location.href,e)&&le("pre-boot-navigation",location.href,!1)}function le(e,t,n=!0){if(n)try{sessionStorage.setItem(cn,t)}catch{}if(typeof document<"u"&&typeof CustomEvent<"u")try{document.dispatchEvent(new CustomEvent("webjs:navigation-fallback",{detail:{cause:e,href:t,willReload:n}}))}catch{}typeof process<"u"&&process.env||Ae(`fallback:${e}`,n?`[webjs] client router fell back to a full page load (${e}) navigating to ${t}. This is correct (no DOM corruption), just not a soft nav.`:`[webjs] client router degraded a soft navigation (${e}) for ${t}, without a full page load.`)}function ul(e){typeof process<"u"&&process.env||Ae(`stream-drop:${e}`,`[webjs] dropped a streamed Suspense resolve for "${e}": no #${e} boundary in the DOM. Benign if this navigation was superseded or degraded. A stuck skeleton here means the shell swap did not place the boundary.`)}function Ii(){if(typeof process<"u"&&process.env||Pr||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Pr=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&Ae("scroll-behavior-smooth-html","[webjs] Detected `scroll-behavior: smooth` on <html>. The client router scrolls to the top instantly on navigation (like a native page load), so route transitions are not affected by it. It still applies to in-page #anchor links. Pairing it with a sticky `backdrop-filter` header can also flash on iOS during navigation.")}function ln(e){if(typeof document>"u")return;let t=document.documentElement;if(!(!t||!t.hasAttribute("data-webjs-nav-progress")))try{e?t.setAttribute("data-navigating",""):t.removeAttribute("data-navigating")}catch{}}function We(e){let t=new Map,n=[],r=!1;function o(i){if(!r){if(i.nodeType===8){let s=i.data.trim();if(s.startsWith("wj:children:")){let a=s.slice(12),c=a.lastIndexOf(":");if(c<=0||c===a.length-1){r=!0;return}let l=a.slice(0,c),u=a.slice(c+1);if(t.has(l)||n.some(f=>f.segment===l)){r=!0;return}n.push({segment:l,routeKey:u,start:i});return}if(s.startsWith("/wj:children")){let a=s.slice(12).replace(/^:/,""),c=n.pop();if(!c||c.segment!==a){r=!0;return}if(c.start.parentNode!==i.parentNode){r=!0;return}{let l=c.start.parentNode.tagName;if(l==="TABLE"||l==="TBODY"||l==="THEAD"||l==="TFOOT"||l==="TR"){r=!0;return}}t.set(c.segment,{routeKey:c.routeKey,start:c.start,end:i});return}return}if(i.hasChildNodes&&i.hasChildNodes())for(let s=i.firstChild;s&&!r;s=s.nextSibling)o(s)}}return o(e),r||n.length>0?null:t}function ns(e,t){let n=[...e.keys()].filter(s=>t.has(s)).sort((s,a)=>s.length-a.length);if(n.length===0)return null;for(let s of n)if(e.get(s).routeKey!==t.get(s).routeKey){let a=null;for(let c of n){if(c===s)break;s.startsWith(c==="/"?c:c+"/")&&(a=c)}return a?{mode:"replace",segment:a,live:e.get(a),incoming:t.get(a)}:null}let r=n[n.length-1],o=s=>{let a=null;for(let c of s.keys())(a===null||c.length>a.length)&&(a=c);return a};return{mode:o(e)===r&&o(t)===r?"morph":"replace",segment:r,live:e.get(r),incoming:t.get(r)}}function rs(e){let t=fe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),R.has(t)&&R.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(R.set(t,n);R.size>fl;){let r=R.keys().next().value;R.delete(r)}}function dl(e){let t=fe(e),n=R.get(t);return n==null?null:(R.delete(t),R.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function fe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Vr(e,t,n){if(es(t,n)&&typeof location<"u"){le("readyState-loading",e),_e(e);return}B&&B.abort(),B=new AbortController;let r=B.signal,o=++k;n||(ft+=1,q&&q(),D&&D()),G&&rs(G);let i=setTimeout(()=>{ln(!0),i=null},150),s=null;t||(s=Jr());try{if(t){let a=dl(e);if(a){let c=Br(a.html);if(c){Gr(c,n,!0,null);let l=()=>{};if(typeof window<"u"){let d=()=>{window.scrollTo({left:a.scrollX,top:a.scrollY,behavior:"instant"}),window.scrollY>=a.scrollY-1?l=Bi():il(a.scrollY,a.scrollX)};if(Yr()&&typeof document.startViewTransition=="function"){let p=ft;mt.then(()=>{p!==ft||!te||d()}).catch(()=>{})}else d()}let u=dn(e,n,!1,s,"GET",null,r,o,!0).catch(()=>{}),f=new Promise(d=>setTimeout(d,Di));Promise.all([u,f]).then(()=>sl(l));return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await dn(e,n,!t,s,"GET",null,r,o)}finally{i&&clearTimeout(i),o===k&&(ln(!1),typeof location<"u"&&(G=location.href))}}async function pl(e,t,n,r,o){B&&B.abort(),B=new AbortController;let i=B.signal,s=++k;r||(ft+=1,q&&q(),D&&D());let a=t==="get"||t==="head",c=new URL(e,location.href);if(a){c.search="";for(let[p,m]of n)c.searchParams.append(p,typeof m=="string"?m:m.name)}G&&rs(G);let l=setTimeout(()=>{ln(!0),l=null},150),u=Jr(),f=o?hs(o,s,c.href):null,d=!1;try{let p=await dn(c.href,r,!0,u,a?"GET":t.toUpperCase(),a?null:n,i,s);d=!!(p&&p.ok),!a&&s===k&&(R.clear(),S.clear())}finally{f&&ms(f,s,c.href,d),l&&clearTimeout(l),s===k&&(ln(!1),typeof location<"u"&&(G=location.href))}}function yt(){let e=We(document.body);return e?[...e.entries()].map(([t,n])=>`${t}:${n.routeKey}`).join(","):""}function zr(){try{let e=typeof navigator<"u"?navigator.connection:null;if(e&&(e.saveData===!0||typeof e.effectiveType=="string"&&/2g$/.test(e.effectiveType))||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-data: reduce)").matches)return!0}catch{}return!1}function ss(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function gl(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function un(e){if(!e||!(e instanceof HTMLAnchorElement)||e.hasAttribute("download")||e.hasAttribute("data-no-router")||e.target&&e.target!=="_self")return null;let t=e.href;if(!t)return null;let n;try{n=new URL(t)}catch{return null}return n.origin!==location.origin||n.pathname===location.pathname&&n.search===location.search&&n.hash||_n.test(n.pathname)?null:t}function as(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=gl(e);return t.includes("external")||t.includes("no-prefetch")}function fn(e){if(as(e))return"none";switch((e.getAttribute("data-prefetch")||"").toLowerCase().trim()){case"false":case"none":return"none";case"true":case"render":return"render";case"auto":case"viewport":return"viewport";case"intent":return"intent";default:return ss()?"intent":"viewport"}}function Ve(e){if(!te||typeof fetch!="function"||zr())return;let t=fe(e);if(typeof location<"u"&&t===fe(location.href)||we.has(t)||dt.has(t))return;let n=S.get(t);if(n&&Mr()-n.at<os)return;if(we.size>=is){for(dt.add(t),Be.push(e);Be.length>ml;){let i=Be.shift();dt.delete(fe(i))}return}let r=yt();if(!r&&typeof document<"u"&&document.readyState==="loading")return;we.add(t);let o={"x-webjs-router":"1","x-webjs-prefetch":"1"};r&&(o["x-webjs-have"]=r),fetch(e,{method:"GET",headers:o,credentials:"same-origin",cache:"no-cache"}).then(async i=>{let s=i.headers.get("content-type")||"";if(!/^text\/html\b/i.test(s)||i.status>=400)return;let a=i.headers.get("x-webjs-build"),c=i.headers.get("x-webjs-src"),l=typeof document<"u"?document.querySelector('script[type="importmap"]'):null,u=l?l.getAttribute("data-webjs-build"):null,f=l?l.getAttribute("data-webjs-src"):null;(a&&u&&a!==u||c&&f&&c!==f)&&(R.clear(),S.clear());let d=i.redirected&&i.url?i.url:e,p=await i.text();_l(t,{html:p,build:a,src:c,finalUrl:d,at:Mr()})}).catch(()=>{}).finally(()=>{we.delete(t),wl()})}function wl(){for(;Be.length&&we.size<is;){let e=Be.shift();dt.delete(fe(e)),Ve(e)}}function _l(e,t){for(S.has(e)&&S.delete(e),S.set(e,t);S.size>hl;){let n=S.keys().next().value;S.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function cs(e){let t=/<!--wj:children:([^>]*?)-->/.exec(e||"");return t?t[1]:null}function ls(e,t){let n=fe(e),r=S.get(n);if(!r)return null;if(Mr()-r.at>=os)return S.delete(n),null;let o=cs(r.html);return o&&!new Set(String(t??(yt()||"")).split(",").filter(Boolean)).has(o)?(S.delete(n),null):(S.delete(n),r)}function Mr(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function He(e){if(!te)return;let t=fs(e.target);if(!t)return;let n=fn(t);if(n==="none"||n==="render")return;let r=un(t);if(r){if(e.type==="touchstart"){Ve(r);return}n==="intent"&&(pt===t&&Ue||(An(),pt=t,Ue=setTimeout(()=>{Ue=null,pt=null,Ve(r)},bl)))}}function us(e){let t=fs(e.target);t&&t===pt&&An()}function An(){Ue&&(clearTimeout(Ue),Ue=null),pt=null}function Kr(){for(let e of ht)clearTimeout(e);ht.clear(),$e=new WeakMap}function fs(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let o=n.closest&&n.closest("a");if(o instanceof HTMLAnchorElement)return o}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Ir(){if(typeof document>"u"||zr())return;let e=typeof IntersectionObserver<"u";e&&(ue?(ue.disconnect(),Kr()):ue=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if($e.has(r))continue;let o=setTimeout(()=>{ht.delete(o),$e.delete(r),ue.unobserve(r);let i=un(r);i&&fn(r)==="viewport"&&Ve(i)},yl);$e.set(r,o),ht.add(o)}else{let o=$e.get(r);o&&(clearTimeout(o),ht.delete(o),$e.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=fn(t);if(n==="render"){let r=un(t);r&&Ve(r)}else n==="viewport"&&e&&ue.observe(t)}}function Al(e){if(typeof document>"u"||!document.body)return!1;let t=We(document.body);if(!t)return!1;let n,r=-1;for(let[c,l]of t)c.length>r&&(r=c.length,n=l);if(!n)return!1;let o=n.start.parentNode;if(!o||n.start.parentNode!==n.end.parentNode)return!1;let i=document.createElement("div");i.setAttribute("role","alert"),i.setAttribute("data-webjs-nav-error","");let s=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";i.textContent=s;let a=document.createRange();return a.setStartAfter(n.start),a.setEndBefore(n.end),a.deleteContents(),o.insertBefore(i,n.end),!0}function Or(e,t,n){let r=new CustomEvent("webjs:navigation-error",{bubbles:!0,cancelable:!0,detail:{url:e,status:t??null,error:n||null}});if(typeof document<"u")try{document.dispatchEvent(r)}catch{}r.defaultPrevented||Al(t)||typeof location<"u"&&(le("navigation-error-unrecoverable",e),_e(e))}async function dn(e,t,n,r,o,i,s,a,c){o=o||"GET";let l=typeof a=="number"?a:k,u,f=null,d=null,p=null,m=null,g=!1,b=e,y=t?ds(t,l):null;try{try{let w=o==="GET"&&!i&&!t?ls(e,r?r.haveKeys:void 0):null;if(w)u=w.html,d=w.build,p=w.src,b=w.finalUrl,m=200,g=!0;else{let L={"x-webjs-router":"1"},Se=yt();Se&&(L["x-webjs-have"]=Se),t&&(L["x-webjs-frame"]=t),i!=null&&o!=="GET"&&o!=="HEAD"&&(L.accept=Pi+", text/html");let ve={method:o,headers:L,credentials:"same-origin",cache:"no-cache"};s&&(ve.signal=s),i!=null&&o!=="GET"&&o!=="HEAD"&&(ve.body=i);let E=await fetch(e,ve);m=E.status,g=E.ok;let ze=Tr(E.headers.get("x-webjs-invalidate"));ze.length&&xr(ze);let x=E.headers.get("content-type")||"",Es=/^text\/html\b/i.test(x);if(x.toLowerCase().indexOf(Pi)===0){let Cs=await E.text();return l===k&&(ut(r),vr(Cs)),{ok:g,status:m,aborted:!1}}if(E.redirected&&E.url&&(b=E.url),E.status===204||E.status===205)return l===k&&n&&history.pushState(null,"",b),{ok:g,status:m,aborted:!1};if(!Es)return l===k&&(ut(r),Or(e,E.status,null)),{ok:!1,status:m,aborted:!1};d=E.headers.get("x-webjs-build"),p=E.headers.get("x-webjs-src");let Cn=await ws(E);u=Cn.shell,Cn.streaming&&(f=Cn)}}catch(w){return w&&w.name==="AbortError"?{ok:!1,status:null,aborted:!0}:l!==k?{ok:!1,status:null,aborted:!0}:(ut(r),Or(e,null,w instanceof Error?w:new Error(String(w))),{ok:!1,status:null,aborted:!1})}if(l!==k){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:m,aborted:!0}}let h=Br(u);if(!h)return ut(r),Or(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:m,aborted:!1};if(Gr(h,t,!!c,b,d,p)==="discard"){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:g,status:m,aborted:!1}}if(n&&history.pushState(null,"",b),n){let w=new URL(b);if(w.hash){let L=document.getElementById(w.hash.slice(1));L?L.scrollIntoView():(Ii(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else Ii(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&mt.then(()=>Ss(f.reader,f.dec,f.rest,()=>l===k)),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:b,frameId:t,from:"navigate"}})),{ok:g,status:m,aborted:!1}}finally{y&&ps(y,l)}}function ds(e,t){if(typeof document>"u")return null;let n=null;try{n=document.querySelector(`webjs-frame#${CSS.escape(e)}`)}catch{n=document.getElementById(e)}if(!n)return null;let r=pn.has(n);return pn.set(n,t),n.setAttribute("aria-busy","true"),r||n.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:e,busy:!0}})),n}function ps(e,t){if(pn.get(e)!==t)return;pn.delete(e),e.setAttribute("aria-busy","false");let n=e.id||null;e.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:n,busy:!1}}))}function hs(e,t,n){let r=hn.has(e);return hn.set(e,t),e.setAttribute("aria-busy","true"),r||e.dispatchEvent(new CustomEvent("webjs:submit-start",{bubbles:!0,detail:{form:e,url:n}})),e}function ms(e,t,n,r){if(hn.get(e)!==t)return;hn.delete(e),e.setAttribute("aria-busy","false");let o=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(o):typeof document<"u"?document.dispatchEvent(o):e.dispatchEvent(o)}function Fi(e){if(!e||!e.head)return"";let t=e.head.querySelectorAll('[data-webjs-track="reload"]');if(!t.length)return"";let n="";for(let r of t)n+=ee(r);return n}function Yr(){if(typeof document>"u")return!1;let e=document.querySelector('meta[name="view-transition"]');return e?(e.getAttribute("content")||"").trim().toLowerCase()==="same-origin":!1}function on(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if(Yr()&&typeof n=="function"){let r=n.call(document,e);return r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t(),r&&r.updateCallbackDone&&typeof r.updateCallbackDone.then=="function"?r.updateCallbackDone.catch(()=>{}):Promise.resolve()}return e(),t&&t(),Promise.resolve()}function bs(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let o=r.id;if(!o)continue;let i=null;try{i=t.querySelector(`#${CSS.escape(o)}`)}catch{i=null}if(!i||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let s=i.parentNode;s&&i!==r&&(s.replaceChild(r,i),bt.add(r))}}function Sn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let o=r;if(o.hasAttribute&&o.hasAttribute("data-webjs-permanent")&&o.id&&n.push(o),typeof o.querySelectorAll=="function")for(let i of o.querySelectorAll("[data-webjs-permanent][id]"))n.push(i)}if(n.length)for(let r of n){let o=r.id;if(!o)continue;let i=Sl(t,o);if(!i||i===r)continue;let s=i.parentNode;if(s)s.replaceChild(r,i),bt.add(r);else{let a=t.indexOf(i);a!==-1&&(t[a]=r,bt.add(r))}}}function Sl(e,t){for(let n of e){if(n.nodeType!==1)continue;let r=n;if(r.id===t)return r;if(typeof r.querySelector=="function"){let o=null;try{o=r.querySelector(`#${CSS.escape(t)}`)}catch{o=null}if(o)return o}}return null}function vl(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&De(t)}function Gr(e,t,n,r,o,i){let s=!1,a=()=>{if(!s){s=!0;try{tn(e,{frame:!!t})}catch{}}};try{for(let p of e.querySelectorAll("[data-wj-host]"))p.setAttribute("data-wj-serialized","")}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let p=document.querySelector('script[type="importmap"]'),m=p?p.getAttribute("data-webjs-build"):null,g=!1;if(o&&m&&(g=o!==m),!g&&e.head&&e.head.children.length>0){let b=Fi(document),y=Fi(e);b!==y&&(g=!0)}if(g&&typeof location<"u"){R.clear(),S.clear();try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b),le("deploy-mismatch-reload-suppressed",r,!1);else{sessionStorage&&sessionStorage.setItem(b,"1"),le("deploy-mismatch",r),_e(r);return}}catch{le("deploy-mismatch",r),_e(r);return}}else if(!g){let b=p?p.getAttribute("data-webjs-src"):null;i&&b&&i!==b&&(R.clear(),S.clear(),p&&p.setAttribute("data-webjs-src",i));try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}}if(t){a();let p=document.querySelector(`webjs-frame#${CSS.escape(t)}`),m=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(p&&m){Dr(e.head),mt=on(()=>{Rl(p,m),wn(p),De(p),$i(e.body),sn()},()=>De(p));return}let g=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(p||document).dispatchEvent(g),g.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let c=We(document.body),l=We(e.body),u=c&&l?ns(c,l):null;if(u){a();let{mode:p,live:m,incoming:g}=u;Dr(e.head),mt=on(()=>{p==="replace"?El(m,g):Cl(m,g,e),Tl(m.start,g.start),$i(e.body),sn()},()=>vl(m));return}if(r&&!n&&typeof location<"u"){le(c?l?"no-shared-boundary":"incoming-boundaries-malformed":"live-boundaries-malformed",r),_e(r);return}if(r&&n)return le("revalidation-discarded",r,!1),"discard";a(),gs(e.head),bs(document.body,e.body);let f=[...e.body.childNodes];mt=on(()=>{document.body.replaceChildren(...f),wn(document.body),De(document.body),sn()},()=>De(document.body))}function sn(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function El(e,t){let n=e.start.parentNode;if(!n)return;let r=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)r.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));Sn(r,o);for(let i of r)i.parentNode===n&&n.removeChild(i);for(let i of o)n.insertBefore(i,e.end);Zr(e)}function Cl(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let o=[];for(let s=e.start.nextSibling;s&&s!==e.end;s=s.nextSibling)o.push(s);let i=[];for(let s=t.start.nextSibling;s&&s!==t.end;s=s.nextSibling)i.push(document.importNode(s,!0));Sn(o,i),Nl(r,e.start,e.end,o,i),Zr(e)}function Nl(e,t,n,r,o){let i=new Map;for(let c of r){if(c.nodeType!==1)continue;let l=qe(c);l&&i.set(l,c)}let s=n,a=[];for(let c of o){if(c.nodeType===1){let l=qe(c);if(l&&i.has(l)){let u=i.get(l);mn(u,c),a.push(u),i.delete(l);continue}}a.push(c)}for(let c of r)if(c.parentNode===e){if(c.nodeType===1&&a.includes(c))continue;e.removeChild(c)}for(let c of a)e.insertBefore(c,s)}function mn(e,t){if(e===t)return;if(e.tagName!==t.tagName){e.replaceWith(t);return}let n=new Set;for(let r of t.attributes)n.add(r.name),!Fr.has(r.name)&&r.name!=="data-wj-serialized"&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])Fr.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);if(kl(e)){jl(e,t);return}vn(e,t)}function kl(e){let t=e;return t[Symbol.for("webjs.instance")]!=null||t[v]!=null}function xl(e,t){for(let n=e.parentElement;n&&n!==t;n=n.parentElement)if(n.tagName.includes("-"))return!1;return!0}function bn(e){let t=new Map,n=`slot[${N}][${I}="${V}"]`;for(let r of e.querySelectorAll(n)){let o=r;if(!xl(o,e)||Wo(e,o))continue;let i=!1;for(let a=o.parentElement;a&&a!==e;a=a.parentElement)if(a.tagName==="SLOT"&&a.hasAttribute(N)&&a.getAttribute(I)===V){i=!0;break}if(i)continue;let s=H(o.getAttribute("name"));t.has(s)||t.set(s,o)}return t}function Tl(e,t){let n=e.parentNode;if(!n||n.nodeType!==1)return;let r=n;if(r.tagName!=="SLOT"||!r.hasAttribute(N))return;let o=null;for(let f=r.parentElement;f;f=f.parentElement){if(f[v]){o=f;break}if(f.tagName.includes("-"))return}if(!o)return;let i=H(r.getAttribute("name"));me(o,i,[...r.childNodes]);let s=t.parentNode;if(!s||s.nodeType!==1)return;let a=s;if(a.tagName!=="SLOT")return;let c=null;for(let f=a.parentElement;f;f=f.parentElement)if(f.tagName.includes("-")){c=f;break}if(!c||c.tagName!==o.tagName)return;let l=bn(o),u=bn(c);for(let f of new Set([...l.keys(),...u.keys()])){if(f===i)continue;let d=u.get(f);d?me(o,f,[...d.childNodes].map(p=>document.importNode(p,!0))):l.get(f)&&me(o,f,null)}}function jl(e,t){if(!e[v])return;let n=bn(e),r=bn(t);if(n.size===0&&r.size===0)return;let o=new Set([...n.keys(),...r.keys()]);for(let i of o){let s=n.get(i),a=r.get(i);s&&a?(vn(s,a),me(e,i,[...s.childNodes])):a?me(e,i,[...a.childNodes].map(c=>document.importNode(c,!0))):me(e,i,null)}}function vn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(a=>document.importNode(a,!0));Sn(n,r);let o=new Map;for(let a of n){if(a.nodeType!==1)continue;let c=qe(a);c&&o.set(c,a)}let i=[];for(let a=0;a<r.length;a++){let c=r[a];if(c.nodeType===1){let l=qe(c);if(l&&o.has(l)){let f=o.get(l);mn(f,c),i.push(f),o.delete(l);continue}let u=n[a];if(u&&u.nodeType===1&&!qe(u)&&u.tagName===c.tagName){mn(u,c),i.push(u);continue}}else if(c.nodeType===3){let l=n[a];if(l&&l.nodeType===3){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}else if(c.nodeType===8){let l=n[a];if(l&&l.nodeType===8){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}i.push(c)}let s=new Set(i);for(let a of n)!s.has(a)&&a.parentNode===e&&e.removeChild(a);for(let a=0;a<i.length;a++){let c=i[a];(c.parentNode!==e||e.childNodes[a]!==c)&&e.insertBefore(c,e.childNodes[a]||null)}}function qe(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Jr(){let e=We(document.body);if(!e||e.size===0)return null;let t=[...e.keys()].sort((c,l)=>l.length-c.length),n=null,r=null;for(let c of t){let l=document.getElementById(`wj-loading:${c}`);if(l instanceof HTMLTemplateElement){n=c,r=l;break}}if(n===null||r===null)return null;let o=e.get(n),i=yt(),s=[];for(let c=o.start.nextSibling;c&&c!==o.end;c=c.nextSibling)s.push(c);let a=document.createRange();return a.setStartAfter(o.start),a.setEndBefore(o.end),a.deleteContents(),o.start.parentNode.insertBefore(r.content.cloneNode(!0),o.end),{slot:o,oldChildren:s,token:k,haveKeys:i}}function ut(e){if(!e||e.token!==k)return;let{slot:t,oldChildren:n}=e;if(t.start.parentNode!==t.end.parentNode)return;let r=document.createRange();r.setStartAfter(t.start),r.setEndBefore(t.end),r.deleteContents();for(let o of n)t.start.parentNode.insertBefore(o,t.end)}function Rl(e,t){vn(e,t)}function ys(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function yn(e){let t=document.createElement("script");for(let r of e.attributes)r.name!=="nonce"&&t.setAttribute(r.name,r.value);let n=ys();return n&&t.setAttribute("nonce",n),t.textContent=e.textContent,t}function Xr(e){if(!e.hasAttribute("nonce"))return e.cloneNode(!0);let t=e.cloneNode(!0),n=ys();return n?t.setAttribute("nonce",n):t.removeAttribute("nonce"),t}function ee(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function gn(e){let t=e.getAttribute("name");if(t)return"name="+t;let n=e.getAttribute("property");if(n)return"property="+n;let r=e.getAttribute("http-equiv");return r?"http-equiv="+r:e.hasAttribute("charset")?"charset":null}function Ol(e){if(!e.querySelector("meta"))return;let t=o=>{let i=new Map;for(let s of o.querySelectorAll("meta")){let a=gn(s);if(!a||a===$r)continue;let c=i.get(a);c?c.push(s):i.set(a,[s])}return i},n=t(e),r=t(document.head);for(let[o,i]of n){let s=r.get(o)||[],a=i.map(ee).join(`
|
|
2
2
|
`),c=s.map(ee).join(`
|
|
3
|
-
`);if(a!==c){if(i.length===1&&s.length===1){let l=s[0];for(let u of[...l.attributes])l.removeAttribute(u.name);for(let u of i[0].attributes)l.setAttribute(u.name,u.value);continue}for(let l of s)l.remove();for(let l of i)document.head.appendChild(Xr(l))}}for(let[o,i]of r)if(!n.has(o))for(let s of i)s.remove()}function Dr(e){let t=e.querySelector("title");t&&(document.title=t.textContent||"");let n=new Set;for(let r of document.head.children)n.add(ee(r));for(let r of e.children)r.tagName==="SCRIPT"&&r.getAttribute("type")==="importmap"||r.tagName!=="BASE"&&r.tagName!=="TITLE"&&(r.tagName==="META"&&gn(r)||n.has(ee(r))||(r.tagName==="SCRIPT"?document.head.appendChild(yn(r)):document.head.appendChild(Xr(r))));
|
|
4
|
-
`),n.appendChild(r)}}function
|
|
5
|
-
`)}</style>`}Tn();gt();Ge();var _o=Symbol.for("webjs.repeat");function Ao(e,t,n){return{[_o]:!0,items:[...e],keyFn:t,templateFn:n}}function _t(e){return!!e&&typeof e=="object"&&e[_o]===!0}function Bs(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function Pn(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function Us(e){return{_$webjs:"live",value:e}}function At(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function Hs(e,t){return{_$webjs:"keyed",key:e,value:t}}function St(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function qs(e,t){return{_$webjs:"guard",deps:e,fn:t}}function vt(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function Ws(e){return{_$webjs:"template-content",template:e}}function Mn(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function Vs(e){return{_$webjs:"ref",target:e}}function Et(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function Ks(){return{value:void 0}}function zs(e){return{_$webjs:"cache",value:e}}function Ct(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function Ys(...e){return{_$webjs:"until",args:e}}function kt(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function Gs(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function In(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function Js(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Fn(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function Xs(e){return{_$webjs:"watch",signal:e}}function Nt(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var U=null,re=!1,Ce=0,Ee=null,$n=0,So=(e,t)=>Object.is(e,t),Tt=()=>{},vo=()=>!1;function Eo(e,t){e.liveConsumers||(e.liveConsumers=new Set);let n=e.liveConsumers.size===0;if(e.liveConsumers.add(t),n){if(e.producers&&e.producers.length>0)for(let r of e.producers)Eo(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Je(e,t){if(e.liveConsumers&&(e.liveConsumers.delete(t),e.liveConsumers.size===0)){if(e.producers&&e.producers.length>0)for(let n of e.producers)Je(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function Wn(e){if(re)throw new Error("Signal read during notification phase");if(U===null)return;let t=U,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&Un(t)&&Je(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,Un(t)&&Eo(e,t)),t.producerLastReadVersions[n]=e.version}function Un(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function Co(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=re;re=!0;try{for(let n of e.liveConsumers)n.dirty||Qs(n)}finally{re=t}}function Qs(e){e.dirty=!0,Co(e),e.consumerMarkedDirty.call(e.wrapper||e)}function jt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ce)){if(!e.producerMustRecompute()&&!Zs(e)){e.dirty=!1,e.lastCleanEpoch=Ce;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ce}}function Zs(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(jt(n),r!==n.version))return!0}return!1}function Hn(e){e&&(e.nextProducerIndex=0);let t=U;return U=e,t}function qn(e,t){if(U=t,!!e){if(Un(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Je(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var Rt=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,this.consumerMarkedDirty=Tt,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||So,this.watched=n?.[Vn],this.unwatched=n?.[Kn]}get(){return Wn(this),this.__value}peek(){return this.__value}set(t){if(re)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ce++,Ee!==null?ko(this):Co(this))}};function ko(e){let t=re;re=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ee.add(n):ko(n))}finally{re=t}}var Dn=Symbol("unset"),Bn=Symbol("computing"),xt=Symbol("errored"),Xe=class{constructor(t,n){this.__fn=t,this.__value=Dn,this.__error=null,this.version=0,this.lastCleanEpoch=-1,this.dirty=!0,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!1,this.wrapper=this,this.__isSignal=!0,this.__isComputed=!0,this.__equal=n?.equals||So,this.watched=n?.[Vn],this.unwatched=n?.[Kn];let r=this;this.producerMustRecompute=function(){return r.__value===Dn||r.__value===Bn},this.producerRecomputeValue=function(){if(r.__value===Bn)throw new Error("Detected cycle in computations.");let o=r.__value;r.__value=Bn;let i=Hn(r),s,a=!1;try{s=r.__fn.call(r.wrapper)}catch(l){s=xt,r.__error=l,a=!0}finally{qn(r,i)}if(!a&&(o!==Dn&&o!==xt)&&r.__equal.call(r.wrapper,o,s)){r.__value=o;return}r.__value=s,r.version++},this.consumerMarkedDirty=Tt}get(){if(jt(this),Wn(this),this.__value===xt)throw this.__error;return this.__value}peek(){if(jt(this),this.__value===xt)throw this.__error;return this.__value}},Ot=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,this.wrapper=this,this.__isWatcher=!0;let n=this;this.consumerMarkedDirty=function(){n.__fire()}}__fire(){this.__notify&&this.__notify.call(this)}watch(...t){if(t.length===0){this.dirty=!1;return}let n=Hn(this);try{for(let r of t)Wn(r),r.__isComputed&&jt(r)}finally{qn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Je(this.producers[n],this),this.producers.splice(n,1),this.producerLastReadVersions.splice(n,1),this.nextProducerIndex=Math.min(this.nextProducerIndex,this.producers.length))}getPending(){return this.producers.filter(t=>t.__isComputed&&t.dirty)}observe(t){let n=Hn(this),r;try{r=t()}finally{qn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Je(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},Vn=Symbol("watched"),Kn=Symbol("unwatched");function ea(e){let t=U;U=null;try{return e()}finally{U=t}}function ta(e){return e.producers.slice()}function na(e){return e.liveConsumers?[...e.liveConsumers]:[]}function ra(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function oa(e){return e.producers.length>0}function ia(){return U&&U.__isComputed?U:null}function sa(e){$n++,Ee===null&&(Ee=new Set);try{e()}finally{if($n--,$n===0){let t=Ee;Ee=null;for(let n of t)n.__fire()}}}var Qe={State:Rt,Computed:Xe,subtle:{Watcher:Ot,untrack:ea,introspectSources:ta,introspectSinks:na,hasSinks:ra,hasSources:oa,currentComputed:ia,watched:Vn,unwatched:Kn}};function aa(e,t){return new Rt(e,t)}function ca(e,t){return new Xe(e,t)}function la(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function ua(e){let t=!1,n=!1,r=new Xe(e),o=new Ot(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(i){console.error(i)}o.watch()}}))});o.watch(r);try{r.get()}catch(i){console.error(i)}return()=>{n||(n=!0,o.dispose())}}Bt();function Jo(e,t){let n=e&&e[v]?e:null;return n?Ft(n,t):t()}var cr=new WeakMap,lr=new WeakMap,Ut=Symbol.for("webjs.instance"),M=null;function Wt(e){return e?e.nodeType===11&&e.host?e.host:e:null}function fr(e,t){let n=e.__commitOwner,r=M;n&&(M=n);try{t()}finally{M=r}}function Oe(e,t){let n=t,r=n[T];n[T]=!0;let o=M;M=t;try{let i=n[Ut];if(P(e)){let s=e;if(i&&i.strings===s.strings){je(i,s.values);return}i&&Go(i,t);let a=t.firstChild;a&&a.nodeType===8&&a.data==="webjs-hydrate"&&a.remove(),n[Ut]=null;let c=Oa(s,t);n[Ut]=c;return}if(i&&Go(i,t),n[Ut]=null,t.replaceChildren(),e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let s of e){let a=document.createTextNode(String(s??""));t.appendChild(a)}return}t.appendChild(document.createTextNode(String(e)))}finally{M=o,n[T]=r,r||ar(n)}}function Vt(e){let{strings:t}=e,n=cr.get(t);if(n)return n;let r=[],o="",i="text",s="",a=0,c="",l=0,u=null,f="",d="";for(let g=0;g<t.length;g++){let b=t[g];for(let y=0;y<b.length;y++){let h=b[y];switch(i){case"text":o+=h,h==="<"&&(i="tag-open");break;case"tag-open":o+=h,h==="!"?i="bang-1":h==="/"?(i="tag-name",f=""):/[a-zA-Z]/.test(h)?(i="tag-name",f=h.toLowerCase()):i="text";break;case"bang-1":o+=h,i=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":o+=h,h==="-"?(i="comment",l=0):i="tag-name";break;case"comment":o+=h,h==="-"?l+=1:(h===">"&&l>=2&&(i="text"),l=0);break;case"tag-name":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):/\s/.test(h)?i="in-tag":f+=h.toLowerCase();break;case"in-tag":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(i="attr-name",s=h,a=o.length-1);break;case"rawtext":o+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(i="text",d="",f="");break;case"attr-name":h==="="?(i="after-eq",o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(s+=h,o+=h);break;case"after-eq":h==='"'||h==="'"?(i="attr-quoted",c=h,o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(i="attr-unquoted",o+=h);break;case"attr-unquoted":/\s/.test(h)?(i="in-tag",s="",o+=h):(h===">"&&(i="text",s=""),o+=h);break;case"attr-quoted":o+=h,h===c&&(i="in-tag",s="");break;case"skip-attr":if(h===c){if(u){let W=u.firstPartIdx,w=[];for(let x=W;x<r.length;x++)(r[x].kind==="noop"||r[x].kind==="attr-mixed")&&w.push(x);let L=[],Se=t[w[0]],ve=Se.lastIndexOf(c);L.push(ve>=0?Se.slice(ve+1):Se);for(let x=1;x<w.length;x++)L.push(t[w[x]]);let E=t[w[w.length-1]+1],Ve=E.indexOf(c);L.push(Ve>=0?E.slice(0,Ve):E),r[W]={kind:"attr-mixed",path:[],name:u.name,statics:L,group:w};for(let x=1;x<w.length;x++)r[w[x]]={kind:"noop",path:[],mixedAnchor:W};u=null}i="in-tag",s=""}break}}if(g<t.length-1){let y=r.length;if(i==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(i==="rawtext"){d="",r.push({kind:"noop",path:[]});continue}if(i==="text")o+=`<!--${C}${y}-->`,r.push({kind:"child",path:[]});else if(i==="in-tag"){let h=`data-${C}${y}`;o+=`${h}=""`,r.push({kind:"element",path:[]})}else if(i==="after-eq"){let h=s[0],W=s.slice(1);if(Ke(h)){o=o.slice(0,a);let w=xn[h],L=`data-${C}${y}`;o+=`${L}=""`,r.push({kind:w,path:[],name:W})}else{o=o.slice(0,a);let w=`data-${C}${y}`;o+=`${w}=""`,r.push({kind:"attr",path:[],name:s})}i="in-tag",s=""}else if(i==="attr-quoted"||i==="attr-unquoted"){o=o.slice(0,a);let h=`data-${C}${y}`;o+=`${h}=""`,u={name:s,firstPartIdx:y},r.push({kind:"noop",path:[]}),i="skip-attr"}else i==="skip-attr"&&r.push({kind:"noop",path:[]})}}let p=document.createElement("template");p.innerHTML=o,Na(p.content,r);let m=xa(p.content,r);return n={templateEl:p,parts:r,formActions:m},cr.set(t,n),n}function Na(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(k,"");let o=t.length;r.setAttribute(`data-${C}${o}`,""),t.push({kind:"slot",path:[]})}}function xa(e,t){let n=[],r=[];function o(i){for(let s=0;s<i.childNodes.length;s++){let a=i.childNodes[s];if(n.push(s),a.nodeType===8){let c=a.data;if(c.startsWith(C)){let l=Number(c.slice(C.length));t[l]&&t[l].kind==="child"&&(t[l].path=n.slice())}}else if(a.nodeType===1){let c=a,l=[],u=[];for(let f of c.attributes)if(f.name.startsWith(`data-${C}`)){let d=Number(f.name.slice(`data-${C}`.length));t[d]&&t[d].kind!=="child"&&(t[d].path=n.slice(),u.push({idx:d,kind:t[d].kind,name:t[d].name||""})),l.push(f.name)}if(c.localName==="form"||c.localName==="button"||c.localName==="input"){let f=Ta(c,u,t);f&&r.push(f)}for(let f of l)c.removeAttribute(f);o(a)}n.pop()}}return o(e),r.length?r:null}function Ta(e,t,n){let r=e.localName==="form",o=r?"action":"formaction",i=r?"method":"formmethod",s=r?"enctype":"formenctype",a=t.filter(b=>b.kind==="attr"&&b.name.toLowerCase()===o);if(!a.length)return null;let c=[],l=[],u=[],f=r?[]:t.filter(b=>b.name.toLowerCase()==="name"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind})),d=!r&&e.hasAttribute("name"),p=!r&&e.hasAttribute("form"),m=!r&&e.hasAttribute("value"),g=r?[]:t.filter(b=>b.name.toLowerCase()==="value"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind}));for(let b of t){let y=String(b.name).toLowerCase();if(b.kind==="prop"){r?(y==="method"||y==="enctype"||y==="encoding")&&u.push(b.name):On(y)&&u.push(b.name);continue}if(y!==i&&y!==s||b.kind!=="attr"&&b.kind!=="attr-mixed"&&b.kind!=="bool")continue;let h=n[b.idx],W={i:b.idx,kind:b.kind};b.kind==="attr-mixed"&&(W.statics=h.statics||[],W.group=h.group||[]),(y===i?c:l).push(W)}return{isForm:r,tag:e.localName,actionIdxs:a.map(b=>b.idx),duplicateAction:a.length>1,staticAction:e.getAttribute(o)!=null,authoredName:d,authoredValue:m,authoredForm:p,propAttrs:u,nameParts:f,valueParts:g,staticMethod:e.getAttribute(i),staticEnctype:e.getAttribute(s),methodParts:c,enctypeParts:l}}function rt(e,t,n){if(e)for(let r of[!0,!1])for(let o of e){if(o.isForm!==r)continue;let i=o.actionIdxs[0],s=o.isForm?"action":"formaction";for(let l of o.actionIdxs)if(Rn(Te(n[l]),s,o.tag)){i=l;break}let a=t[i];if(!a||!a.el)continue;let c=Te(n[i]);if(o.isForm)go(a.el,c,Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n),o);else{let l=u=>u.some(f=>f.kind==="bool"?!!Te(n[f.i]):!0);Ra(a.el,c,o,l(o.nameParts),l(o.valueParts),Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n))}}}function ja(e){(lr.has(e)||e.getAttribute("name")===O)&&(e.getAttribute("name")===O&&e.removeAttribute("name"),e.removeAttribute("value"),lr.delete(e))}function Ra(e,t,n,r,o,i,s){let a=typeof t=="function"?jn(t):null;if(!a){typeof t=="function"&&Ln(null,e.localName),ja(e),wo(e,i,s,n.propAttrs);return}po(n.duplicateAction,e.localName),ho(n.propAttrs,e.localName),n.staticAction&&uo(e.localName),(n.authoredValue||o)&&lo(e.localName),(n.authoredName||r)&&ao(e.getAttribute("name")||O,e.localName,!1),(n.authoredForm||e.hasAttribute("form"))&&fo(e.localName),co(e.localName,e.getAttribute("type"));let c=yo(e.localName,i,s);e.removeAttribute("formaction"),e.setAttribute("name",O),e.setAttribute("value",a),ze(e,"formmethod",i,c.formMethod),ze(e,"formenctype",s,c.formEnctype),lr.set(e,a)}function Oa(e,t){let{templateEl:n,parts:r,formActions:o}=Vt(e),i=n.content.cloneNode(!0),s=document.createComment(`${C}s`),a=document.createComment(`${C}e`),c=r.map(f=>Kt(f,i)),l=[];for(let f=0;f<e.values.length;f++)z(c[f],e.values[f],void 0,e.values),l.push(e.values[f]);rt(o,c,e.values),t.replaceChildren(s,...i.childNodes,a);let u=t.nodeType===1&&t[v]?t:null;for(let f of c)f.kind==="slot"&&(u&&f.slotEl&&(f.slotEl[It]=u),z(f,void 0,void 0,[]));return{strings:e.strings,bound:c,lastValues:l,startNode:s,endNode:a}}function Kt(e,t){if(e.kind==="noop")return{kind:"noop",mixedAnchor:e.mixedAnchor};let n=t;for(let o of e.path)n=n.childNodes[o];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let o={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(i){o.handler?.(i)}};return r.addEventListener(o.name,o.dispatcher),o}if(e.kind==="attr")return{kind:"attr",el:r,name:e.name||""};if(e.kind==="attr-mixed")return{kind:"attr-mixed",el:r,name:e.name||"",statics:e.statics||[],group:e.group||[]};if(e.kind==="prop")return{kind:"prop",el:r,name:e.name||""};if(e.kind==="bool")return{kind:"bool",el:r,name:e.name||""};if(e.kind==="element")return{kind:"element",el:r};if(e.kind==="slot")return{kind:"slot",slotEl:r,applied:!1};throw new Error(`unknown part kind ${e.kind}`)}var Yo=Symbol("webjs.commitFailed");function je(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(Object.is(r,e.lastValues[n]))continue;let o=e.bound[n],i=o.mixedAnchor;try{o.kind==="noop"&&i!=null?z(e.bound[i],t[i],e.lastValues[i],t):z(o,r,e.lastValues[n],t)}catch(s){throw e.lastValues[n]=Yo,o.kind==="noop"&&i!=null&&(e.lastValues[i]=Yo),s}e.lastValues[n]=r}rt(cr.get(e.strings)?.formActions??null,e.bound,t)}function Go(e,t){for(let n of e.bound){if(n.kind==="event"&&n.el.removeEventListener(n.name,n.dispatcher),n.kind==="element"){let r=n.lastTarget;if(r){if(typeof r=="function")try{r(void 0)}catch{}else if(typeof r=="object")try{r.value=void 0}catch{}n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=tt(n.slotEl);r&&zo(r,n.slotEl)}}t.replaceChildren()}function Ht(e,t,n){for(let r of e){if(r.kind==="bool")return Te(n[r.i])?"":$;if(r.kind==="attr"){let a=Te(n[r.i]);return a==null?"":String(a)}let o=r.statics||[],i=r.group||[],s=o[0]||"";for(let a=0;a<i.length;a++)s+=String(Te(n[i[a]])??""),s+=o[a+1]||"";return s}return t??$}function Te(e){return At(e)?e.value:e}function z(e,t,n,r){if(At(t)){let o=t.value;if(e.kind==="prop"&&e.el[e.name]===o||e.kind==="attr"&&e.el.getAttribute(e.name)===String(o)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!o)return;t=o}switch(e.kind){case"child":Ma(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):Rn(t,e.name,e.el.localName)||(Ye(t,e.name,e.el.localName),e.el.setAttribute(e.name,String(t)));break}case"prop":mo(t,e.name,e.el.localName),e.el[e.name]=t;break;case"bool":Ye(t,e.name,e.el.localName),t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Pa(e,t);break;case"attr-mixed":{let o=e,i=o.statics[0];for(let s=0;s<o.group.length;s++){let a=r?r[o.group[s]]:t;Ye(a,e.name,e.el.localName),i+=String(a??""),i+=o.statics[s+1]||""}e.el.setAttribute(e.name,i);break}case"slot":{if(e.applied)break;let o=e.slotEl,i=()=>{let a=tt(o);if(!a){e.applied=!0;return}if(!a.contains(o)){a.isConnected?queueMicrotask(i):e.applied=!0;return}if(e.applied=!0,La(o))return;let c=document.createDocumentFragment();for(;o.firstChild;)c.appendChild(o.firstChild);o[et]=c,queueMicrotask(()=>Z(a))},s=tt(o);s&&s.contains(o)?i():queueMicrotask(i);break}case"noop":break}}function tt(e){let t=e[It];if(t&&t.isConnected)return t;let n=e.parentElement;for(;n;){if(n[v])return n;n=n.parentElement}return null}function La(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function Pa(e,t){let n=e,r=Et(t)?t.target:void 0,o=n.__refTarget,i=r!==o;if(i&&o)if(typeof o=="function")try{o(void 0)}catch{}else typeof o=="object"&&(o.value=void 0);if(i||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!i&&n.__refElement!==void 0)try{r(void 0)}catch{}try{r(e.el)}catch{}}else typeof r=="object"&&(r.value=e.el);n.__refElement=e.el,e.lastTarget=r}}function Ma(e,t){return Va(e,t),K(e,t)}function K(e,t){return Jo(e.marker&&e.marker.parentNode,()=>Ia(e,t))}function Ia(e,t){let n=e.marker;if(Pn(t)){se(e);let o=String(t.value??""),i=document.createElement("template");i.innerHTML=o;let s=[...i.content.childNodes],a=document.createDocumentFragment();for(let c of s)a.appendChild(c);n.parentNode?.insertBefore(a,n),e.child=s;return}if(St(t)){let o=t,i=e.__keyedKey;i!==void 0&&!Object.is(i,o.key)&&se(e),e.__keyedKey=o.key,K(e,o.value);return}if(vt(t)){let o=t,i=e.__guardDeps,s=o.deps;if(i!==void 0&&(Array.isArray(i)&&Array.isArray(s)?Wa(i,s):Object.is(i,s)))return;let a=Array.isArray(s)?s.slice():s;K(e,o.fn()),e.__guardDeps=a;return}if(Mn(t)){se(e);let o=t.template;if(o&&o.content){let i=o.content.cloneNode(!0),s=[...i.childNodes];n.parentNode?.insertBefore(i,n),e.child=s}return}if(Et(t))return;if(Ct(t))return Ka(e,t.value);if(kt(t))return za(e,t.args);if(Nt(t))return Ya(e,t.signal);if(In(t))return Ga(e,t);if(Fn(t))return Ja(e,t);if(_t(t)){if(e.child&&e.child.kind==="repeat"){Da(e,t);return}se(e);let o={kind:"repeat",map:new Map};e.child=o,$a(n,o,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){Ha(e,t);return}se(e);let o={kind:"array",items:[]};e.child=o,Ua(n,o,t);return}if(e.child){let o=e.child;if(o.kind==="repeat")Xo(o),e.child=void 0;else if(o.kind==="array")Zo(o),e.child=void 0;else if(o.kind==="async-stream")ri(o),e.child=void 0;else if("strings"in e.child){let i=e.child;if(P(t)&&i.strings===t.strings){je(i,t.values);return}Re(i.startNode,i.endNode),e.child=void 0}else{for(let i of e.child)i.parentNode&&i.parentNode.removeChild(i);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(P(t)){let o=t,{templateEl:i,parts:s,formActions:a}=Vt(o),c=i.content.cloneNode(!0),l=document.createComment(`${C}s`),u=document.createComment(`${C}e`),f=s.map(m=>Kt(m,c)),d=[];for(let m=0;m<o.values.length;m++)z(f[m],o.values[m],void 0,o.values),d.push(o.values[m]);rt(a,f,o.values);let p=[l,...c.childNodes,u];n.parentNode?.insertBefore(Fa(p),n);for(let m of f)m.kind==="slot"&&z(m,void 0,void 0,[]);e.child={strings:o.strings,bound:f,lastValues:d,startNode:l,endNode:u};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function Fa(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Re(e,t){let n=e.parentNode;if(!n)return;let r=e;for(;r&&r!==t;){let o=r.nextSibling;r.parentNode?.removeChild(r),r=o}t.parentNode===n&&n.removeChild(t)}function dr(e){let{templateEl:t,parts:n,formActions:r}=Vt(e),o=t.content.cloneNode(!0),i=document.createComment(`${C}s`),s=document.createComment(`${C}e`),a=n.map(u=>Kt(u,o)),c=[];for(let u=0;u<e.values.length;u++)z(a[u],e.values[u],void 0,e.values),c.push(e.values[u]);rt(r,a,e.values);for(let u of a)u.kind==="slot"&&z(u,void 0,void 0,[]);let l=document.createDocumentFragment();for(l.appendChild(i);o.firstChild;)l.appendChild(o.firstChild);return l.appendChild(s),{inst:{strings:e.strings,bound:a,lastValues:c,startNode:i,endNode:s},frag:l}}function nt(e){for(let t of e.bound)if(t.kind==="event"&&t.el.removeEventListener(t.name,t.dispatcher),t.kind==="element"){let n=t.lastTarget;if(n){if(typeof n=="function")try{n(void 0)}catch{}else if(typeof n=="object")try{n.value=void 0}catch{}t.lastTarget=void 0,t.__lastEl=void 0}}}function $a(e,t,n){let{items:r,keyFn:o,templateFn:i}=n,s=e.parentNode;if(!s)return;let a=document.createDocumentFragment();for(let c=0;c<r.length;c++){let l=o(r[c],c),u=i(r[c],c);if(!P(u))continue;let{inst:f,frag:d}=dr(u);t.map.set(l,f),a.appendChild(d)}s.insertBefore(a,e)}function Da(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,{items:i,keyFn:s,templateFn:a}=t,c=new Map;try{for(let l=0;l<i.length;l++){let u=s(i[l],l),f=a(i[l],l);if(!P(f))continue;let d=o.map.get(u);if(d&&d.strings===f.strings)je(d,f.values),ur(d.startNode,d.endNode,r,n),c.set(u,d),o.map.delete(u);else{d&&(o.map.delete(u),nt(d),Re(d.startNode,d.endNode));let{inst:p,frag:m}=dr(f);r.insertBefore(m,n),c.set(u,p)}}for(let[l,u]of[...o.map]){o.map.delete(l);try{nt(u)}finally{Re(u.startNode,u.endNode)}}o.map=c}catch(l){for(let[u,f]of c)o.map.set(u,f);throw l}}function Xo(e){for(let[t,n]of[...e.map]){e.map.delete(t);try{nt(n)}finally{Re(n.startNode,n.endNode)}}e.map.clear()}function Ba(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function qt(e){e.type==="tpl"?(nt(e.inst),Re(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function Qo(e){if(P(e)){let{inst:t,frag:n}=dr(e);return{item:{type:"tpl",inst:t},frag:n}}if(e!=null&&e!==!1&&e!==!0){let t=document.createTextNode(String(e));return{item:{type:"text",node:t},frag:t}}return{item:{type:"empty"},frag:null}}function Ua(e,t,n){let r=e.parentNode;if(!r)return;let o=document.createDocumentFragment(),i=[];for(let s of n){let{item:a,frag:c}=Qo(s);c&&o.appendChild(c),i.push(a)}r.insertBefore(o,e),t.items=i}function Ha(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,i=o.items,s=[],a=0;try{for(let c=0;c<t.length;c++){let l=t[c],u=i[c];if(P(l)){let p=l;if(u&&u.type==="tpl"&&u.inst.strings===p.strings){je(u.inst,p.values),s.push(u),a=c+1;continue}}else if(l!=null&&l!==!1&&l!==!0){if(u&&u.type==="text"){let p=String(l);u.node.data!==p&&(u.node.data=p),s.push(u),a=c+1;continue}}else{u&&qt(u),s.push({type:"empty"}),a=c+1;continue}let{item:f,frag:d}=Qo(l);d&&r.insertBefore(d,qa(i,c,n)),s.push(f),u&&qt(u),a=c+1}for(let c=t.length;c<i.length;c++)qt(i[c]),a=c+1;o.items=s}catch(c){throw o.items=s.concat(i.slice(a)),c}}function qa(e,t,n){for(let r=t;r<e.length;r++){let o=Ba(e[r]);if(o&&o.parentNode)return o}return n}function Zo(e){for(let t of e.items)qt(t);e.items=[]}function ur(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let o=document.createDocumentFragment(),i=e;for(;i;){let s=i.nextSibling;if(o.appendChild(i),i===t)break;i=s}n.insertBefore(o,r)}function Wa(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function se(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&ei(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Xo(n);else if(n.kind==="array")Zo(n);else if(n.kind==="async-stream")ri(n);else if("strings"in n){let r=e.child;nt(r),Re(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function Va(e,t){let n=e;n.__untilState&&!kt(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!vt(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!Ct(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!St(t)&&(n.__keyedKey=void 0),n.__watchSub&&!Nt(t)&&ei(n)}function Ka(e,t){let n=e.marker,r=e,o=r.__cacheMap;o||(o=new Map,r.__cacheMap=o);let i=e.child;if(i&&"strings"in i){let a=i;if(P(t)&&a.strings===t.strings){je(a,t.values);return}let c=document.createDocumentFragment();ur(a.startNode,a.endNode,c,null),o.set(a.strings,{inst:a,holder:c}),e.child=void 0}if(P(t)){let a=t,c=o.get(a.strings);if(c){o.delete(a.strings),e.child&&se(e),ur(c.inst.startNode,c.inst.endNode,n.parentNode,n),je(c.inst,a.values),e.child=c.inst;let l=new Set;for(let u=c.inst.startNode.nextSibling;u&&u!==c.inst.endNode;u=u.nextSibling){if(u.nodeType!==1)continue;let f=u;if(f.matches("slot[data-webjs-light]")){let d=tt(f);d&&l.add(d)}for(let d of f.querySelectorAll("slot[data-webjs-light]")){let p=tt(d);p&&l.add(p)}}for(let u of l)Z(u);return}}K(e,t)}function za(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=n.__untilState,o=n.__untilArgs,i=(d,p)=>!!(Object.is(d,p)||P(d)&&P(p)&&d.strings===p.strings),a=o&&o.length===t.length&&o.every((d,p)=>i(d,t[p]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let c={aborted:!1,highestResolved:a};n.__untilState=c;let l=-1,u;for(let d=0;d<t.length;d++){let p=t[d];if(!p||typeof p.then!="function"){l=d,u=p;break}}l!==-1&&l<=c.highestResolved?(K(e,u),c.highestResolved=l):l===-1&&!n.__untilEverRendered&&K(e,""),n.__untilEverRendered=!0;let f=Math.min(l===-1?t.length:l,c.highestResolved);for(let d=0;d<f;d++){let p=t[d];!p||typeof p.then!="function"||Promise.resolve(p).then(m=>{if(!c.aborted&&!(d>=c.highestResolved)){try{fr(e,()=>K(e,m))}catch(g){pr(e,g);return}c.highestResolved=d}},()=>{})}}function pr(e,t){let n;try{n=t instanceof Error?t:new Error(String(t))}catch{n=new Error("render error (unstringifiable thrown value)")}let r=e.__commitOwner;if(r&&typeof r._handleRenderError=="function"){r._handleRenderError(n);return}throw n}function Ya(e,t){let n=e;if(M&&(n.__commitOwner=Wt(M)),n.__watchSig===t&&n.__watchSub){let i;n.__watchSub.observe(()=>{i=t.get()}),K(e,i);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Qe.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let i;try{r.observe(()=>{i=t.get()}),fr(e,()=>K(e,i))}catch(s){pr(e,s)}})});n.__watchSub=r;let o;r.observe(()=>{o=t.get()}),K(e,o)}function ei(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function Ga(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="append"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}function Ja(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="replace"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}async function ti(e,t,n){let r=t.marker,o=0;for(;!e.aborted;){let i,s;try{if(i=await e.iterator.next(),e.aborted||i.done)break;s=n.mapper?n.mapper(i.value,o):i.value}catch(a){typeof console<"u"&&console.error("[webjs] asyncStream error:",a);return}try{fr(t,()=>{let a=ni(s);Jo(r.parentNode,()=>{if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let c=document.createDocumentFragment();for(let l of a)c.appendChild(l);r.parentNode?.insertBefore(c,r),e.nodes.push(...a)})})}catch(a){e.aborted=!0;try{e.iterator.return?.()?.catch?.(()=>{})}catch{}pr(t,a);return}o++}}function ni(e){if(e==null||e===!1||e===!0)return[];if(P(e)){let t=e,{templateEl:n,parts:r,formActions:o}=Vt(t),i=n.content.cloneNode(!0),s=r.map(a=>Kt(a,i));for(let a=0;a<t.values.length;a++)z(s[a],t.values[a],void 0,t.values);rt(o,s,t.values);for(let a of s)a.kind==="slot"&&z(a,void 0,void 0,[]);return[...i.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...ni(n));return t}return[document.createTextNode(String(e))]}function ri(e){e.aborted=!0;for(let t of e.nodes)t.parentNode&&t.parentNode.removeChild(t);e.nodes=[];try{e.iterator.return?.()?.catch?.(()=>{})}catch{}}var oi=null;function zt(e){oi=e||null}function Xa(){return oi||void 0}Ge();var ii=Symbol.for("webjs:registry"),si=Symbol.for("webjs:classToTag"),Yt=globalThis,Y=Yt[ii]||(Yt[ii]=new Map),ai=Yt[si]||(Yt[si]=new WeakMap),Gt=typeof window<"u"&&typeof customElements<"u";function hr(e,t){if(!e||typeof e!="string"||!e.includes("-"))throw new Error(`customElements.define: tag "${e}" must contain a hyphen (HTML spec)`);let n=t.lazy===!0,r=Y.get(e);r?(r.cls=t,r.lazy=n):Y.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),ai.set(t,e)}if(Gt){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),hr(t,n)}}if(!Gt){let e=globalThis;e.customElements||(e.customElements={define(t,n){hr(t,n)},get(t){return Y.get(t)?.cls},upgrade(){},whenDefined(t){let n=Y.get(t);return Promise.resolve(n?.cls)}})}function mr(e,t){Gt?customElements.define(e,t):hr(e,t)}function Qa(e,t){if(Gt)return;let n=Y.get(e);if(n){n.moduleUrl=t;return}Y.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function Za(e){return Y.get(e)?.cls}function ec(e){return Y.get(e)?.moduleUrl||null}function tc(e){return Y.get(e)?.lazy===!0}function ot(e){return ai.get(e)}function nc(){return[...Y.keys()]}at();Bt();var mi=typeof window<"u"&&typeof HTMLElement<"u";function mc(e,t){return e!==t}function bc(e){try{return String(e)}catch{return Object.prototype.toString.call(e)}}function di(e,t,n){if(typeof console>"u"||!console.warn)return;let r=ot(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${r}> holds a function (or an array carrying one), which has no HTML attribute representation. Removing "${n}" instead of stringifying it (a stringified function writes its source into the page, so a server action's body would ship to the browser). Pass a string, or drop reflect on this property.`)}function yc(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var Jt=class{constructor(){this.__ssrAttrs=new Map,this.__internals=null}get attributes(){return[...this.__ssrAttrs].map(([t,n])=>({name:t,value:n}))}getAttribute(t){let n=this.__ssrAttrs.get(String(t).toLowerCase());return n===void 0?null:n}setAttribute(t,n){this.__ssrAttrs.set(String(t).toLowerCase(),String(n))}removeAttribute(t){this.__ssrAttrs.delete(String(t).toLowerCase())}hasAttribute(t){return this.__ssrAttrs.has(String(t).toLowerCase())}toggleAttribute(t,n){let r=String(t).toLowerCase(),o=this.__ssrAttrs.has(r);return(n===void 0?!o:n)?(this.__ssrAttrs.set(r,""),!0):(this.__ssrAttrs.delete(r),!1)}getAttributeNames(){return[...this.__ssrAttrs.keys()]}closest(t){let n=String(t).trim().toLowerCase();if(!/^[a-z][a-z0-9-]*$/.test(n))return null;if(this.__ssrTag===n)return this;let r=this.__ssrAncestors;if(!Array.isArray(r))return null;for(let o=r.length-1;o>=0;o--)if(r[o]&&r[o].__ssrTag===n)return r[o];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,o=>"-"+o.toLowerCase());return this.__dataset=new Proxy({},{get(r,o){if(typeof o!="string")return;let i=t.getAttribute(n(o));return i===null?void 0:i},set(r,o,i){return typeof o=="string"&&t.setAttribute(n(o),i),!0},has(r,o){return typeof o=="string"&&t.hasAttribute(n(o))},deleteProperty(r,o){return typeof o=="string"&&t.removeAttribute(n(o)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(o,i)=>i.toUpperCase()))},getOwnPropertyDescriptor(r,o){if(typeof o=="string"&&t.hasAttribute(n(o)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(o))}}}),this.__dataset}get className(){return this.getAttribute("class")??""}set className(t){this.setAttribute("class",t)}get hidden(){return this.hasAttribute("hidden")}set hidden(t){this.toggleAttribute("hidden",!!t)}get id(){return this.getAttribute("id")??""}set id(t){this.setAttribute("id",t)}get title(){return this.getAttribute("title")??""}set title(t){this.setAttribute("title",t)}get slot(){return this.getAttribute("slot")??""}set slot(t){this.setAttribute("slot",t)}get role(){return this.getAttribute("role")}set role(t){t==null?this.removeAttribute("role"):this.setAttribute("role",t)}get tabIndex(){let t=this.getAttribute("tabindex");return t===null?-1:Number.parseInt(t,10)||0}set tabIndex(t){this.setAttribute("tabindex",String(t))}addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");return this.__internals=yc(),this.__internals}},gc=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDescription","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];for(let e of gc){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(Jt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var wc=mi?HTMLElement:Jt,bi=Symbol("webjs.factoryProps"),pi=new WeakSet,Le=class e extends wc{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){mr(t,this)}static get observedAttributes(){let t=this.properties||{};return Object.keys(t).filter(n=>!(typeof t[n]=="object"&&t[n].state)).map(n=>typeof t[n]=="object"&&t[n].attribute||yr(n))}constructor(){super(),this._renderRoot=null,this._scheduled=!1,this._connected=!1,this.__controllers=new Set,this.__firstRendered=!1,this._changedProperties=new Map,this._updateResolve=null,this._updatePromise=Promise.resolve(!0),this._isUpdating=!1,this._assertFactoryProperties(),this._initializeProperties()}_assertFactoryProperties(){let t=this.constructor;if(pi.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,bi)){let r=n.name||"a component";throw new Error(`${r}: \`static properties\` is no longer supported. Declare reactive properties via the factory instead: \`class ${r} extends WebComponent({ count: Number })\`. Use the \`prop()\` helper for options (\`prop(Number, { reflect: true })\`) and set defaults in the constructor after \`super()\`. See https://webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}pi.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,o]of Object.entries(n)){let i=typeof o=="object"?o:{type:o},s=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:a=>{let c=this.__propValues[r];(i.hasChanged||mc)(a,c)&&(this.__propValues[r]=a,i.reflect&&!i.state&&this._connected&&this._reflectAttribute(r,a,i),this.requestUpdate(r,c))}}),s!==void 0?this.__propValues[r]=s:i.default!==void 0&&(this.__propValues[r]=typeof i.default=="function"?i.default():i.default)}}}_reflectAttribute(t,n,r){let o=r.attribute||yr(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let i=r.converter.toAttribute(n,r.type);i==null?this.removeAttribute(o):this.setAttribute(o,i)}else typeof n=="function"?(this.removeAttribute(o),di(this,t,o)):r.type===Boolean?n?this.setAttribute(o,""):this.removeAttribute(o):n==null?this.removeAttribute(o):r.type===Object||r.type===Array?this.setAttribute(o,JSON.stringify(n)):wt(n)?(this.removeAttribute(o),di(this,t,o)):this.setAttribute(o,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!mi)return;if(this.__webjsPropsHydrated||(this.__webjsPropsHydrated=!0,this._hydratePropAttrs()),this.constructor.hydrate==="visible"&&typeof IntersectionObserver<"u"&&!this.__hydrationActivated){this.__hydrationActivated=!1,this.__hydrationObserver=new IntersectionObserver(n=>{for(let r of n)if(r.isIntersecting){this.__hydrationObserver.unobserve(this),this.__hydrationObserver.disconnect(),this.__hydrationObserver=null,this.__hydrationActivated=!0,this._activate();return}},{rootMargin:"200px"}),this.__hydrationObserver.observe(this);return}this._activate()}_hydratePropAttrs(){let t=[],n=this.attributes;for(let r=0;r<n.length;r++){let o=n[r].name;o.startsWith("data-webjs-prop-")&&t.push(o)}for(let r of t){let o=this.getAttribute(r);if(this.removeAttribute(r),o==null)continue;let i=hi(r.slice(16));try{this[i]=ye(o)}catch(s){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${s&&s.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow!==!0&&!this.hasAttribute("data-wj-host")&&this.setAttribute("data-wj-host",""),t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,o=Array.isArray(r)?r:kn(r)?[r]:[];if(o.length){if(n){let i=this.shadowRoot.querySelector("style");i&&i.remove()}Nn(this._renderRoot,o)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${ot(t)||this.tagName?.toLowerCase()}> has static shadow = false AND static styles. static styles only works with shadow DOM (adoptedStyleSheets). For light DOM, use global CSS or <style> in render().`),sr(this)?Ho(this):this.__isHydrating()||this.hasAttribute("data-wj-serialized")||Ko(this)?(this.removeAttribute("data-wj-serialized"),Q(this),Lo(this)):Oo(this),Vo(this),Do(this);for(let n of this.__controllers)n.hostConnected&&n.hostConnected();this._updateResolve===null&&(this._updatePromise=new Promise(n=>{this._updateResolve=n})),this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(n){console.error("[webjs] lifecycle hook threw during initial render:",n)}})}__isHydrating(){let t=this.firstChild,n=t!=null&&t.nodeType===8&&t.data==="webjs-hydrate";return n&&(this.__hydratedAtActivate=!0),n}disconnectedCallback(){this._connected=!1,this.__hydrationObserver&&(this.__hydrationObserver.disconnect(),this.__hydrationObserver=null),Uo(this),this.__signalWatcher&&(this.__signalWatcher.dispose(),this.__signalWatcher=void 0);for(let t of this.__controllers)t.hostDisconnected&&t.hostDisconnected()}attributeChangedCallback(t,n,r){if(this.__reflectingAttribute)return;let i=this.constructor.properties||{},s,a;for(let[u,f]of Object.entries(i))if(((typeof f=="object"?f:{type:f}).attribute||yr(u))===t){s=u,a=f;break}if(a===void 0&&(s=hi(t),a=i[s]||i[t]),a===void 0)return;let c=typeof a=="object"?a:{type:a},l;if(c.converter&&c.converter.fromAttribute)l=c.converter.fromAttribute(r,c.type);else if(c.type===Number)l=r==null?null:Number(r);else if(c.type===Boolean)l=r!=null&&r!=="false";else if(c.type===Object||c.type===Array)try{l=r==null?null:JSON.parse(r)}catch{l=r}else l=r;this[s]!==l&&(this[s]=l,this._connected&&this.requestUpdate())}requestUpdate(t,n){t!==void 0&&!this._changedProperties.has(t)&&this._changedProperties.set(t,n),this._scheduleUpdate()}_scheduleUpdate(){this._updateResolve===null&&(this._updatePromise=new Promise(t=>{this._updateResolve=t})),!this._isUpdating&&(this._scheduled||!this._connected||(this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(t){console.error("[webjs] lifecycle hook threw during update cycle:",t)}})))}_performRender(){if(!this._renderRoot)return;let t=this._changedProperties;this._isUpdating=!0;let n=!1,r=null;try{if(this.shouldUpdate(t)){this.willUpdate(t);for(let o of this.__controllers)o.hostUpdate&&o.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,zt(this.__renderAbort?this.__renderAbort.signal:null);try{let o=this.update(t);o&&typeof o.then=="function"&&(r=o)}catch(o){this._handleRenderError(o)}finally{zt(null)}if(!r){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();n=!0}}}catch(o){console.error("[webjs] lifecycle hook threw during update phase:",o)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let o=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1;let i=()=>{if(this.__pendingAsyncCommits--,o===this.__renderToken){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();this._postCommit(t)}};r.then(i,s=>{try{o===this.__renderToken&&this._handleRenderError(s instanceof Error?s:new Error(bc(s)))}finally{i()}});return}n?this._postCommit(t):this.__pendingAsyncCommits||this._resolveUpdate()}_resolveUpdate(){if(this._updateResolve){let t=this._changedProperties.size===0;this._updateResolve(t),this._updateResolve=null}}performServerUpdate(){let t=this._changedProperties;this._isUpdating=!0;try{this.willUpdate(t);for(let n of this.__controllers)n.hostUpdate&&n.hostUpdate();this._reflectDeclaredAttributes()}finally{this._isUpdating=!1}}_reflectDeclaredAttributes(){let t=this.constructor.properties||{};for(let n of Object.keys(t)){let r=t[n];!r||!r.reflect||r.state||this._reflectAttribute(n,this[n],r)}}shouldUpdate(t){return!0}willUpdate(t){}update(t){this.__signalWatcher||(this.__signalWatcher=new Qe.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);Oe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&Oe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{if(n===this.__renderToken)try{Oe(r,this._renderRoot)}catch(o){this._handleRenderError(o instanceof Error?o:new Error(String(o)))}},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Xt.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${ot(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&Oe(n,this._renderRoot)}catch(n){console.error("[webjs] renderError() also threw:",n)}}_postCommit(t){try{this.__firstRendered||(this.__firstRendered=!0,this.firstUpdated(t)),this.updated(t)}catch(n){console.error("[webjs] lifecycle hook threw during post-commit phase:",n)}finally{this._resolveUpdate()}}updated(t){}firstUpdated(t){}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}addController(t){this.__controllers.add(t),this._connected&&t.hostConnected&&t.hostConnected()}removeController(t){this.__controllers.delete(t)}render(){return""}renderError(t){}renderFallback(){}};function yr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function hi(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Xt(e){return new.target?Reflect.construct(Le,arguments,new.target):class extends Le{static properties=e;static[bi]=!0}}Object.setPrototypeOf(Xt,Le);Xt.prototype=Le.prototype;function _c(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}gt();var yi=Symbol.for("webjs.notFound"),gi=Symbol.for("webjs.redirect"),wi=Symbol.for("webjs.forbidden"),_i=Symbol.for("webjs.unauthorized");function Ac(){let e=new Error("webjs: notFound()");throw e.__webjs=yi,e}function Sc(){let e=new Error("webjs: forbidden()");throw e.__webjs=wi,e}function vc(){let e=new Error("webjs: unauthorized()");throw e.__webjs=_i,e}function Ec(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=gi,r.url=e,r.status=typeof n=="number"?n:void 0,r}function Cc(e){return!!e&&e.__webjs===yi}function kc(e){return!!e&&e.__webjs===gi}function Nc(e){return!!e&&e.__webjs===wi}function xc(e){return!!e&&e.__webjs===_i}var Ai=null;function Tc(){if(!Ai)return"";try{return Ai()||""}catch{return""}}var Si=null;function jc(e){if(typeof e!="string"||!e||!Si)return e;try{return Si(e)||e}catch{return e}}Ge();var qu=Symbol.for("webjs.suspense");function Rc(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function Oc(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}function Lc(e,t={}){let n=t.reconnect!==!1,r=0,o=!1,i=null,s=[];function a(){o||(i=new WebSocket(Pc(e),t.protocols),i.onopen=c=>{for(r=0;s.length&&i&&i.readyState===WebSocket.OPEN;)i.send(s.shift());t.onOpen?.(c)},i.onmessage=c=>{let l=c.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,c)},i.onerror=c=>{t.onError?.(c)},i.onclose=c=>{if(t.onClose?.(c),!o&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(a,l)}})}return a(),{send(c){let l=typeof c=="string"||c instanceof ArrayBuffer||ArrayBuffer.isView(c)?c:JSON.stringify(c);i&&i.readyState===WebSocket.OPEN?i.send(l):s.push(l)},close(c,l){o=!0;try{i?.close(c,l)}catch{}},get socket(){return i},get readyState(){return i?.readyState??3}}}function Pc(e){if(/^wss?:\/\//i.test(e))return e;let t=typeof location<"u"&&location.protocol==="https:"?"wss:":"ws:",n=typeof location<"u"?location.host:"";return`${t}//${n}${e.startsWith("/")?e:"/"+e}`}at();var gr="application/vnd.webjs+json";async function Mc(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",gr);let r=t.body;r!=null&&typeof r=="object"&&!(r instanceof FormData)&&!(r instanceof Blob)&&!(r instanceof ArrayBuffer)&&!(r instanceof URLSearchParams)&&!(typeof ReadableStream<"u"&&r instanceof ReadableStream)&&!ArrayBuffer.isView(r)&&(r=await br(r),n.has("content-type")||n.set("content-type",gr));let o=await fetch(e,{...t,headers:n,body:r}),i=o.headers.get("content-type")||"",s=await o.text(),a=i.includes(gr)?s?ye(s):null:i.includes("application/json")?s?JSON.parse(s):null:s;if(!o.ok){let c=a&&a.error||`richFetch ${e} -> ${o.status}`,l=new Error(c);throw l.status=o.status,l.body=a,l}return a}at();Zt();Zt();Ar();en();var eo=class{constructor(t,n){this.host=t,this.options=n,this.updates=[],this._nextId=0}get value(){let t=this.options.source();if(!this.options.update)return this.updates.length>0?this.updates[this.updates.length-1].payload:t;for(let n of this.updates)t=this.options.update(t,n.payload);return t}add(t,n){let r=`opt-${++this._nextId}`;this.updates.push({id:r,payload:t}),this.host?.requestUpdate?.();let o=()=>{let i=this.updates.findIndex(s=>s.id===r);i!==-1&&(this.updates.splice(i,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>o()).catch(()=>{}):n.then(()=>o(),()=>o())),o}};async function Wl(e,t,n){let r=e.get();e.set(t);let o;try{o=await n()}catch(i){throw e.set(r),i}return o&&o.success===!1&&e.set(r),o}function Vl(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Wl(e,t,n):new eo(e,t)}Nr();jr();var Kl="application/vnd.webjs+stream",zl=1,Yl=2,Gl=3,Ss=new Uint8Array(0);function Jl(e,t){let n=t||Ss,r=n.length,o=new Uint8Array(5+r);return o[0]=e&255,o[1]=r>>>24&255,o[2]=r>>>16&255,o[3]=r>>>8&255,o[4]=r&255,r&&o.set(n,5),o}function Xl(){let e=Ss;return{push(t){if(t&&t.length){let r=new Uint8Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}let n=[];for(;e.length>=5;){let r=e[0],o=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+o)break;let i=e.slice(5,5+o);n.push({type:r,payload:i}),e=e.slice(5+o)}return n}}}var Ql=Symbol.for("webjs.context");function Zl(e){return{__context__:Ql,name:e}}var En=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},to=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=o=>{let i=o;if(i.context===this._context)if(o.stopPropagation(),i.subscribe){let s={callback:i.callback},a=()=>{this._subscriptions.delete(s)};this._subscriptions.add(s),i.callback(this._value,a)}else i.callback(this._value)},typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}setValue(t){if(!Object.is(this._value,t)){this._value=t;for(let n of this._subscriptions){let r=()=>{this._subscriptions.delete(n)};n.callback(t,r)}}}hostConnected(){this._host.addEventListener("context-request",this._onRequest)}hostDisconnected(){this._host.removeEventListener("context-request",this._onRequest),this._subscriptions.clear()}},no=class{constructor(t,{context:n,subscribe:r=!0}){this._host=t,this._context=n,this._subscribe=r,this._value=void 0,this._unsubscribe=void 0,typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}hostConnected(){this._dispatchRequest()}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=void 0)}_dispatchRequest(){let t=new En(this._context,(n,r)=>{let o=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(o,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function eu(){return typeof window<"u"}var ne={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},ro=class{constructor(t,{task:n,args:r,autoRun:o=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=o,this._status=ne.INITIAL,this._value=void 0,this._error=void 0,this._abortController=null,this._prevArgs=null,typeof t.addController=="function"&&t.addController(this)}get status(){return this._status}get value(){return this._value}get error(){return this._error}async run(){this.abort();let t=new AbortController;this._abortController=t;let n=this._argsFn();this._prevArgs=n,this._status=ne.PENDING,this._error=void 0,this._requestHostUpdate();try{let r=await this._taskFn(...n,{signal:t.signal});if(t.signal.aborted)return;this._value=r,this._status=ne.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=ne.ERROR,this._value=void 0}finally{this._abortController===t&&(this._abortController=null)}this._requestHostUpdate()}abort(){this._abortController&&(this._abortController.abort(),this._abortController=null)}render(t={}){switch(this._status){case ne.INITIAL:return t.initial?.();case ne.PENDING:return t.pending?.();case ne.COMPLETE:return t.complete?.(this._value);case ne.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!eu())return;let t=this._argsFn();this._argsEqual(this._prevArgs,t)||this.run()}hostUpdated(){}hostConnected(){}hostDisconnected(){this.abort()}_requestHostUpdate(){typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()}_argsEqual(t,n){if(t===null||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}};export{no as ContextConsumer,to as ContextProvider,En as ContextRequestEvent,O as FORM_ACTION_FIELD,so as FORM_ACTION_ID_KEY,zl as FRAME_CHUNK,Yl as FRAME_END,Gl as FRAME_ERROR,C as MARKER,Ri as SEED_MISS,Kl as STREAM_CONTENT_TYPE,Qe as Signal,Rc as Suspense,ro as Task,ne as TaskStatus,Xt as WebComponent,_r as WebjsFrame,Sr as WebjsStream,Xa as activeActionSignal,Nn as adoptStyles,nc as allTags,jc as asset,Gs as asyncAppend,Js as asyncReplace,sa as batch,zs as cache,ca as computed,Lc as connectWS,Xc as consumeStale,Zl as createContext,Xl as createFrameDecoder,Ks as createRef,Tc as cspNonce,Ns as css,ui as deserialize,Ui as disableClientRouter,ua as effect,Ur as enableClientRouter,Jl as encodeFrame,io as escapeAttr,Ts as escapeText,Gc as fetchMark,Sc as forbidden,qs as guard,ks as html,In as isAsyncAppend,Fn as isAsyncReplace,kn as isCSS,Ct as isCache,Nc as isForbidden,vt as isGuard,St as isKeyed,tc as isLazy,At as isLive,Cc as isNotFound,kc as isRedirect,Et as isRef,_t as isRepeat,la as isSignal,Oc as isSuspense,P as isTemplate,Mn as isTemplateContent,xc as isUnauthorized,Pn as isUnsafeHTML,kt as isUntil,Nt as isWatch,Hs as keyed,Us as live,Za as lookup,ec as lookupModuleUrl,xr as markStale,Hi as navigate,Ac as notFound,Vl as optimistic,ye as parse,Tr as parseTagHeader,Qa as primeModuleUrl,_c as prop,Ec as redirect,Vs as ref,mr as register,Jc as registerKeyTags,Oe as render,vr as renderStream,Ao as repeat,qi as revalidate,Mc as richFetch,tn as scanSeeds,zc as seedStats,li as serialize,zt as setActiveActionSignal,aa as signal,br as stringify,xs as stylesToString,ot as tagOf,Kc as takeSeed,Ws as templateContent,vc as unauthorized,Bs as unsafeHTML,Ys as until,Xs as watch};
|
|
3
|
+
`);if(a!==c){if(i.length===1&&s.length===1){let l=s[0];for(let u of[...l.attributes])l.removeAttribute(u.name);for(let u of i[0].attributes)l.setAttribute(u.name,u.value);continue}for(let l of s)l.remove();for(let l of i)document.head.appendChild(Xr(l))}}for(let[o,i]of r)if(!n.has(o))for(let s of i)s.remove()}function Dr(e){let t=e.querySelector("title");t&&(document.title=t.textContent||"");let n=new Set;for(let r of document.head.children)n.add(ee(r));for(let r of e.children)r.tagName==="SCRIPT"&&r.getAttribute("type")==="importmap"||r.tagName!=="BASE"&&r.tagName!=="TITLE"&&(r.tagName==="META"&&gn(r)||n.has(ee(r))||(r.tagName==="SCRIPT"?document.head.appendChild(yn(r)):document.head.appendChild(Xr(r))));Ol(e)}function Ll(e){return e.tagName==="STYLE"?!0:e.tagName==="LINK"&&(e.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")}function gs(e){let t=document.head,n=e.querySelector("title");n&&(document.title=n.textContent||"");let r=new Set;for(let i of t.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&r.add(ee(i));let o=new Set;for(let i of e.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&o.add(ee(i));for(let i of[...t.children])i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&i.tagName!=="TITLE"&&(Ll(i)||i.tagName==="META"&&gn(i)===$r||o.has(ee(i))||i.remove());for(let i of e.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&i.tagName!=="TITLE"&&(i.tagName==="META"&&gn(i)===$r||r.has(ee(i))||(i.tagName==="SCRIPT"?t.appendChild(yn(i)):t.appendChild(Xr(i))))}function De(e){typeof customElements>"u"||Qr(e)}function Qr(e){let t=e instanceof Element?[e,...e.querySelectorAll("*")]:[...e.querySelectorAll("*")];for(let n of t)n.tagName&&n.tagName.includes("-")&&(customElements.upgrade(n),n.shadowRoot&&Qr(n.shadowRoot))}function $i(e){for(let t of e.querySelectorAll("template[data-webjs-resolve]")){let n=t.cloneNode(!0);document.body.appendChild(n);let r=n.getAttribute("data-webjs-resolve"),o=window.__webjsResolve;r&&typeof o=="function"&&o(r)}}async function ws(e){if(!e.body||typeof e.body.getReader!="function")return{shell:await e.text(),streaming:!1};let t=e.body.getReader(),n=new TextDecoder,r="",o="<template data-webjs-resolve",i="<!--wj-stream-shell-->",s=/<\/html\s*>/i;for(;;){let{value:a,done:c}=await t.read();a&&(r+=n.decode(a,{stream:!0})),c&&(r+=n.decode());let l=r.indexOf(i);if(l!==-1)return{shell:r.slice(0,l),streaming:!0,reader:c?null:t,dec:n,rest:r.slice(l+i.length)};let u=r.indexOf(o);if(u!==-1)return{shell:r.slice(0,u),streaming:!0,reader:c?null:t,dec:n,rest:r.slice(u)};if(c)return{shell:r,streaming:!1};let f=s.exec(r);if(f){let d=f.index+f[0].length;return{shell:r.slice(0,d),streaming:!0,reader:t,dec:n,rest:r.slice(d)}}}}function _s(e){let t=/<template\s+data-webjs-resolve="([^"]+)"\s*>/i.exec(e);if(!t)return null;let n=t[1],r=t.index+t[0].length,o=/<(\/?)template\b[^>]*>/gi;o.lastIndex=r;let i=1,s;for(;s=o.exec(e);)if(s[1]==="/"){if(i--,i===0)return{id:n,content:e.slice(r,s.index),rest:e.slice(s.index+s[0].length)}}else i++;return null}function As(e,t){let n=document.getElementById(e);if(!n){ul(e);return}let r=document.createElement("template");r.innerHTML=t;let o=[...r.content.childNodes];n.replaceWith(r.content);for(let i of o)i.nodeType===1&&Qr(i)}async function Ss(e,t,n,r){let o=n,i=()=>{let s;for(;s=_s(o);){if(!r())return!1;As(s.id,s.content),o=s.rest}return!0};if(!e){i();return}try{for(;;){if(!i()){try{await e.cancel()}catch{}return}let{value:s,done:a}=await e.read();if(s&&(o+=t.decode(s,{stream:!0})),a){o+=t.decode(),i();return}}}catch{}}function wn(e){if(e.tagName==="SCRIPT"){let n=yn(e);return e.replaceWith(n),n}let t=[];bt.has(e)&&t.push(e);for(let n of e.querySelectorAll("[data-webjs-permanent]"))bt.has(n)&&t.push(n);for(let n of e.querySelectorAll("script"))t.length&&t.some(r=>r!==n&&r.contains(n))||n.replaceWith(yn(n));return e}function Zr(e){let t=[];for(let n=e.start.nextSibling;n&&n!==e.end;n=n.nextSibling)n.nodeType===1&&t.push(n);for(let n of t){let r=wn(n);r.isConnected!==!1&&De(r)}}function Pl(e){return S.get(fe(e))||null}function Ml(){return we.size}function Il(){S.clear(),we.clear(),Be.length=0,dt.clear(),An(),Kr()}function Fl(e){_e=e||(t=>{location.href=t})}function $l(){return k}function Dl(){return++k}function Bl(){return G}function Ul(e){G=e}function Hl(){Lr.clear(),Pr=!1}function ql(e,t){return es(e,t)}function Wl(e){return _n.test(e)}var Pi,Fe,te,B,k,Rr,G,rn,ol,Di,an,q,D,ft,_n,_e,Zi,Lr,cn,Mi,Pr,fl,R,hl,os,is,ml,bl,yl,S,we,Be,dt,Ue,pt,ue,$e,ht,pn,hn,bt,mt,Fr,$r,Zt=F(()=>{Ar();en();en();Je();Ti();kr();jr();Bt();Pi="text/vnd.webjs-stream.html";Fe=null;te=!1,B=null,k=0,Rr=null;G=null,rn=null,ol=2e3,Di=500,an=["wheel","touchmove","keydown","pointerdown"],q=null;D=null,ft=0;_n=/\.(?:pdf|zip|tar|gz|7z|rar|dmg|exe|msi|deb|rpm|apk|ipa|xlsx?|docx?|pptx?|csv|odt|ods|odp|rtf|epub|mobi|xml|json|rss|atom|txt|md|wasm|mp3|mp4|mov|avi|webm|ogg|flac|wav|m4a|m4v|mkv|png|jpe?g|gif|webp|avif|bmp|ico|svg|tiff?|heic)$/i,_e=e=>{location.href=e};Zi="_top";Lr=new Set;cn="webjs:nav-fallback",Mi=!1;Pr=!1;fl=16,R=new Map;hl=8,os=3e4,is=3,ml=24,bl=100,yl=250,S=new Map,we=new Set,Be=[],dt=new Set,Ue=null,pt=null,ue=null,$e=new WeakMap,ht=new Set;pn=new WeakMap;hn=new WeakMap;bt=new WeakSet;mt=Promise.resolve();Fr=new Set(["value","checked","selected","indeterminate","disabled","open","popover"]);$r="name=csp-nonce";(typeof window>"u"||window.__WEBJS_CLIENT_ROUTER__!==!1)&&Ur()});function ks(e,...t){return{_$webjs:"template",strings:e,values:t}}function P(e){return!!e&&typeof e=="object"&&e._$webjs==="template"}var C="wjm-";function xs(e,...t){let n=e[0];for(let r=1;r<e.length;r++)n+=String(t[r-1]??"")+e[r];return{_$webjsCss:!0,text:n}}function Nn(e){return!!e&&typeof e=="object"&&e._$webjsCss===!0}function kn(e,t){if(!(!t||!t.length))if("adoptedStyleSheets"in e&&typeof CSSStyleSheet<"u"){let n=t.map(r=>{let o=new CSSStyleSheet;return o.replaceSync(r.text),o});e.adoptedStyleSheets=n}else{let n=e,r=document.createElement("style");r.textContent=t.map(o=>o.text).join(`
|
|
4
|
+
`),n.appendChild(r)}}function Ts(e){return!e||!e.length?"":`<style>${e.map(t=>t.text).join(`
|
|
5
|
+
`)}</style>`}Tn();gt();Je();var _o=Symbol.for("webjs.repeat");function Ao(e,t,n){return{[_o]:!0,items:[...e],keyFn:t,templateFn:n}}function _t(e){return!!e&&typeof e=="object"&&e[_o]===!0}function Us(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function Pn(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function Hs(e){return{_$webjs:"live",value:e}}function At(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function qs(e,t){return{_$webjs:"keyed",key:e,value:t}}function St(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function Ws(e,t){return{_$webjs:"guard",deps:e,fn:t}}function vt(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function Vs(e){return{_$webjs:"template-content",template:e}}function Mn(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function zs(e){return{_$webjs:"ref",target:e}}function Et(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function Ks(){return{value:void 0}}function Ys(e){return{_$webjs:"cache",value:e}}function Ct(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function Gs(...e){return{_$webjs:"until",args:e}}function Nt(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function Js(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function In(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function Xs(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Fn(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function Qs(e){return{_$webjs:"watch",signal:e}}function kt(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var U=null,re=!1,Ce=0,Ee=null,$n=0,So=(e,t)=>Object.is(e,t),Tt=()=>{},vo=()=>!1;function Eo(e,t){e.liveConsumers||(e.liveConsumers=new Set);let n=e.liveConsumers.size===0;if(e.liveConsumers.add(t),n){if(e.producers&&e.producers.length>0)for(let r of e.producers)Eo(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Xe(e,t){if(e.liveConsumers&&(e.liveConsumers.delete(t),e.liveConsumers.size===0)){if(e.producers&&e.producers.length>0)for(let n of e.producers)Xe(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function Wn(e){if(re)throw new Error("Signal read during notification phase");if(U===null)return;let t=U,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&Un(t)&&Xe(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,Un(t)&&Eo(e,t)),t.producerLastReadVersions[n]=e.version}function Un(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function Co(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=re;re=!0;try{for(let n of e.liveConsumers)n.dirty||Zs(n)}finally{re=t}}function Zs(e){e.dirty=!0,Co(e),e.consumerMarkedDirty.call(e.wrapper||e)}function jt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ce)){if(!e.producerMustRecompute()&&!ea(e)){e.dirty=!1,e.lastCleanEpoch=Ce;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ce}}function ea(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(jt(n),r!==n.version))return!0}return!1}function Hn(e){e&&(e.nextProducerIndex=0);let t=U;return U=e,t}function qn(e,t){if(U=t,!!e){if(Un(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Xe(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var Rt=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,this.consumerMarkedDirty=Tt,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||So,this.watched=n?.[Vn],this.unwatched=n?.[zn]}get(){return Wn(this),this.__value}peek(){return this.__value}set(t){if(re)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ce++,Ee!==null?No(this):Co(this))}};function No(e){let t=re;re=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ee.add(n):No(n))}finally{re=t}}var Dn=Symbol("unset"),Bn=Symbol("computing"),xt=Symbol("errored"),Qe=class{constructor(t,n){this.__fn=t,this.__value=Dn,this.__error=null,this.version=0,this.lastCleanEpoch=-1,this.dirty=!0,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!1,this.wrapper=this,this.__isSignal=!0,this.__isComputed=!0,this.__equal=n?.equals||So,this.watched=n?.[Vn],this.unwatched=n?.[zn];let r=this;this.producerMustRecompute=function(){return r.__value===Dn||r.__value===Bn},this.producerRecomputeValue=function(){if(r.__value===Bn)throw new Error("Detected cycle in computations.");let o=r.__value;r.__value=Bn;let i=Hn(r),s,a=!1;try{s=r.__fn.call(r.wrapper)}catch(l){s=xt,r.__error=l,a=!0}finally{qn(r,i)}if(!a&&(o!==Dn&&o!==xt)&&r.__equal.call(r.wrapper,o,s)){r.__value=o;return}r.__value=s,r.version++},this.consumerMarkedDirty=Tt}get(){if(jt(this),Wn(this),this.__value===xt)throw this.__error;return this.__value}peek(){if(jt(this),this.__value===xt)throw this.__error;return this.__value}},Ot=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,this.wrapper=this,this.__isWatcher=!0;let n=this;this.consumerMarkedDirty=function(){n.__fire()}}__fire(){this.__notify&&this.__notify.call(this)}watch(...t){if(t.length===0){this.dirty=!1;return}let n=Hn(this);try{for(let r of t)Wn(r),r.__isComputed&&jt(r)}finally{qn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Xe(this.producers[n],this),this.producers.splice(n,1),this.producerLastReadVersions.splice(n,1),this.nextProducerIndex=Math.min(this.nextProducerIndex,this.producers.length))}getPending(){return this.producers.filter(t=>t.__isComputed&&t.dirty)}observe(t){let n=Hn(this),r;try{r=t()}finally{qn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Xe(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},Vn=Symbol("watched"),zn=Symbol("unwatched");function ta(e){let t=U;U=null;try{return e()}finally{U=t}}function na(e){return e.producers.slice()}function ra(e){return e.liveConsumers?[...e.liveConsumers]:[]}function oa(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function ia(e){return e.producers.length>0}function sa(){return U&&U.__isComputed?U:null}function aa(e){$n++,Ee===null&&(Ee=new Set);try{e()}finally{if($n--,$n===0){let t=Ee;Ee=null;for(let n of t)n.__fire()}}}var Ze={State:Rt,Computed:Qe,subtle:{Watcher:Ot,untrack:ta,introspectSources:na,introspectSinks:ra,hasSinks:oa,hasSources:ia,currentComputed:sa,watched:Vn,unwatched:zn}};function ca(e,t){return new Rt(e,t)}function la(e,t){return new Qe(e,t)}function ua(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function fa(e){let t=!1,n=!1,r=new Qe(e),o=new Ot(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(i){console.error(i)}o.watch()}}))});o.watch(r);try{r.get()}catch(i){console.error(i)}return()=>{n||(n=!0,o.dispose())}}Bt();function Jo(e,t){let n=e&&e[v]?e:null;return n?Ft(n,t):t()}var cr=new WeakMap,lr=new WeakMap,Ut=Symbol.for("webjs.instance"),M=null;function Wt(e){return e?e.nodeType===11&&e.host?e.host:e:null}function fr(e,t){let n=e.__commitOwner,r=M;n&&(M=n);try{t()}finally{M=r}}function Oe(e,t){let n=t,r=n[T];n[T]=!0;let o=M;M=t;try{let i=n[Ut];if(P(e)){let s=e;if(i&&i.strings===s.strings){je(i,s.values);return}i&&Go(i,t);let a=t.firstChild;a&&a.nodeType===8&&a.data==="webjs-hydrate"&&a.remove(),n[Ut]=null;let c=La(s,t);n[Ut]=c;return}if(i&&Go(i,t),n[Ut]=null,t.replaceChildren(),e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let s of e){let a=document.createTextNode(String(s??""));t.appendChild(a)}return}t.appendChild(document.createTextNode(String(e)))}finally{M=o,n[T]=r,r||ar(n)}}function Vt(e){let{strings:t}=e,n=cr.get(t);if(n)return n;let r=[],o="",i="text",s="",a=0,c="",l=0,u=null,f="",d="";for(let g=0;g<t.length;g++){let b=t[g];for(let y=0;y<b.length;y++){let h=b[y];switch(i){case"text":o+=h,h==="<"&&(i="tag-open");break;case"tag-open":o+=h,h==="!"?i="bang-1":h==="/"?(i="tag-name",f=""):/[a-zA-Z]/.test(h)?(i="tag-name",f=h.toLowerCase()):i="text";break;case"bang-1":o+=h,i=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":o+=h,h==="-"?(i="comment",l=0):i="tag-name";break;case"comment":o+=h,h==="-"?l+=1:(h===">"&&l>=2&&(i="text"),l=0);break;case"tag-name":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):/\s/.test(h)?i="in-tag":f+=h.toLowerCase();break;case"in-tag":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(i="attr-name",s=h,a=o.length-1);break;case"rawtext":o+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(i="text",d="",f="");break;case"attr-name":h==="="?(i="after-eq",o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(s+=h,o+=h);break;case"after-eq":h==='"'||h==="'"?(i="attr-quoted",c=h,o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(i="attr-unquoted",o+=h);break;case"attr-unquoted":/\s/.test(h)?(i="in-tag",s="",o+=h):(h===">"&&(i="text",s=""),o+=h);break;case"attr-quoted":o+=h,h===c&&(i="in-tag",s="");break;case"skip-attr":if(h===c){if(u){let W=u.firstPartIdx,w=[];for(let x=W;x<r.length;x++)(r[x].kind==="noop"||r[x].kind==="attr-mixed")&&w.push(x);let L=[],Se=t[w[0]],ve=Se.lastIndexOf(c);L.push(ve>=0?Se.slice(ve+1):Se);for(let x=1;x<w.length;x++)L.push(t[w[x]]);let E=t[w[w.length-1]+1],ze=E.indexOf(c);L.push(ze>=0?E.slice(0,ze):E),r[W]={kind:"attr-mixed",path:[],name:u.name,statics:L,group:w};for(let x=1;x<w.length;x++)r[w[x]]={kind:"noop",path:[],mixedAnchor:W};u=null}i="in-tag",s=""}break}}if(g<t.length-1){let y=r.length;if(i==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(i==="rawtext"){d="",r.push({kind:"noop",path:[]});continue}if(i==="text")o+=`<!--${C}${y}-->`,r.push({kind:"child",path:[]});else if(i==="in-tag"){let h=`data-${C}${y}`;o+=`${h}=""`,r.push({kind:"element",path:[]})}else if(i==="after-eq"){let h=s[0],W=s.slice(1);if(Ke(h)){o=o.slice(0,a);let w=xn[h],L=`data-${C}${y}`;o+=`${L}=""`,r.push({kind:w,path:[],name:W})}else{o=o.slice(0,a);let w=`data-${C}${y}`;o+=`${w}=""`,r.push({kind:"attr",path:[],name:s})}i="in-tag",s=""}else if(i==="attr-quoted"||i==="attr-unquoted"){o=o.slice(0,a);let h=`data-${C}${y}`;o+=`${h}=""`,u={name:s,firstPartIdx:y},r.push({kind:"noop",path:[]}),i="skip-attr"}else i==="skip-attr"&&r.push({kind:"noop",path:[]})}}let p=document.createElement("template");p.innerHTML=o,xa(p.content,r);let m=Ta(p.content,r);return n={templateEl:p,parts:r,formActions:m},cr.set(t,n),n}function xa(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(N,"");let o=t.length;r.setAttribute(`data-${C}${o}`,""),t.push({kind:"slot",path:[]})}}function Ta(e,t){let n=[],r=[];function o(i){for(let s=0;s<i.childNodes.length;s++){let a=i.childNodes[s];if(n.push(s),a.nodeType===8){let c=a.data;if(c.startsWith(C)){let l=Number(c.slice(C.length));t[l]&&t[l].kind==="child"&&(t[l].path=n.slice())}}else if(a.nodeType===1){let c=a,l=[],u=[];for(let f of c.attributes)if(f.name.startsWith(`data-${C}`)){let d=Number(f.name.slice(`data-${C}`.length));t[d]&&t[d].kind!=="child"&&(t[d].path=n.slice(),u.push({idx:d,kind:t[d].kind,name:t[d].name||""})),l.push(f.name)}if(c.localName==="form"||c.localName==="button"||c.localName==="input"){let f=ja(c,u,t);f&&r.push(f)}for(let f of l)c.removeAttribute(f);o(a)}n.pop()}}return o(e),r.length?r:null}function ja(e,t,n){let r=e.localName==="form",o=r?"action":"formaction",i=r?"method":"formmethod",s=r?"enctype":"formenctype",a=t.filter(b=>b.kind==="attr"&&b.name.toLowerCase()===o);if(!a.length)return null;let c=[],l=[],u=[],f=r?[]:t.filter(b=>b.name.toLowerCase()==="name"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind})),d=!r&&e.hasAttribute("name"),p=!r&&e.hasAttribute("form"),m=!r&&e.hasAttribute("value"),g=r?[]:t.filter(b=>b.name.toLowerCase()==="value"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind}));for(let b of t){let y=String(b.name).toLowerCase();if(b.kind==="prop"){r?(y==="method"||y==="enctype"||y==="encoding")&&u.push(b.name):On(y)&&u.push(b.name);continue}if(y!==i&&y!==s||b.kind!=="attr"&&b.kind!=="attr-mixed"&&b.kind!=="bool")continue;let h=n[b.idx],W={i:b.idx,kind:b.kind};b.kind==="attr-mixed"&&(W.statics=h.statics||[],W.group=h.group||[]),(y===i?c:l).push(W)}return{isForm:r,tag:e.localName,actionIdxs:a.map(b=>b.idx),duplicateAction:a.length>1,staticAction:e.getAttribute(o)!=null,authoredName:d,authoredValue:m,authoredForm:p,propAttrs:u,nameParts:f,valueParts:g,staticMethod:e.getAttribute(i),staticEnctype:e.getAttribute(s),methodParts:c,enctypeParts:l}}function ot(e,t,n){if(e)for(let r of[!0,!1])for(let o of e){if(o.isForm!==r)continue;let i=o.actionIdxs[0],s=o.isForm?"action":"formaction";for(let l of o.actionIdxs)if(Rn(Te(n[l]),s,o.tag)){i=l;break}let a=t[i];if(!a||!a.el)continue;let c=Te(n[i]);if(o.isForm)go(a.el,c,Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n),o);else{let l=u=>u.some(f=>f.kind==="bool"?!!Te(n[f.i]):!0);Oa(a.el,c,o,l(o.nameParts),l(o.valueParts),Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n))}}}function Ra(e){(lr.has(e)||e.getAttribute("name")===O)&&(e.getAttribute("name")===O&&e.removeAttribute("name"),e.removeAttribute("value"),lr.delete(e))}function Oa(e,t,n,r,o,i,s){let a=typeof t=="function"?jn(t):null;if(!a){typeof t=="function"&&Ln(null,e.localName),Ra(e),wo(e,i,s,n.propAttrs);return}po(n.duplicateAction,e.localName),ho(n.propAttrs,e.localName),n.staticAction&&uo(e.localName),(n.authoredValue||o)&&lo(e.localName),(n.authoredName||r)&&ao(e.getAttribute("name")||O,e.localName,!1),(n.authoredForm||e.hasAttribute("form"))&&fo(e.localName),co(e.localName,e.getAttribute("type"));let c=yo(e.localName,i,s);e.removeAttribute("formaction"),e.setAttribute("name",O),e.setAttribute("value",a),Ye(e,"formmethod",i,c.formMethod),Ye(e,"formenctype",s,c.formEnctype),lr.set(e,a)}function La(e,t){let{templateEl:n,parts:r,formActions:o}=Vt(e),i=n.content.cloneNode(!0),s=document.createComment(`${C}s`),a=document.createComment(`${C}e`),c=r.map(f=>zt(f,i)),l=[];for(let f=0;f<e.values.length;f++)K(c[f],e.values[f],void 0,e.values),l.push(e.values[f]);ot(o,c,e.values),t.replaceChildren(s,...i.childNodes,a);let u=t.nodeType===1&&t[v]?t:null;for(let f of c)f.kind==="slot"&&(u&&f.slotEl&&(f.slotEl[It]=u),K(f,void 0,void 0,[]));return{strings:e.strings,bound:c,lastValues:l,startNode:s,endNode:a}}function zt(e,t){if(e.kind==="noop")return{kind:"noop",mixedAnchor:e.mixedAnchor};let n=t;for(let o of e.path)n=n.childNodes[o];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let o={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(i){o.handler?.(i)}};return r.addEventListener(o.name,o.dispatcher),o}if(e.kind==="attr")return{kind:"attr",el:r,name:e.name||""};if(e.kind==="attr-mixed")return{kind:"attr-mixed",el:r,name:e.name||"",statics:e.statics||[],group:e.group||[]};if(e.kind==="prop")return{kind:"prop",el:r,name:e.name||""};if(e.kind==="bool")return{kind:"bool",el:r,name:e.name||""};if(e.kind==="element")return{kind:"element",el:r};if(e.kind==="slot")return{kind:"slot",slotEl:r,applied:!1};throw new Error(`unknown part kind ${e.kind}`)}var Yo=Symbol("webjs.commitFailed");function je(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(Object.is(r,e.lastValues[n]))continue;let o=e.bound[n],i=o.mixedAnchor;try{o.kind==="noop"&&i!=null?K(e.bound[i],t[i],e.lastValues[i],t):K(o,r,e.lastValues[n],t)}catch(s){throw e.lastValues[n]=Yo,o.kind==="noop"&&i!=null&&(e.lastValues[i]=Yo),s}e.lastValues[n]=r}ot(cr.get(e.strings)?.formActions??null,e.bound,t)}function Go(e,t){for(let n of e.bound){if(n.kind==="event"&&n.el.removeEventListener(n.name,n.dispatcher),n.kind==="element"){let r=n.lastTarget;if(r){if(typeof r=="function")try{r(void 0)}catch{}else if(typeof r=="object")try{r.value=void 0}catch{}n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=nt(n.slotEl);r&&Ko(r,n.slotEl)}}t.replaceChildren()}function Ht(e,t,n){for(let r of e){if(r.kind==="bool")return Te(n[r.i])?"":$;if(r.kind==="attr"){let a=Te(n[r.i]);return a==null?"":String(a)}let o=r.statics||[],i=r.group||[],s=o[0]||"";for(let a=0;a<i.length;a++)s+=String(Te(n[i[a]])??""),s+=o[a+1]||"";return s}return t??$}function Te(e){return At(e)?e.value:e}function K(e,t,n,r){if(At(t)){let o=t.value;if(e.kind==="prop"&&e.el[e.name]===o||e.kind==="attr"&&e.el.getAttribute(e.name)===String(o)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!o)return;t=o}switch(e.kind){case"child":Ia(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):Rn(t,e.name,e.el.localName)||(Ge(t,e.name,e.el.localName),e.el.setAttribute(e.name,String(t)));break}case"prop":mo(t,e.name,e.el.localName),e.el[e.name]=t;break;case"bool":Ge(t,e.name,e.el.localName),t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Ma(e,t);break;case"attr-mixed":{let o=e,i=o.statics[0];for(let s=0;s<o.group.length;s++){let a=r?r[o.group[s]]:t;Ge(a,e.name,e.el.localName),i+=String(a??""),i+=o.statics[s+1]||""}e.el.setAttribute(e.name,i);break}case"slot":{if(e.applied)break;let o=e.slotEl,i=()=>{let a=nt(o);if(!a){e.applied=!0;return}if(!a.contains(o)){a.isConnected?queueMicrotask(i):e.applied=!0;return}if(e.applied=!0,Pa(o))return;let c=document.createDocumentFragment();for(;o.firstChild;)c.appendChild(o.firstChild);o[tt]=c,queueMicrotask(()=>Z(a))},s=nt(o);s&&s.contains(o)?i():queueMicrotask(i);break}case"noop":break}}function nt(e){let t=e[It];if(t&&t.isConnected)return t;let n=e.parentElement;for(;n;){if(n[v])return n;n=n.parentElement}return null}function Pa(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function Ma(e,t){let n=e,r=Et(t)?t.target:void 0,o=n.__refTarget,i=r!==o;if(i&&o)if(typeof o=="function")try{o(void 0)}catch{}else typeof o=="object"&&(o.value=void 0);if(i||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!i&&n.__refElement!==void 0)try{r(void 0)}catch{}try{r(e.el)}catch{}}else typeof r=="object"&&(r.value=e.el);n.__refElement=e.el,e.lastTarget=r}}function Ia(e,t){return za(e,t),z(e,t)}function z(e,t){return Jo(e.marker&&e.marker.parentNode,()=>Fa(e,t))}function Fa(e,t){let n=e.marker;if(Pn(t)){se(e);let o=String(t.value??""),i=document.createElement("template");i.innerHTML=o;let s=[...i.content.childNodes],a=document.createDocumentFragment();for(let c of s)a.appendChild(c);n.parentNode?.insertBefore(a,n),e.child=s;return}if(St(t)){let o=t,i=e.__keyedKey;i!==void 0&&!Object.is(i,o.key)&&se(e),e.__keyedKey=o.key,z(e,o.value);return}if(vt(t)){let o=t,i=e.__guardDeps,s=o.deps;if(i!==void 0&&(Array.isArray(i)&&Array.isArray(s)?Va(i,s):Object.is(i,s)))return;let a=Array.isArray(s)?s.slice():s;z(e,o.fn()),e.__guardDeps=a;return}if(Mn(t)){se(e);let o=t.template;if(o&&o.content){let i=o.content.cloneNode(!0),s=[...i.childNodes];n.parentNode?.insertBefore(i,n),e.child=s}return}if(Et(t))return;if(Ct(t))return Ka(e,t.value);if(Nt(t))return Ya(e,t.args);if(kt(t))return Ga(e,t.signal);if(In(t))return Ja(e,t);if(Fn(t))return Xa(e,t);if(_t(t)){if(e.child&&e.child.kind==="repeat"){Ba(e,t);return}se(e);let o={kind:"repeat",map:new Map};e.child=o,Da(n,o,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){qa(e,t);return}se(e);let o={kind:"array",items:[]};e.child=o,Ha(n,o,t);return}if(e.child){let o=e.child;if(o.kind==="repeat")Xo(o),e.child=void 0;else if(o.kind==="array")Zo(o),e.child=void 0;else if(o.kind==="async-stream")ri(o),e.child=void 0;else if("strings"in e.child){let i=e.child;if(P(t)&&i.strings===t.strings){je(i,t.values);return}Re(i.startNode,i.endNode),e.child=void 0}else{for(let i of e.child)i.parentNode&&i.parentNode.removeChild(i);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(P(t)){let o=t,{templateEl:i,parts:s,formActions:a}=Vt(o),c=i.content.cloneNode(!0),l=document.createComment(`${C}s`),u=document.createComment(`${C}e`),f=s.map(m=>zt(m,c)),d=[];for(let m=0;m<o.values.length;m++)K(f[m],o.values[m],void 0,o.values),d.push(o.values[m]);ot(a,f,o.values);let p=[l,...c.childNodes,u];n.parentNode?.insertBefore($a(p),n);for(let m of f)m.kind==="slot"&&K(m,void 0,void 0,[]);e.child={strings:o.strings,bound:f,lastValues:d,startNode:l,endNode:u};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function $a(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Re(e,t){let n=e.parentNode;if(!n)return;let r=e;for(;r&&r!==t;){let o=r.nextSibling;r.parentNode?.removeChild(r),r=o}t.parentNode===n&&n.removeChild(t)}function dr(e){let{templateEl:t,parts:n,formActions:r}=Vt(e),o=t.content.cloneNode(!0),i=document.createComment(`${C}s`),s=document.createComment(`${C}e`),a=n.map(u=>zt(u,o)),c=[];for(let u=0;u<e.values.length;u++)K(a[u],e.values[u],void 0,e.values),c.push(e.values[u]);ot(r,a,e.values);for(let u of a)u.kind==="slot"&&K(u,void 0,void 0,[]);let l=document.createDocumentFragment();for(l.appendChild(i);o.firstChild;)l.appendChild(o.firstChild);return l.appendChild(s),{inst:{strings:e.strings,bound:a,lastValues:c,startNode:i,endNode:s},frag:l}}function rt(e){for(let t of e.bound)if(t.kind==="event"&&t.el.removeEventListener(t.name,t.dispatcher),t.kind==="element"){let n=t.lastTarget;if(n){if(typeof n=="function")try{n(void 0)}catch{}else if(typeof n=="object")try{n.value=void 0}catch{}t.lastTarget=void 0,t.__lastEl=void 0}}}function Da(e,t,n){let{items:r,keyFn:o,templateFn:i}=n,s=e.parentNode;if(!s)return;let a=document.createDocumentFragment();for(let c=0;c<r.length;c++){let l=o(r[c],c),u=i(r[c],c);if(!P(u))continue;let{inst:f,frag:d}=dr(u);t.map.set(l,f),a.appendChild(d)}s.insertBefore(a,e)}function Ba(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,{items:i,keyFn:s,templateFn:a}=t,c=new Map;try{for(let l=0;l<i.length;l++){let u=s(i[l],l),f=a(i[l],l);if(!P(f))continue;let d=o.map.get(u);if(d&&d.strings===f.strings)je(d,f.values),ur(d.startNode,d.endNode,r,n),c.set(u,d),o.map.delete(u);else{d&&(o.map.delete(u),rt(d),Re(d.startNode,d.endNode));let{inst:p,frag:m}=dr(f);r.insertBefore(m,n),c.set(u,p)}}for(let[l,u]of[...o.map]){o.map.delete(l);try{rt(u)}finally{Re(u.startNode,u.endNode)}}o.map=c}catch(l){for(let[u,f]of c)o.map.set(u,f);throw l}}function Xo(e){for(let[t,n]of[...e.map]){e.map.delete(t);try{rt(n)}finally{Re(n.startNode,n.endNode)}}e.map.clear()}function Ua(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function qt(e){e.type==="tpl"?(rt(e.inst),Re(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function Qo(e){if(P(e)){let{inst:t,frag:n}=dr(e);return{item:{type:"tpl",inst:t},frag:n}}if(e!=null&&e!==!1&&e!==!0){let t=document.createTextNode(String(e));return{item:{type:"text",node:t},frag:t}}return{item:{type:"empty"},frag:null}}function Ha(e,t,n){let r=e.parentNode;if(!r)return;let o=document.createDocumentFragment(),i=[];for(let s of n){let{item:a,frag:c}=Qo(s);c&&o.appendChild(c),i.push(a)}r.insertBefore(o,e),t.items=i}function qa(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,i=o.items,s=[],a=0;try{for(let c=0;c<t.length;c++){let l=t[c],u=i[c];if(P(l)){let p=l;if(u&&u.type==="tpl"&&u.inst.strings===p.strings){je(u.inst,p.values),s.push(u),a=c+1;continue}}else if(l!=null&&l!==!1&&l!==!0){if(u&&u.type==="text"){let p=String(l);u.node.data!==p&&(u.node.data=p),s.push(u),a=c+1;continue}}else{u&&qt(u),s.push({type:"empty"}),a=c+1;continue}let{item:f,frag:d}=Qo(l);d&&r.insertBefore(d,Wa(i,c,n)),s.push(f),u&&qt(u),a=c+1}for(let c=t.length;c<i.length;c++)qt(i[c]),a=c+1;o.items=s}catch(c){throw o.items=s.concat(i.slice(a)),c}}function Wa(e,t,n){for(let r=t;r<e.length;r++){let o=Ua(e[r]);if(o&&o.parentNode)return o}return n}function Zo(e){for(let t of e.items)qt(t);e.items=[]}function ur(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let o=document.createDocumentFragment(),i=e;for(;i;){let s=i.nextSibling;if(o.appendChild(i),i===t)break;i=s}n.insertBefore(o,r)}function Va(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function se(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&ei(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Xo(n);else if(n.kind==="array")Zo(n);else if(n.kind==="async-stream")ri(n);else if("strings"in n){let r=e.child;rt(r),Re(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function za(e,t){let n=e;n.__untilState&&!Nt(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!vt(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!Ct(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!St(t)&&(n.__keyedKey=void 0),n.__watchSub&&!kt(t)&&ei(n)}function Ka(e,t){let n=e.marker,r=e,o=r.__cacheMap;o||(o=new Map,r.__cacheMap=o);let i=e.child;if(i&&"strings"in i){let a=i;if(P(t)&&a.strings===t.strings){je(a,t.values);return}let c=document.createDocumentFragment();ur(a.startNode,a.endNode,c,null),o.set(a.strings,{inst:a,holder:c}),e.child=void 0}if(P(t)){let a=t,c=o.get(a.strings);if(c){o.delete(a.strings),e.child&&se(e),ur(c.inst.startNode,c.inst.endNode,n.parentNode,n),je(c.inst,a.values),e.child=c.inst;let l=new Set;for(let u=c.inst.startNode.nextSibling;u&&u!==c.inst.endNode;u=u.nextSibling){if(u.nodeType!==1)continue;let f=u;if(f.matches("slot[data-webjs-light]")){let d=nt(f);d&&l.add(d)}for(let d of f.querySelectorAll("slot[data-webjs-light]")){let p=nt(d);p&&l.add(p)}}for(let u of l)Z(u);return}}z(e,t)}function Ya(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=n.__untilState,o=n.__untilArgs,i=(d,p)=>!!(Object.is(d,p)||P(d)&&P(p)&&d.strings===p.strings),a=o&&o.length===t.length&&o.every((d,p)=>i(d,t[p]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let c={aborted:!1,highestResolved:a};n.__untilState=c;let l=-1,u;for(let d=0;d<t.length;d++){let p=t[d];if(!p||typeof p.then!="function"){l=d,u=p;break}}l!==-1&&l<=c.highestResolved?(z(e,u),c.highestResolved=l):l===-1&&!n.__untilEverRendered&&z(e,""),n.__untilEverRendered=!0;let f=Math.min(l===-1?t.length:l,c.highestResolved);for(let d=0;d<f;d++){let p=t[d];!p||typeof p.then!="function"||Promise.resolve(p).then(m=>{if(!c.aborted&&!(d>=c.highestResolved)){try{fr(e,()=>z(e,m))}catch(g){pr(e,g);return}c.highestResolved=d}},()=>{})}}function pr(e,t){let n;try{n=t instanceof Error?t:new Error(String(t))}catch{n=new Error("render error (unstringifiable thrown value)")}let r=e.__commitOwner;if(r&&typeof r._handleRenderError=="function"){r._handleRenderError(n);return}throw n}function Ga(e,t){let n=e;if(M&&(n.__commitOwner=Wt(M)),n.__watchSig===t&&n.__watchSub){let i;n.__watchSub.observe(()=>{i=t.get()}),z(e,i);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Ze.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let i;try{r.observe(()=>{i=t.get()}),fr(e,()=>z(e,i))}catch(s){pr(e,s)}})});n.__watchSub=r;let o;r.observe(()=>{o=t.get()}),z(e,o)}function ei(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function Ja(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="append"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}function Xa(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="replace"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}async function ti(e,t,n){let r=t.marker,o=0;for(;!e.aborted;){let i,s;try{if(i=await e.iterator.next(),e.aborted||i.done)break;s=n.mapper?n.mapper(i.value,o):i.value}catch(a){typeof console<"u"&&console.error("[webjs] asyncStream error:",a);return}try{fr(t,()=>{let a=ni(s);Jo(r.parentNode,()=>{if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let c=document.createDocumentFragment();for(let l of a)c.appendChild(l);r.parentNode?.insertBefore(c,r),e.nodes.push(...a)})})}catch(a){e.aborted=!0;try{e.iterator.return?.()?.catch?.(()=>{})}catch{}pr(t,a);return}o++}}function ni(e){if(e==null||e===!1||e===!0)return[];if(P(e)){let t=e,{templateEl:n,parts:r,formActions:o}=Vt(t),i=n.content.cloneNode(!0),s=r.map(a=>zt(a,i));for(let a=0;a<t.values.length;a++)K(s[a],t.values[a],void 0,t.values);ot(o,s,t.values);for(let a of s)a.kind==="slot"&&K(a,void 0,void 0,[]);return[...i.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...ni(n));return t}return[document.createTextNode(String(e))]}function ri(e){e.aborted=!0;for(let t of e.nodes)t.parentNode&&t.parentNode.removeChild(t);e.nodes=[];try{e.iterator.return?.()?.catch?.(()=>{})}catch{}}var oi=null;function Kt(e){oi=e||null}function Qa(){return oi||void 0}Je();var ii=Symbol.for("webjs:registry"),si=Symbol.for("webjs:classToTag"),Yt=globalThis,Y=Yt[ii]||(Yt[ii]=new Map),ai=Yt[si]||(Yt[si]=new WeakMap),Gt=typeof window<"u"&&typeof customElements<"u";function hr(e,t){if(!e||typeof e!="string"||!e.includes("-"))throw new Error(`customElements.define: tag "${e}" must contain a hyphen (HTML spec)`);let n=t.lazy===!0,r=Y.get(e);r?(r.cls=t,r.lazy=n):Y.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),ai.set(t,e)}if(Gt){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),hr(t,n)}}if(!Gt){let e=globalThis;e.customElements||(e.customElements={define(t,n){hr(t,n)},get(t){return Y.get(t)?.cls},upgrade(){},whenDefined(t){let n=Y.get(t);return Promise.resolve(n?.cls)}})}function mr(e,t){Gt?customElements.define(e,t):hr(e,t)}function Za(e,t){if(Gt)return;let n=Y.get(e);if(n){n.moduleUrl=t;return}Y.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function ec(e){return Y.get(e)?.cls}function tc(e){return Y.get(e)?.moduleUrl||null}function nc(e){return Y.get(e)?.lazy===!0}function Le(e){return ai.get(e)}function rc(){return[...Y.keys()]}at();Bt();var mi=typeof window<"u"&&typeof HTMLElement<"u";function bc(e,t){return e!==t}function yc(e){try{return String(e)}catch{return Object.prototype.toString.call(e)}}function di(e,t,n){if(typeof console>"u"||!console.warn)return;let r=Le(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${r}> holds a function (or an array carrying one), which has no HTML attribute representation. Removing "${n}" instead of stringifying it (a stringified function writes its source into the page, so a server action's body would ship to the browser). Pass a string, or drop reflect on this property.`)}function gc(e,t,n,r){if(typeof console>"u"||!console.warn)return;let o=Le(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${o}> holds a value JSON.stringify cannot serialize (a cycle, a BigInt, or a throwing toJSON), so it has no HTML attribute representation. Removing "${n}" instead. Detail: ${r}`)}function wc(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var Jt=class{constructor(){this.__ssrAttrs=new Map,this.__internals=null}get attributes(){return[...this.__ssrAttrs].map(([t,n])=>({name:t,value:n}))}getAttribute(t){let n=this.__ssrAttrs.get(String(t).toLowerCase());return n===void 0?null:n}setAttribute(t,n){this.__ssrAttrs.set(String(t).toLowerCase(),String(n))}removeAttribute(t){this.__ssrAttrs.delete(String(t).toLowerCase())}hasAttribute(t){return this.__ssrAttrs.has(String(t).toLowerCase())}toggleAttribute(t,n){let r=String(t).toLowerCase(),o=this.__ssrAttrs.has(r);return(n===void 0?!o:n)?(this.__ssrAttrs.set(r,""),!0):(this.__ssrAttrs.delete(r),!1)}getAttributeNames(){return[...this.__ssrAttrs.keys()]}closest(t){let n=String(t).trim().toLowerCase();if(!/^[a-z][a-z0-9-]*$/.test(n))return null;if(this.__ssrTag===n)return this;let r=this.__ssrAncestors;if(!Array.isArray(r))return null;for(let o=r.length-1;o>=0;o--)if(r[o]&&r[o].__ssrTag===n)return r[o];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,o=>"-"+o.toLowerCase());return this.__dataset=new Proxy({},{get(r,o){if(typeof o!="string")return;let i=t.getAttribute(n(o));return i===null?void 0:i},set(r,o,i){return typeof o=="string"&&t.setAttribute(n(o),i),!0},has(r,o){return typeof o=="string"&&t.hasAttribute(n(o))},deleteProperty(r,o){return typeof o=="string"&&t.removeAttribute(n(o)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(o,i)=>i.toUpperCase()))},getOwnPropertyDescriptor(r,o){if(typeof o=="string"&&t.hasAttribute(n(o)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(o))}}}),this.__dataset}get className(){return this.getAttribute("class")??""}set className(t){this.setAttribute("class",t)}get hidden(){return this.hasAttribute("hidden")}set hidden(t){this.toggleAttribute("hidden",!!t)}get id(){return this.getAttribute("id")??""}set id(t){this.setAttribute("id",t)}get title(){return this.getAttribute("title")??""}set title(t){this.setAttribute("title",t)}get slot(){return this.getAttribute("slot")??""}set slot(t){this.setAttribute("slot",t)}get role(){return this.getAttribute("role")}set role(t){t==null?this.removeAttribute("role"):this.setAttribute("role",t)}get tabIndex(){let t=this.getAttribute("tabindex");return t===null?-1:Number.parseInt(t,10)||0}set tabIndex(t){this.setAttribute("tabindex",String(t))}addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");return this.__internals=wc(),this.__internals}},_c=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDescription","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];for(let e of _c){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(Jt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var Ac=mi?HTMLElement:Jt,bi=Symbol("webjs.factoryProps"),pi=new WeakSet,Pe=class e extends Ac{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){mr(t,this)}static get observedAttributes(){let t=this.properties||{};return Object.keys(t).filter(n=>!(typeof t[n]=="object"&&t[n].state)).map(n=>typeof t[n]=="object"&&t[n].attribute||yr(n))}constructor(){super(),this._renderRoot=null,this._scheduled=!1,this._connected=!1,this.__controllers=new Set,this.__firstRendered=!1,this._changedProperties=new Map,this._updateResolve=null,this._updatePromise=Promise.resolve(!0),this._isUpdating=!1,this._assertFactoryProperties(),this._initializeProperties()}_assertFactoryProperties(){let t=this.constructor;if(pi.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,bi)){let r=n.name||"a component";throw new Error(`${r}: \`static properties\` is no longer supported. Declare reactive properties via the factory instead: \`class ${r} extends WebComponent({ count: Number })\`. Use the \`prop()\` helper for options (\`prop(Number, { reflect: true })\`) and set defaults in the constructor after \`super()\`. See https://webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}pi.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,o]of Object.entries(n)){let i=typeof o=="object"?o:{type:o},s=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:a=>{let c=this.__propValues[r];(i.hasChanged||bc)(a,c)&&(this.__propValues[r]=a,i.reflect&&!i.state&&this._connected&&this._reflectAttribute(r,a,i),this.requestUpdate(r,c))}}),s!==void 0?this.__propValues[r]=s:i.default!==void 0&&(this.__propValues[r]=typeof i.default=="function"?i.default():i.default)}}}_reflectAttribute(t,n,r){let o=r.attribute||yr(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let i=r.converter.toAttribute(n,r.type);i==null?this.removeAttribute(o):this.setAttribute(o,i)}else if(typeof n=="function")this.removeAttribute(o),di(this,t,o);else if(r.type===Boolean)n?this.setAttribute(o,""):this.removeAttribute(o);else if(n==null)this.removeAttribute(o);else if(r.type===Object||r.type===Array){let i,s=!0;try{i=JSON.stringify(n)}catch(a){s=!1,this.removeAttribute(o),gc(this,t,o,a&&a.message)}s&&this.setAttribute(o,i)}else wt(n)?(this.removeAttribute(o),di(this,t,o)):this.setAttribute(o,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!mi)return;if(this.__webjsPropsHydrated||(this.__webjsPropsHydrated=!0,this._hydratePropAttrs()),this.constructor.hydrate==="visible"&&typeof IntersectionObserver<"u"&&!this.__hydrationActivated){this.__hydrationActivated=!1,this.__hydrationObserver=new IntersectionObserver(n=>{for(let r of n)if(r.isIntersecting){this.__hydrationObserver.unobserve(this),this.__hydrationObserver.disconnect(),this.__hydrationObserver=null,this.__hydrationActivated=!0,this._activate();return}},{rootMargin:"200px"}),this.__hydrationObserver.observe(this);return}this._activate()}_hydratePropAttrs(){let t=[],n=this.attributes;for(let r=0;r<n.length;r++){let o=n[r].name;o.startsWith("data-webjs-prop-")&&t.push(o)}for(let r of t){let o=this.getAttribute(r);if(this.removeAttribute(r),o==null)continue;let i=hi(r.slice(16));try{this[i]=ye(o)}catch(s){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${s&&s.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow!==!0&&!this.hasAttribute("data-wj-host")&&this.setAttribute("data-wj-host",""),t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,o=Array.isArray(r)?r:Nn(r)?[r]:[];if(o.length){if(n){let i=this.shadowRoot.querySelector("style");i&&i.remove()}kn(this._renderRoot,o)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${Le(t)||this.tagName?.toLowerCase()}> has static shadow = false AND static styles. static styles only works with shadow DOM (adoptedStyleSheets). For light DOM, use global CSS or <style> in render().`),sr(this)?Ho(this):this.__isHydrating()||this.hasAttribute("data-wj-serialized")||zo(this)?(this.removeAttribute("data-wj-serialized"),Q(this),Lo(this)):Oo(this),Vo(this),Do(this);for(let n of this.__controllers)n.hostConnected&&n.hostConnected();this._updateResolve===null&&(this._updatePromise=new Promise(n=>{this._updateResolve=n})),this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(n){console.error("[webjs] lifecycle hook threw during initial render:",n)}})}__isHydrating(){let t=this.firstChild,n=t!=null&&t.nodeType===8&&t.data==="webjs-hydrate";return n&&(this.__hydratedAtActivate=!0),n}disconnectedCallback(){this._connected=!1,this.__hydrationObserver&&(this.__hydrationObserver.disconnect(),this.__hydrationObserver=null),Uo(this),this.__signalWatcher&&(this.__signalWatcher.dispose(),this.__signalWatcher=void 0);for(let t of this.__controllers)t.hostDisconnected&&t.hostDisconnected()}attributeChangedCallback(t,n,r){if(this.__reflectingAttribute)return;let i=this.constructor.properties||{},s,a;for(let[u,f]of Object.entries(i))if(((typeof f=="object"?f:{type:f}).attribute||yr(u))===t){s=u,a=f;break}if(a===void 0&&(s=hi(t),a=i[s]||i[t]),a===void 0)return;let c=typeof a=="object"?a:{type:a},l;if(c.converter&&c.converter.fromAttribute)l=c.converter.fromAttribute(r,c.type);else if(c.type===Number)l=r==null?null:Number(r);else if(c.type===Boolean)l=r!=null&&r!=="false";else if(c.type===Object||c.type===Array)try{l=r==null?null:JSON.parse(r)}catch{l=null}else l=r;this[s]!==l&&(this[s]=l,this._connected&&this.requestUpdate())}requestUpdate(t,n){t!==void 0&&!this._changedProperties.has(t)&&this._changedProperties.set(t,n),this._scheduleUpdate()}_scheduleUpdate(){this._updateResolve===null&&(this._updatePromise=new Promise(t=>{this._updateResolve=t})),!this._isUpdating&&(this._scheduled||!this._connected||(this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(t){console.error("[webjs] lifecycle hook threw during update cycle:",t)}})))}_performRender(){if(!this._renderRoot)return;let t=this._changedProperties;this._isUpdating=!0;let n=!1,r=null;try{if(this.shouldUpdate(t)){this.willUpdate(t);for(let o of this.__controllers)o.hostUpdate&&o.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,Kt(this.__renderAbort?this.__renderAbort.signal:null);try{let o=this.update(t);o&&typeof o.then=="function"&&(r=o)}catch(o){this._handleRenderError(o)}finally{Kt(null)}if(!r){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();n=!0}}}catch(o){console.error("[webjs] lifecycle hook threw during update phase:",o)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let o=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1;let i=()=>{if(this.__pendingAsyncCommits--,o===this.__renderToken){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();this._postCommit(t)}};r.then(i,s=>{try{o===this.__renderToken&&this._handleRenderError(s instanceof Error?s:new Error(yc(s)))}finally{i()}});return}n?this._postCommit(t):this.__pendingAsyncCommits||this._resolveUpdate()}_resolveUpdate(){if(this._updateResolve){let t=this._changedProperties.size===0;this._updateResolve(t),this._updateResolve=null}}performServerUpdate(){let t=this._changedProperties;this._isUpdating=!0;try{this.willUpdate(t);for(let n of this.__controllers)n.hostUpdate&&n.hostUpdate();this._reflectDeclaredAttributes()}finally{this._isUpdating=!1}}_reflectDeclaredAttributes(){let t=this.constructor.properties||{};for(let n of Object.keys(t)){let r=t[n];!r||!r.reflect||r.state||this._reflectAttribute(n,this[n],r)}}shouldUpdate(t){return!0}willUpdate(t){}update(t){this.__signalWatcher||(this.__signalWatcher=new Ze.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);Oe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&Oe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{if(n===this.__renderToken)try{Oe(r,this._renderRoot)}catch(o){this._handleRenderError(o instanceof Error?o:new Error(String(o)))}},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Xt.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${Le(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&Oe(n,this._renderRoot)}catch(n){console.error("[webjs] renderError() also threw:",n)}}_postCommit(t){try{this.__firstRendered||(this.__firstRendered=!0,this.firstUpdated(t)),this.updated(t)}catch(n){console.error("[webjs] lifecycle hook threw during post-commit phase:",n)}finally{this._resolveUpdate()}}updated(t){}firstUpdated(t){}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}addController(t){this.__controllers.add(t),this._connected&&t.hostConnected&&t.hostConnected()}removeController(t){this.__controllers.delete(t)}render(){return""}renderError(t){}renderFallback(){}};function yr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function hi(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Xt(e){return new.target?Reflect.construct(Pe,arguments,new.target):class extends Pe{static properties=e;static[bi]=!0}}Object.setPrototypeOf(Xt,Pe);Xt.prototype=Pe.prototype;function Sc(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}gt();var yi=Symbol.for("webjs.notFound"),gi=Symbol.for("webjs.redirect"),wi=Symbol.for("webjs.forbidden"),_i=Symbol.for("webjs.unauthorized");function vc(){let e=new Error("webjs: notFound()");throw e.__webjs=yi,e}function Ec(){let e=new Error("webjs: forbidden()");throw e.__webjs=wi,e}function Cc(){let e=new Error("webjs: unauthorized()");throw e.__webjs=_i,e}function Nc(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=gi,r.url=e,r.status=typeof n=="number"?n:void 0,r}function kc(e){return!!e&&e.__webjs===yi}function xc(e){return!!e&&e.__webjs===gi}function Tc(e){return!!e&&e.__webjs===wi}function jc(e){return!!e&&e.__webjs===_i}var Ai=null;function Rc(){if(!Ai)return"";try{return Ai()||""}catch{return""}}var Si=null;function Oc(e){if(typeof e!="string"||!e||!Si)return e;try{return Si(e)||e}catch{return e}}Je();var Wu=Symbol.for("webjs.suspense");function Lc(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function Pc(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}function Mc(e,t={}){let n=t.reconnect!==!1,r=0,o=!1,i=null,s=[];function a(){o||(i=new WebSocket(Ic(e),t.protocols),i.onopen=c=>{for(r=0;s.length&&i&&i.readyState===WebSocket.OPEN;)i.send(s.shift());t.onOpen?.(c)},i.onmessage=c=>{let l=c.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,c)},i.onerror=c=>{t.onError?.(c)},i.onclose=c=>{if(t.onClose?.(c),!o&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(a,l)}})}return a(),{send(c){let l=typeof c=="string"||c instanceof ArrayBuffer||ArrayBuffer.isView(c)?c:JSON.stringify(c);i&&i.readyState===WebSocket.OPEN?i.send(l):s.push(l)},close(c,l){o=!0;try{i?.close(c,l)}catch{}},get socket(){return i},get readyState(){return i?.readyState??3}}}function Ic(e){if(/^wss?:\/\//i.test(e))return e;let t=typeof location<"u"&&location.protocol==="https:"?"wss:":"ws:",n=typeof location<"u"?location.host:"";return`${t}//${n}${e.startsWith("/")?e:"/"+e}`}at();var gr="application/vnd.webjs+json";async function Fc(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",gr);let r=t.body;r!=null&&typeof r=="object"&&!(r instanceof FormData)&&!(r instanceof Blob)&&!(r instanceof ArrayBuffer)&&!(r instanceof URLSearchParams)&&!(typeof ReadableStream<"u"&&r instanceof ReadableStream)&&!ArrayBuffer.isView(r)&&(r=await br(r),n.has("content-type")||n.set("content-type",gr));let o=await fetch(e,{...t,headers:n,body:r}),i=o.headers.get("content-type")||"",s=await o.text(),a=i.includes(gr)?s?ye(s):null:i.includes("application/json")?s?JSON.parse(s):null:s;if(!o.ok){let c=a&&a.error||`richFetch ${e} -> ${o.status}`,l=new Error(c);throw l.status=o.status,l.body=a,l}return a}at();Zt();Zt();Ar();en();var eo=class{constructor(t,n){this.host=t,this.options=n,this.updates=[],this._nextId=0}get value(){let t=this.options.source();if(!this.options.update)return this.updates.length>0?this.updates[this.updates.length-1].payload:t;for(let n of this.updates)t=this.options.update(t,n.payload);return t}add(t,n){let r=`opt-${++this._nextId}`;this.updates.push({id:r,payload:t}),this.host?.requestUpdate?.();let o=()=>{let i=this.updates.findIndex(s=>s.id===r);i!==-1&&(this.updates.splice(i,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>o()).catch(()=>{}):n.then(()=>o(),()=>o())),o}};async function Vl(e,t,n){let r=e.get();e.set(t);let o;try{o=await n()}catch(i){throw e.set(r),i}return o&&o.success===!1&&e.set(r),o}function zl(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Vl(e,t,n):new eo(e,t)}kr();jr();var Kl="application/vnd.webjs+stream",Yl=1,Gl=2,Jl=3,vs=new Uint8Array(0);function Xl(e,t){let n=t||vs,r=n.length,o=new Uint8Array(5+r);return o[0]=e&255,o[1]=r>>>24&255,o[2]=r>>>16&255,o[3]=r>>>8&255,o[4]=r&255,r&&o.set(n,5),o}function Ql(){let e=vs;return{push(t){if(t&&t.length){let r=new Uint8Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}let n=[];for(;e.length>=5;){let r=e[0],o=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+o)break;let i=e.slice(5,5+o);n.push({type:r,payload:i}),e=e.slice(5+o)}return n}}}var Zl=Symbol.for("webjs.context");function eu(e){return{__context__:Zl,name:e}}var En=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},to=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=o=>{let i=o;if(i.context===this._context)if(o.stopPropagation(),i.subscribe){let s={callback:i.callback},a=()=>{this._subscriptions.delete(s)};this._subscriptions.add(s),i.callback(this._value,a)}else i.callback(this._value)},typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}setValue(t){if(!Object.is(this._value,t)){this._value=t;for(let n of this._subscriptions){let r=()=>{this._subscriptions.delete(n)};n.callback(t,r)}}}hostConnected(){this._host.addEventListener("context-request",this._onRequest)}hostDisconnected(){this._host.removeEventListener("context-request",this._onRequest),this._subscriptions.clear()}},no=class{constructor(t,{context:n,subscribe:r=!0}){this._host=t,this._context=n,this._subscribe=r,this._value=void 0,this._unsubscribe=void 0,typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}hostConnected(){this._dispatchRequest()}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=void 0)}_dispatchRequest(){let t=new En(this._context,(n,r)=>{let o=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(o,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function tu(){return typeof window<"u"}var ne={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},ro=class{constructor(t,{task:n,args:r,autoRun:o=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=o,this._status=ne.INITIAL,this._value=void 0,this._error=void 0,this._abortController=null,this._prevArgs=null,typeof t.addController=="function"&&t.addController(this)}get status(){return this._status}get value(){return this._value}get error(){return this._error}async run(){this.abort();let t=new AbortController;this._abortController=t;let n=this._argsFn();this._prevArgs=n,this._status=ne.PENDING,this._error=void 0,this._requestHostUpdate();try{let r=await this._taskFn(...n,{signal:t.signal});if(t.signal.aborted)return;this._value=r,this._status=ne.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=ne.ERROR,this._value=void 0}finally{this._abortController===t&&(this._abortController=null)}this._requestHostUpdate()}abort(){this._abortController&&(this._abortController.abort(),this._abortController=null)}render(t={}){switch(this._status){case ne.INITIAL:return t.initial?.();case ne.PENDING:return t.pending?.();case ne.COMPLETE:return t.complete?.(this._value);case ne.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!tu())return;let t=this._argsFn();this._argsEqual(this._prevArgs,t)||this.run()}hostUpdated(){}hostConnected(){}hostDisconnected(){this.abort()}_requestHostUpdate(){typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()}_argsEqual(t,n){if(t===null||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}};export{no as ContextConsumer,to as ContextProvider,En as ContextRequestEvent,O as FORM_ACTION_FIELD,so as FORM_ACTION_ID_KEY,Yl as FRAME_CHUNK,Gl as FRAME_END,Jl as FRAME_ERROR,C as MARKER,Ri as SEED_MISS,Kl as STREAM_CONTENT_TYPE,Ze as Signal,Lc as Suspense,ro as Task,ne as TaskStatus,Xt as WebComponent,_r as WebjsFrame,Sr as WebjsStream,Qa as activeActionSignal,kn as adoptStyles,rc as allTags,Oc as asset,Js as asyncAppend,Xs as asyncReplace,aa as batch,Ys as cache,la as computed,Mc as connectWS,Zc as consumeStale,eu as createContext,Ql as createFrameDecoder,Ks as createRef,Rc as cspNonce,xs as css,ui as deserialize,Ui as disableClientRouter,fa as effect,Ur as enableClientRouter,Xl as encodeFrame,io as escapeAttr,js as escapeText,Xc as fetchMark,Ec as forbidden,Ws as guard,ks as html,In as isAsyncAppend,Fn as isAsyncReplace,Nn as isCSS,Ct as isCache,Tc as isForbidden,vt as isGuard,St as isKeyed,nc as isLazy,At as isLive,kc as isNotFound,xc as isRedirect,Et as isRef,_t as isRepeat,ua as isSignal,Pc as isSuspense,P as isTemplate,Mn as isTemplateContent,jc as isUnauthorized,Pn as isUnsafeHTML,Nt as isUntil,kt as isWatch,qs as keyed,Hs as live,qi as loadFrame,ec as lookup,tc as lookupModuleUrl,xr as markStale,Hi as navigate,vc as notFound,zl as optimistic,ye as parse,Tr as parseTagHeader,Za as primeModuleUrl,Sc as prop,Nc as redirect,zs as ref,mr as register,Qc as registerKeyTags,Oe as render,vr as renderStream,Ao as repeat,Wi as revalidate,Fc as richFetch,tn as scanSeeds,Gc as seedStats,li as serialize,Kt as setActiveActionSignal,ca as signal,br as stringify,Ts as stylesToString,Le as tagOf,Yc as takeSeed,Vs as templateContent,Cc as unauthorized,Us as unsafeHTML,Gs as until,Qs as watch};
|
|
6
6
|
//# sourceMappingURL=webjs-core-browser.js.map
|