+3
-2
src/components/AltTextButton.tsx
+3
-2
src/components/AltTextButton.tsx
···
2
2
3
3
export function AltTextButton({ photoUri }: Readonly<{ photoUri: string }>) {
4
4
return (
5
-
<div
5
+
<button
6
+
type="button"
6
7
class="bg-zinc-950 dark:bg-zinc-950 py-[1px] px-[3px] absolute top-2 left-2 cursor-pointer flex items-center justify-center text-xs text-white font-semibold z-10"
7
8
hx-get={`/dialogs/photo/${new AtUri(photoUri).rkey}/alt`}
8
9
hx-trigger="click"
···
11
12
_="on click halt"
12
13
>
13
14
<i class="fas fa-plus text-[10px] mr-1"></i> ALT
14
-
</div>
15
+
</button>
15
16
);
16
17
}
+6
-1
src/components/PhotoPreview.tsx
+6
-1
src/components/PhotoPreview.tsx
···
8
8
src: string;
9
9
uri?: string;
10
10
}>) {
11
+
const rkey = uri ? new AtUri(uri).rkey : undefined;
11
12
return (
12
-
<div class="relative aspect-square bg-zinc-200 dark:bg-zinc-900">
13
+
<div
14
+
class="relative aspect-square bg-zinc-200 dark:bg-zinc-900"
15
+
id={rkey}
16
+
>
13
17
{uri ? <AltTextButton photoUri={uri} /> : null}
14
18
{uri
15
19
? (
16
20
<button
17
21
type="button"
22
+
id={`delete-photo-${rkey}`}
18
23
hx-delete={`/actions/photo/${new AtUri(uri).rkey}`}
19
24
class="bg-zinc-950 z-10 absolute top-2 right-2 cursor-pointer size-4 flex items-center justify-center"
20
25
_="on htmx:afterOnLoad remove me.parentNode"
+34
-5
src/static/upload_page.ts
+34
-5
src/static/upload_page.ts
···
1
1
import htmx from "htmx.org";
2
+
import hyperscript from "hyperscript.org";
2
3
import { dataURLToBlob, doResize, readFileAsDataURL } from "./photo_manip.ts";
3
4
4
5
export class UploadPage {
···
33
34
fd.append("width", String(resized.width));
34
35
fd.append("height", String(resized.height));
35
36
36
-
htmx.ajax("POST", "/actions/photo", {
37
-
"swap": "afterbegin",
38
-
"target": "#image-preview",
39
-
"values": Object.fromEntries(fd),
40
-
"source": inputElement,
37
+
const response = await fetch("/actions/photo", {
38
+
method: "POST",
39
+
body: fd,
41
40
});
41
+
42
+
if (!response.ok) {
43
+
alert(await response.text());
44
+
return;
45
+
}
46
+
47
+
const html = await response.text();
48
+
const temp = document.createElement("div");
49
+
temp.innerHTML = html;
50
+
const photoId = temp?.firstElementChild?.id;
51
+
52
+
const preview = document.querySelector("#image-preview");
53
+
if (preview) {
54
+
const firstChild = temp.firstElementChild;
55
+
56
+
if (firstChild) {
57
+
preview.insertBefore(firstChild, preview.firstChild);
58
+
}
59
+
60
+
htmx.process(preview);
61
+
62
+
const deleteButton = preview.querySelector(
63
+
`#delete-photo-${photoId}`,
64
+
);
65
+
if (!deleteButton) {
66
+
return;
67
+
}
68
+
htmx.process(deleteButton);
69
+
hyperscript.processNode(deleteButton);
70
+
}
42
71
} catch (err) {
43
72
console.error("Error uploading photo:", err);
44
73
alert("Error uploading photo");
+9
-9
static/app.esm.js
+9
-9
static/app.esm.js
···
1
-
var Jo=Object.create;var Ya=Object.defineProperty;var Zo=Object.getOwnPropertyDescriptor;var es=Object.getOwnPropertyNames;var ts=Object.getPrototypeOf,rs=Object.prototype.hasOwnProperty;var Eo=(Gr,Wr)=>()=>(Wr||Gr((Wr={exports:{}}).exports,Wr),Wr.exports),ns=(Gr,Wr)=>{for(var Qr in Wr)Ya(Gr,Qr,{get:Wr[Qr],enumerable:!0})},is=(Gr,Wr,Qr,Yr)=>{if(Wr&&typeof Wr=="object"||typeof Wr=="function")for(let Jr of es(Wr))!rs.call(Gr,Jr)&&Jr!==Qr&&Ya(Gr,Jr,{get:()=>Wr[Jr],enumerable:!(Yr=Zo(Wr,Jr))||Yr.enumerable});return Gr};var Ca=(Gr,Wr,Qr)=>(Qr=Gr!=null?Jo(ts(Gr)):{},is(Wr||!Gr||!Gr.__esModule?Ya(Qr,"default",{value:Gr,enumerable:!0}):Qr,Gr));var Oa=Eo((exports,module)=>{(function(Gr,Wr){typeof define=="function"&&define.amd?define([],Wr):typeof module=="object"&&module.exports?module.exports=Wr():Gr.htmx=Gr.htmx||Wr()})(typeof self<"u"?self:exports,function(){return function(){"use strict";var Q={onLoad:F,process:zt,on:de,off:ge,trigger:ce,ajax:Nr,find:C,findAll:f,closest:v,values:function(Gr,Wr){var Qr=dr(Gr,Wr||"post");return Qr.values},remove:_,addClass:z,removeClass:n,toggleClass:$,takeClass:W,defineExtension:Ur,removeExtension:Br,logAll:V,logNone:j,logger:null,config:{historyEnabled:!0,historyCacheSize:10,refreshOnHistoryMiss:!1,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:!0,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:!0,allowScriptTags:!0,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:!1,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:!1,scrollBehavior:"smooth",defaultFocusScroll:!1,getCacheBusterParam:!1,globalViewTransitions:!1,methodsThatUseUrlParams:["get"],selfRequestsOnly:!1,ignoreTitle:!1,scrollIntoViewOnBoost:!0,triggerSpecsCache:null},parseInterval:d,_:t,createEventSource:function(Gr){return new EventSource(Gr,{withCredentials:!0})},createWebSocket:function(Gr){var Wr=new WebSocket(Gr,[]);return Wr.binaryType=Q.config.wsBinaryType,Wr},version:"1.9.12"},r={addTriggerHandler:Lt,bodyContains:se,canAccessLocalStorage:U,findThisElement:xe,filterValues:yr,hasAttribute:o,getAttributeValue:te,getClosestAttributeValue:ne,getClosestMatch:c,getExpressionVars:Hr,getHeaders:xr,getInputValues:dr,getInternalData:ae,getSwapSpecification:wr,getTriggerSpecs:it,getTarget:ye,makeFragment:l,mergeObjects:le,makeSettleInfo:T,oobSwap:Ee,querySelectorExt:ue,selectAndSwap:je,settleImmediately:nr,shouldCancel:ut,triggerEvent:ce,triggerErrorEvent:fe,withExtensions:R},w=["get","post","put","delete","patch"],i=w.map(function(Gr){return"[hx-"+Gr+"], [data-hx-"+Gr+"]"}).join(", "),S=e("head"),q=e("title"),H=e("svg",!0);function e(Gr,Wr){return new RegExp("<"+Gr+"(\\s[^>]*>|>)([\\s\\S]*?)<\\/"+Gr+">",Wr?"gim":"im")}function d(Gr){if(Gr==null)return;let Wr=NaN;return Gr.slice(-2)=="ms"?Wr=parseFloat(Gr.slice(0,-2)):Gr.slice(-1)=="s"?Wr=parseFloat(Gr.slice(0,-1))*1e3:Gr.slice(-1)=="m"?Wr=parseFloat(Gr.slice(0,-1))*1e3*60:Wr=parseFloat(Gr),isNaN(Wr)?void 0:Wr}function ee(Gr,Wr){return Gr.getAttribute&&Gr.getAttribute(Wr)}function o(Gr,Wr){return Gr.hasAttribute&&(Gr.hasAttribute(Wr)||Gr.hasAttribute("data-"+Wr))}function te(Gr,Wr){return ee(Gr,Wr)||ee(Gr,"data-"+Wr)}function u(Gr){return Gr.parentElement}function re(){return document}function c(Gr,Wr){for(;Gr&&!Wr(Gr);)Gr=u(Gr);return Gr||null}function L(Gr,Wr,Qr){var Yr=te(Wr,Qr),Jr=te(Wr,"hx-disinherit");return Gr!==Wr&&Jr&&(Jr==="*"||Jr.split(" ").indexOf(Qr)>=0)?"unset":Yr}function ne(Gr,Wr){var Qr=null;if(c(Gr,function(Yr){return Qr=L(Gr,Yr,Wr)}),Qr!=="unset")return Qr}function h(Gr,Wr){var Qr=Gr.matches||Gr.matchesSelector||Gr.msMatchesSelector||Gr.mozMatchesSelector||Gr.webkitMatchesSelector||Gr.oMatchesSelector;return Qr&&Qr.call(Gr,Wr)}function A(Gr){var Wr=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Qr=Wr.exec(Gr);return Qr?Qr[1].toLowerCase():""}function s(Gr,Wr){for(var Qr=new DOMParser,Yr=Qr.parseFromString(Gr,"text/html"),Jr=Yr.body;Wr>0;)Wr--,Jr=Jr.firstChild;return Jr==null&&(Jr=re().createDocumentFragment()),Jr}function N(Gr){return/<body/.test(Gr)}function l(Gr){var Wr=!N(Gr),Qr=A(Gr),Yr=Gr;if(Qr==="head"&&(Yr=Yr.replace(S,"")),Q.config.useTemplateFragments&&Wr){var Jr=s("<body><template>"+Yr+"</template></body>",0),rn=Jr.querySelector("template").content;return Q.config.allowScriptTags?oe(rn.querySelectorAll("script"),function(ln){Q.config.inlineScriptNonce&&(ln.nonce=Q.config.inlineScriptNonce),ln.htmxExecuted=navigator.userAgent.indexOf("Firefox")===-1}):oe(rn.querySelectorAll("script"),function(ln){_(ln)}),rn}switch(Qr){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return s("<table>"+Yr+"</table>",1);case"col":return s("<table><colgroup>"+Yr+"</colgroup></table>",2);case"tr":return s("<table><tbody>"+Yr+"</tbody></table>",2);case"td":case"th":return s("<table><tbody><tr>"+Yr+"</tr></tbody></table>",3);case"script":case"style":return s("<div>"+Yr+"</div>",1);default:return s(Yr,0)}}function ie(Gr){Gr&&Gr()}function I(Gr,Wr){return Object.prototype.toString.call(Gr)==="[object "+Wr+"]"}function k(Gr){return I(Gr,"Function")}function P(Gr){return I(Gr,"Object")}function ae(Gr){var Wr="htmx-internal-data",Qr=Gr[Wr];return Qr||(Qr=Gr[Wr]={}),Qr}function M(Gr){var Wr=[];if(Gr)for(var Qr=0;Qr<Gr.length;Qr++)Wr.push(Gr[Qr]);return Wr}function oe(Gr,Wr){if(Gr)for(var Qr=0;Qr<Gr.length;Qr++)Wr(Gr[Qr])}function X(Gr){var Wr=Gr.getBoundingClientRect(),Qr=Wr.top,Yr=Wr.bottom;return Qr<window.innerHeight&&Yr>=0}function se(Gr){return Gr.getRootNode&&Gr.getRootNode()instanceof window.ShadowRoot?re().body.contains(Gr.getRootNode().host):re().body.contains(Gr)}function D(Gr){return Gr.trim().split(/\s+/)}function le(Gr,Wr){for(var Qr in Wr)Wr.hasOwnProperty(Qr)&&(Gr[Qr]=Wr[Qr]);return Gr}function E(Gr){try{return JSON.parse(Gr)}catch(Wr){return b(Wr),null}}function U(){var Gr="htmx:localStorageTest";try{return localStorage.setItem(Gr,Gr),localStorage.removeItem(Gr),!0}catch{return!1}}function B(Gr){try{var Wr=new URL(Gr);return Wr&&(Gr=Wr.pathname+Wr.search),/^\/$/.test(Gr)||(Gr=Gr.replace(/\/+$/,"")),Gr}catch{return Gr}}function t(e){return Tr(re().body,function(){return eval(e)})}function F(Gr){var Wr=Q.on("htmx:load",function(Qr){Gr(Qr.detail.elt)});return Wr}function V(){Q.logger=function(Gr,Wr,Qr){console&&console.log(Wr,Gr,Qr)}}function j(){Q.logger=null}function C(Gr,Wr){return Wr?Gr.querySelector(Wr):C(re(),Gr)}function f(Gr,Wr){return Wr?Gr.querySelectorAll(Wr):f(re(),Gr)}function _(Gr,Wr){Gr=p(Gr),Wr?setTimeout(function(){_(Gr),Gr=null},Wr):Gr.parentElement.removeChild(Gr)}function z(Gr,Wr,Qr){Gr=p(Gr),Qr?setTimeout(function(){z(Gr,Wr),Gr=null},Qr):Gr.classList&&Gr.classList.add(Wr)}function n(Gr,Wr,Qr){Gr=p(Gr),Qr?setTimeout(function(){n(Gr,Wr),Gr=null},Qr):Gr.classList&&(Gr.classList.remove(Wr),Gr.classList.length===0&&Gr.removeAttribute("class"))}function $(Gr,Wr){Gr=p(Gr),Gr.classList.toggle(Wr)}function W(Gr,Wr){Gr=p(Gr),oe(Gr.parentElement.children,function(Qr){n(Qr,Wr)}),z(Gr,Wr)}function v(Gr,Wr){if(Gr=p(Gr),Gr.closest)return Gr.closest(Wr);do if(Gr==null||h(Gr,Wr))return Gr;while(Gr=Gr&&u(Gr));return null}function g(Gr,Wr){return Gr.substring(0,Wr.length)===Wr}function G(Gr,Wr){return Gr.substring(Gr.length-Wr.length)===Wr}function J(Gr){var Wr=Gr.trim();return g(Wr,"<")&&G(Wr,"/>")?Wr.substring(1,Wr.length-2):Wr}function Z(Gr,Wr){return Wr.indexOf("closest ")===0?[v(Gr,J(Wr.substr(8)))]:Wr.indexOf("find ")===0?[C(Gr,J(Wr.substr(5)))]:Wr==="next"?[Gr.nextElementSibling]:Wr.indexOf("next ")===0?[K(Gr,J(Wr.substr(5)))]:Wr==="previous"?[Gr.previousElementSibling]:Wr.indexOf("previous ")===0?[Y(Gr,J(Wr.substr(9)))]:Wr==="document"?[document]:Wr==="window"?[window]:Wr==="body"?[document.body]:re().querySelectorAll(J(Wr))}var K=function(Gr,Wr){for(var Qr=re().querySelectorAll(Wr),Yr=0;Yr<Qr.length;Yr++){var Jr=Qr[Yr];if(Jr.compareDocumentPosition(Gr)===Node.DOCUMENT_POSITION_PRECEDING)return Jr}},Y=function(Gr,Wr){for(var Qr=re().querySelectorAll(Wr),Yr=Qr.length-1;Yr>=0;Yr--){var Jr=Qr[Yr];if(Jr.compareDocumentPosition(Gr)===Node.DOCUMENT_POSITION_FOLLOWING)return Jr}};function ue(Gr,Wr){return Wr?Z(Gr,Wr)[0]:Z(re().body,Gr)[0]}function p(Gr){return I(Gr,"String")?C(Gr):Gr}function ve(Gr,Wr,Qr){return k(Wr)?{target:re().body,event:Gr,listener:Wr}:{target:p(Gr),event:Wr,listener:Qr}}function de(Gr,Wr,Qr){jr(function(){var Jr=ve(Gr,Wr,Qr);Jr.target.addEventListener(Jr.event,Jr.listener)});var Yr=k(Wr);return Yr?Wr:Qr}function ge(Gr,Wr,Qr){return jr(function(){var Yr=ve(Gr,Wr,Qr);Yr.target.removeEventListener(Yr.event,Yr.listener)}),k(Wr)?Wr:Qr}var pe=re().createElement("output");function me(Gr,Wr){var Qr=ne(Gr,Wr);if(Qr){if(Qr==="this")return[xe(Gr,Wr)];var Yr=Z(Gr,Qr);return Yr.length===0?(b('The selector "'+Qr+'" on '+Wr+" returned no matches!"),[pe]):Yr}}function xe(Gr,Wr){return c(Gr,function(Qr){return te(Qr,Wr)!=null})}function ye(Gr){var Wr=ne(Gr,"hx-target");if(Wr)return Wr==="this"?xe(Gr,"hx-target"):ue(Gr,Wr);var Qr=ae(Gr);return Qr.boosted?re().body:Gr}function be(Gr){for(var Wr=Q.config.attributesToSettle,Qr=0;Qr<Wr.length;Qr++)if(Gr===Wr[Qr])return!0;return!1}function we(Gr,Wr){oe(Gr.attributes,function(Qr){!Wr.hasAttribute(Qr.name)&&be(Qr.name)&&Gr.removeAttribute(Qr.name)}),oe(Wr.attributes,function(Qr){be(Qr.name)&&Gr.setAttribute(Qr.name,Qr.value)})}function Se(Gr,Wr){for(var Qr=Fr(Wr),Yr=0;Yr<Qr.length;Yr++){var Jr=Qr[Yr];try{if(Jr.isInlineSwap(Gr))return!0}catch(rn){b(rn)}}return Gr==="outerHTML"}function Ee(Gr,Wr,Qr){var Yr="#"+ee(Wr,"id"),Jr="outerHTML";Gr==="true"||(Gr.indexOf(":")>0?(Jr=Gr.substr(0,Gr.indexOf(":")),Yr=Gr.substr(Gr.indexOf(":")+1,Gr.length)):Jr=Gr);var rn=re().querySelectorAll(Yr);return rn?(oe(rn,function(ln){var mn,gn=Wr.cloneNode(!0);mn=re().createDocumentFragment(),mn.appendChild(gn),Se(Jr,ln)||(mn=gn);var wn={shouldSwap:!0,target:ln,fragment:mn};ce(ln,"htmx:oobBeforeSwap",wn)&&(ln=wn.target,wn.shouldSwap&&Fe(Jr,ln,ln,mn,Qr),oe(Qr.elts,function(Cn){ce(Cn,"htmx:oobAfterSwap",wn)}))}),Wr.parentNode.removeChild(Wr)):(Wr.parentNode.removeChild(Wr),fe(re().body,"htmx:oobErrorNoTarget",{content:Wr})),Gr}function Ce(Gr,Wr,Qr){var Yr=ne(Gr,"hx-select-oob");if(Yr)for(var Jr=Yr.split(","),rn=0;rn<Jr.length;rn++){var ln=Jr[rn].split(":",2),mn=ln[0].trim();mn.indexOf("#")===0&&(mn=mn.substring(1));var gn=ln[1]||"true",wn=Wr.querySelector("#"+mn);wn&&Ee(gn,wn,Qr)}oe(f(Wr,"[hx-swap-oob], [data-hx-swap-oob]"),function(Cn){var An=te(Cn,"hx-swap-oob");An!=null&&Ee(An,Cn,Qr)})}function Re(Gr){oe(f(Gr,"[hx-preserve], [data-hx-preserve]"),function(Wr){var Qr=te(Wr,"id"),Yr=re().getElementById(Qr);Yr!=null&&Wr.parentNode.replaceChild(Yr,Wr)})}function Te(Gr,Wr,Qr){oe(Wr.querySelectorAll("[id]"),function(Yr){var Jr=ee(Yr,"id");if(Jr&&Jr.length>0){var rn=Jr.replace("'","\\'"),ln=Yr.tagName.replace(":","\\:"),mn=Gr.querySelector(ln+"[id='"+rn+"']");if(mn&&mn!==Gr){var gn=Yr.cloneNode();we(Yr,mn),Qr.tasks.push(function(){we(Yr,gn)})}}})}function Oe(Gr){return function(){n(Gr,Q.config.addedClass),zt(Gr),Nt(Gr),qe(Gr),ce(Gr,"htmx:load")}}function qe(Gr){var Wr="[autofocus]",Qr=h(Gr,Wr)?Gr:Gr.querySelector(Wr);Qr?.focus()}function a(Gr,Wr,Qr,Yr){for(Te(Gr,Qr,Yr);Qr.childNodes.length>0;){var Jr=Qr.firstChild;z(Jr,Q.config.addedClass),Gr.insertBefore(Jr,Wr),Jr.nodeType!==Node.TEXT_NODE&&Jr.nodeType!==Node.COMMENT_NODE&&Yr.tasks.push(Oe(Jr))}}function He(Gr,Wr){for(var Qr=0;Qr<Gr.length;)Wr=(Wr<<5)-Wr+Gr.charCodeAt(Qr++)|0;return Wr}function Le(Gr){var Wr=0;if(Gr.attributes)for(var Qr=0;Qr<Gr.attributes.length;Qr++){var Yr=Gr.attributes[Qr];Yr.value&&(Wr=He(Yr.name,Wr),Wr=He(Yr.value,Wr))}return Wr}function Ae(Gr){var Wr=ae(Gr);if(Wr.onHandlers){for(var Qr=0;Qr<Wr.onHandlers.length;Qr++){let Yr=Wr.onHandlers[Qr];Gr.removeEventListener(Yr.event,Yr.listener)}delete Wr.onHandlers}}function Ne(Gr){var Wr=ae(Gr);Wr.timeout&&clearTimeout(Wr.timeout),Wr.webSocket&&Wr.webSocket.close(),Wr.sseEventSource&&Wr.sseEventSource.close(),Wr.listenerInfos&&oe(Wr.listenerInfos,function(Qr){Qr.on&&Qr.on.removeEventListener(Qr.trigger,Qr.listener)}),Ae(Gr),oe(Object.keys(Wr),function(Qr){delete Wr[Qr]})}function m(Gr){ce(Gr,"htmx:beforeCleanupElement"),Ne(Gr),Gr.children&&oe(Gr.children,function(Wr){m(Wr)})}function Ie(Gr,Wr,Qr){if(Gr.tagName==="BODY")return Ue(Gr,Wr,Qr);var Yr,Jr=Gr.previousSibling;for(a(u(Gr),Gr,Wr,Qr),Jr==null?Yr=u(Gr).firstChild:Yr=Jr.nextSibling,Qr.elts=Qr.elts.filter(function(rn){return rn!=Gr});Yr&&Yr!==Gr;)Yr.nodeType===Node.ELEMENT_NODE&&Qr.elts.push(Yr),Yr=Yr.nextElementSibling;m(Gr),u(Gr).removeChild(Gr)}function ke(Gr,Wr,Qr){return a(Gr,Gr.firstChild,Wr,Qr)}function Pe(Gr,Wr,Qr){return a(u(Gr),Gr,Wr,Qr)}function Me(Gr,Wr,Qr){return a(Gr,null,Wr,Qr)}function Xe(Gr,Wr,Qr){return a(u(Gr),Gr.nextSibling,Wr,Qr)}function De(Gr,Wr,Qr){return m(Gr),u(Gr).removeChild(Gr)}function Ue(Gr,Wr,Qr){var Yr=Gr.firstChild;if(a(Gr,Yr,Wr,Qr),Yr){for(;Yr.nextSibling;)m(Yr.nextSibling),Gr.removeChild(Yr.nextSibling);m(Yr),Gr.removeChild(Yr)}}function Be(Gr,Wr,Qr){var Yr=Qr||ne(Gr,"hx-select");if(Yr){var Jr=re().createDocumentFragment();oe(Wr.querySelectorAll(Yr),function(rn){Jr.appendChild(rn)}),Wr=Jr}return Wr}function Fe(Gr,Wr,Qr,Yr,Jr){switch(Gr){case"none":return;case"outerHTML":Ie(Qr,Yr,Jr);return;case"afterbegin":ke(Qr,Yr,Jr);return;case"beforebegin":Pe(Qr,Yr,Jr);return;case"beforeend":Me(Qr,Yr,Jr);return;case"afterend":Xe(Qr,Yr,Jr);return;case"delete":De(Qr,Yr,Jr);return;default:for(var rn=Fr(Wr),ln=0;ln<rn.length;ln++){var mn=rn[ln];try{var gn=mn.handleSwap(Gr,Qr,Yr,Jr);if(gn){if(typeof gn.length<"u")for(var wn=0;wn<gn.length;wn++){var Cn=gn[wn];Cn.nodeType!==Node.TEXT_NODE&&Cn.nodeType!==Node.COMMENT_NODE&&Jr.tasks.push(Oe(Cn))}return}}catch(An){b(An)}}Gr==="innerHTML"?Ue(Qr,Yr,Jr):Fe(Q.config.defaultSwapStyle,Wr,Qr,Yr,Jr)}}function Ve(Gr){if(Gr.indexOf("<title")>-1){var Wr=Gr.replace(H,""),Qr=Wr.match(q);if(Qr)return Qr[2]}}function je(Gr,Wr,Qr,Yr,Jr,rn){Jr.title=Ve(Yr);var ln=l(Yr);if(ln)return Ce(Qr,ln,Jr),ln=Be(Qr,ln,rn),Re(ln),Fe(Gr,Qr,Wr,ln,Jr)}function _e(Gr,Wr,Qr){var Yr=Gr.getResponseHeader(Wr);if(Yr.indexOf("{")===0){var Jr=E(Yr);for(var rn in Jr)if(Jr.hasOwnProperty(rn)){var ln=Jr[rn];P(ln)||(ln={value:ln}),ce(Qr,rn,ln)}}else for(var mn=Yr.split(","),gn=0;gn<mn.length;gn++)ce(Qr,mn[gn].trim(),[])}var ze=/\s/,x=/[\s,]/,$e=/[_$a-zA-Z]/,We=/[_$a-zA-Z0-9]/,Ge=['"',"'","/"],Je=/[^\s]/,Ze=/[{(]/,Ke=/[})]/;function Ye(Gr){for(var Wr=[],Qr=0;Qr<Gr.length;){if($e.exec(Gr.charAt(Qr))){for(var Yr=Qr;We.exec(Gr.charAt(Qr+1));)Qr++;Wr.push(Gr.substr(Yr,Qr-Yr+1))}else if(Ge.indexOf(Gr.charAt(Qr))!==-1){var Jr=Gr.charAt(Qr),Yr=Qr;for(Qr++;Qr<Gr.length&&Gr.charAt(Qr)!==Jr;)Gr.charAt(Qr)==="\\"&&Qr++,Qr++;Wr.push(Gr.substr(Yr,Qr-Yr+1))}else{var rn=Gr.charAt(Qr);Wr.push(rn)}Qr++}return Wr}function Qe(Gr,Wr,Qr){return $e.exec(Gr.charAt(0))&&Gr!=="true"&&Gr!=="false"&&Gr!=="this"&&Gr!==Qr&&Wr!=="."}function et(Gr,Wr,Qr){if(Wr[0]==="["){Wr.shift();for(var Yr=1,Jr=" return (function("+Qr+"){ return (",rn=null;Wr.length>0;){var ln=Wr[0];if(ln==="]"){if(Yr--,Yr===0){rn===null&&(Jr=Jr+"true"),Wr.shift(),Jr+=")})";try{var mn=Tr(Gr,function(){return Function(Jr)()},function(){return!0});return mn.source=Jr,mn}catch(gn){return fe(re().body,"htmx:syntax:error",{error:gn,source:Jr}),null}}}else ln==="["&&Yr++;Qe(ln,rn,Qr)?Jr+="(("+Qr+"."+ln+") ? ("+Qr+"."+ln+") : (window."+ln+"))":Jr=Jr+ln,rn=Wr.shift()}}}function y(Gr,Wr){for(var Qr="";Gr.length>0&&!Wr.test(Gr[0]);)Qr+=Gr.shift();return Qr}function tt(Gr){var Wr;return Gr.length>0&&Ze.test(Gr[0])?(Gr.shift(),Wr=y(Gr,Ke).trim(),Gr.shift()):Wr=y(Gr,x),Wr}var rt="input, textarea, select";function nt(Gr,Wr,Qr){var Yr=[],Jr=Ye(Wr);do{y(Jr,Je);var rn=Jr.length,ln=y(Jr,/[,\[\s]/);if(ln!=="")if(ln==="every"){var mn={trigger:"every"};y(Jr,Je),mn.pollInterval=d(y(Jr,/[,\[\s]/)),y(Jr,Je);var gn=et(Gr,Jr,"event");gn&&(mn.eventFilter=gn),Yr.push(mn)}else if(ln.indexOf("sse:")===0)Yr.push({trigger:"sse",sseEvent:ln.substr(4)});else{var wn={trigger:ln},gn=et(Gr,Jr,"event");for(gn&&(wn.eventFilter=gn);Jr.length>0&&Jr[0]!==",";){y(Jr,Je);var Cn=Jr.shift();if(Cn==="changed")wn.changed=!0;else if(Cn==="once")wn.once=!0;else if(Cn==="consume")wn.consume=!0;else if(Cn==="delay"&&Jr[0]===":")Jr.shift(),wn.delay=d(y(Jr,x));else if(Cn==="from"&&Jr[0]===":"){if(Jr.shift(),Ze.test(Jr[0]))var An=tt(Jr);else{var An=y(Jr,x);if(An==="closest"||An==="find"||An==="next"||An==="previous"){Jr.shift();var Pn=tt(Jr);Pn.length>0&&(An+=" "+Pn)}}wn.from=An}else Cn==="target"&&Jr[0]===":"?(Jr.shift(),wn.target=tt(Jr)):Cn==="throttle"&&Jr[0]===":"?(Jr.shift(),wn.throttle=d(y(Jr,x))):Cn==="queue"&&Jr[0]===":"?(Jr.shift(),wn.queue=y(Jr,x)):Cn==="root"&&Jr[0]===":"?(Jr.shift(),wn[Cn]=tt(Jr)):Cn==="threshold"&&Jr[0]===":"?(Jr.shift(),wn[Cn]=y(Jr,x)):fe(Gr,"htmx:syntax:error",{token:Jr.shift()})}Yr.push(wn)}Jr.length===rn&&fe(Gr,"htmx:syntax:error",{token:Jr.shift()}),y(Jr,Je)}while(Jr[0]===","&&Jr.shift());return Qr&&(Qr[Wr]=Yr),Yr}function it(Gr){var Wr=te(Gr,"hx-trigger"),Qr=[];if(Wr){var Yr=Q.config.triggerSpecsCache;Qr=Yr&&Yr[Wr]||nt(Gr,Wr,Yr)}return Qr.length>0?Qr:h(Gr,"form")?[{trigger:"submit"}]:h(Gr,'input[type="button"], input[type="submit"]')?[{trigger:"click"}]:h(Gr,rt)?[{trigger:"change"}]:[{trigger:"click"}]}function at(Gr){ae(Gr).cancelled=!0}function ot(Gr,Wr,Qr){var Yr=ae(Gr);Yr.timeout=setTimeout(function(){se(Gr)&&Yr.cancelled!==!0&&(ct(Qr,Gr,Wt("hx:poll:trigger",{triggerSpec:Qr,target:Gr}))||Wr(Gr),ot(Gr,Wr,Qr))},Qr.pollInterval)}function st(Gr){return location.hostname===Gr.hostname&&ee(Gr,"href")&&ee(Gr,"href").indexOf("#")!==0}function lt(Gr,Wr,Qr){if(Gr.tagName==="A"&&st(Gr)&&(Gr.target===""||Gr.target==="_self")||Gr.tagName==="FORM"){Wr.boosted=!0;var Yr,Jr;if(Gr.tagName==="A")Yr="get",Jr=ee(Gr,"href");else{var rn=ee(Gr,"method");Yr=rn?rn.toLowerCase():"get",Jr=ee(Gr,"action")}Qr.forEach(function(ln){ht(Gr,function(mn,gn){if(v(mn,Q.config.disableSelector)){m(mn);return}he(Yr,Jr,mn,gn)},Wr,ln,!0)})}}function ut(Gr,Wr){return!!((Gr.type==="submit"||Gr.type==="click")&&(Wr.tagName==="FORM"||h(Wr,'input[type="submit"], button')&&v(Wr,"form")!==null||Wr.tagName==="A"&&Wr.href&&(Wr.getAttribute("href")==="#"||Wr.getAttribute("href").indexOf("#")!==0)))}function ft(Gr,Wr){return ae(Gr).boosted&&Gr.tagName==="A"&&Wr.type==="click"&&(Wr.ctrlKey||Wr.metaKey)}function ct(Gr,Wr,Qr){var Yr=Gr.eventFilter;if(Yr)try{return Yr.call(Wr,Qr)!==!0}catch(Jr){return fe(re().body,"htmx:eventFilter:error",{error:Jr,source:Yr.source}),!0}return!1}function ht(Gr,Wr,Qr,Yr,Jr){var rn=ae(Gr),ln;Yr.from?ln=Z(Gr,Yr.from):ln=[Gr],Yr.changed&&ln.forEach(function(mn){var gn=ae(mn);gn.lastValue=mn.value}),oe(ln,function(mn){var gn=function(wn){if(!se(Gr)){mn.removeEventListener(Yr.trigger,gn);return}if(!ft(Gr,wn)&&((Jr||ut(wn,Gr))&&wn.preventDefault(),!ct(Yr,Gr,wn))){var Cn=ae(wn);if(Cn.triggerSpec=Yr,Cn.handledFor==null&&(Cn.handledFor=[]),Cn.handledFor.indexOf(Gr)<0){if(Cn.handledFor.push(Gr),Yr.consume&&wn.stopPropagation(),Yr.target&&wn.target&&!h(wn.target,Yr.target))return;if(Yr.once){if(rn.triggeredOnce)return;rn.triggeredOnce=!0}if(Yr.changed){var An=ae(mn);if(An.lastValue===mn.value)return;An.lastValue=mn.value}if(rn.delayed&&clearTimeout(rn.delayed),rn.throttle)return;Yr.throttle>0?rn.throttle||(Wr(Gr,wn),rn.throttle=setTimeout(function(){rn.throttle=null},Yr.throttle)):Yr.delay>0?rn.delayed=setTimeout(function(){Wr(Gr,wn)},Yr.delay):(ce(Gr,"htmx:trigger"),Wr(Gr,wn))}}};Qr.listenerInfos==null&&(Qr.listenerInfos=[]),Qr.listenerInfos.push({trigger:Yr.trigger,listener:gn,on:mn}),mn.addEventListener(Yr.trigger,gn)})}var vt=!1,dt=null;function gt(){dt||(dt=function(){vt=!0},window.addEventListener("scroll",dt),setInterval(function(){vt&&(vt=!1,oe(re().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(Gr){pt(Gr)}))},200))}function pt(Gr){if(!o(Gr,"data-hx-revealed")&&X(Gr)){Gr.setAttribute("data-hx-revealed","true");var Wr=ae(Gr);Wr.initHash?ce(Gr,"revealed"):Gr.addEventListener("htmx:afterProcessNode",function(Qr){ce(Gr,"revealed")},{once:!0})}}function mt(Gr,Wr,Qr){for(var Yr=D(Qr),Jr=0;Jr<Yr.length;Jr++){var rn=Yr[Jr].split(/:(.+)/);rn[0]==="connect"&&xt(Gr,rn[1],0),rn[0]==="send"&&bt(Gr)}}function xt(Gr,Wr,Qr){if(se(Gr)){if(Wr.indexOf("/")==0){var Yr=location.hostname+(location.port?":"+location.port:"");location.protocol=="https:"?Wr="wss://"+Yr+Wr:location.protocol=="http:"&&(Wr="ws://"+Yr+Wr)}var Jr=Q.createWebSocket(Wr);Jr.onerror=function(rn){fe(Gr,"htmx:wsError",{error:rn,socket:Jr}),yt(Gr)},Jr.onclose=function(rn){if([1006,1012,1013].indexOf(rn.code)>=0){var ln=wt(Qr);setTimeout(function(){xt(Gr,Wr,Qr+1)},ln)}},Jr.onopen=function(rn){Qr=0},ae(Gr).webSocket=Jr,Jr.addEventListener("message",function(rn){if(!yt(Gr)){var ln=rn.data;R(Gr,function(Pn){ln=Pn.transformResponse(ln,null,Gr)});for(var mn=T(Gr),gn=l(ln),wn=M(gn.children),Cn=0;Cn<wn.length;Cn++){var An=wn[Cn];Ee(te(An,"hx-swap-oob")||"true",An,mn)}nr(mn.tasks)}})}}function yt(Gr){if(!se(Gr))return ae(Gr).webSocket.close(),!0}function bt(Gr){var Wr=c(Gr,function(Qr){return ae(Qr).webSocket!=null});Wr?Gr.addEventListener(it(Gr)[0].trigger,function(Qr){var Yr=ae(Wr).webSocket,Jr=xr(Gr,Wr),rn=dr(Gr,"post"),ln=rn.errors,mn=rn.values,gn=Hr(Gr),wn=le(mn,gn),Cn=yr(wn,Gr);if(Cn.HEADERS=Jr,ln&&ln.length>0){ce(Gr,"htmx:validation:halted",ln);return}Yr.send(JSON.stringify(Cn)),ut(Qr,Gr)&&Qr.preventDefault()}):fe(Gr,"htmx:noWebSocketSourceError")}function wt(Gr){var Wr=Q.config.wsReconnectDelay;if(typeof Wr=="function")return Wr(Gr);if(Wr==="full-jitter"){var Qr=Math.min(Gr,6),Yr=1e3*Math.pow(2,Qr);return Yr*Math.random()}b('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function St(Gr,Wr,Qr){for(var Yr=D(Qr),Jr=0;Jr<Yr.length;Jr++){var rn=Yr[Jr].split(/:(.+)/);rn[0]==="connect"&&Et(Gr,rn[1]),rn[0]==="swap"&&Ct(Gr,rn[1])}}function Et(Gr,Wr){var Qr=Q.createEventSource(Wr);Qr.onerror=function(Yr){fe(Gr,"htmx:sseError",{error:Yr,source:Qr}),Tt(Gr)},ae(Gr).sseEventSource=Qr}function Ct(Gr,Wr){var Qr=c(Gr,Ot);if(Qr){var Yr=ae(Qr).sseEventSource,Jr=function(rn){if(!Tt(Qr)){if(!se(Gr)){Yr.removeEventListener(Wr,Jr);return}var ln=rn.data;R(Gr,function(Cn){ln=Cn.transformResponse(ln,null,Gr)});var mn=wr(Gr),gn=ye(Gr),wn=T(Gr);je(mn.swapStyle,gn,Gr,ln,wn),nr(wn.tasks),ce(Gr,"htmx:sseMessage",rn)}};ae(Gr).sseListener=Jr,Yr.addEventListener(Wr,Jr)}else fe(Gr,"htmx:noSSESourceError")}function Rt(Gr,Wr,Qr){var Yr=c(Gr,Ot);if(Yr){var Jr=ae(Yr).sseEventSource,rn=function(){Tt(Yr)||(se(Gr)?Wr(Gr):Jr.removeEventListener(Qr,rn))};ae(Gr).sseListener=rn,Jr.addEventListener(Qr,rn)}else fe(Gr,"htmx:noSSESourceError")}function Tt(Gr){if(!se(Gr))return ae(Gr).sseEventSource.close(),!0}function Ot(Gr){return ae(Gr).sseEventSource!=null}function qt(Gr,Wr,Qr,Yr){var Jr=function(){Qr.loaded||(Qr.loaded=!0,Wr(Gr))};Yr>0?setTimeout(Jr,Yr):Jr()}function Ht(Gr,Wr,Qr){var Yr=!1;return oe(w,function(Jr){if(o(Gr,"hx-"+Jr)){var rn=te(Gr,"hx-"+Jr);Yr=!0,Wr.path=rn,Wr.verb=Jr,Qr.forEach(function(ln){Lt(Gr,ln,Wr,function(mn,gn){if(v(mn,Q.config.disableSelector)){m(mn);return}he(Jr,rn,mn,gn)})})}}),Yr}function Lt(Gr,Wr,Qr,Yr){if(Wr.sseEvent)Rt(Gr,Yr,Wr.sseEvent);else if(Wr.trigger==="revealed")gt(),ht(Gr,Yr,Qr,Wr),pt(Gr);else if(Wr.trigger==="intersect"){var Jr={};Wr.root&&(Jr.root=ue(Gr,Wr.root)),Wr.threshold&&(Jr.threshold=parseFloat(Wr.threshold));var rn=new IntersectionObserver(function(ln){for(var mn=0;mn<ln.length;mn++){var gn=ln[mn];if(gn.isIntersecting){ce(Gr,"intersect");break}}},Jr);rn.observe(Gr),ht(Gr,Yr,Qr,Wr)}else Wr.trigger==="load"?ct(Wr,Gr,Wt("load",{elt:Gr}))||qt(Gr,Yr,Qr,Wr.delay):Wr.pollInterval>0?(Qr.polling=!0,ot(Gr,Yr,Wr)):ht(Gr,Yr,Qr,Wr)}function At(Gr){if(!Gr.htmxExecuted&&Q.config.allowScriptTags&&(Gr.type==="text/javascript"||Gr.type==="module"||Gr.type==="")){var Wr=re().createElement("script");oe(Gr.attributes,function(Yr){Wr.setAttribute(Yr.name,Yr.value)}),Wr.textContent=Gr.textContent,Wr.async=!1,Q.config.inlineScriptNonce&&(Wr.nonce=Q.config.inlineScriptNonce);var Qr=Gr.parentElement;try{Qr.insertBefore(Wr,Gr)}catch(Yr){b(Yr)}finally{Gr.parentElement&&Gr.parentElement.removeChild(Gr)}}}function Nt(Gr){h(Gr,"script")&&At(Gr),oe(f(Gr,"script"),function(Wr){At(Wr)})}function It(Gr){var Wr=Gr.attributes;if(!Wr)return!1;for(var Qr=0;Qr<Wr.length;Qr++){var Yr=Wr[Qr].name;if(g(Yr,"hx-on:")||g(Yr,"data-hx-on:")||g(Yr,"hx-on-")||g(Yr,"data-hx-on-"))return!0}return!1}function kt(Gr){var Wr=null,Qr=[];if(It(Gr)&&Qr.push(Gr),document.evaluate)for(var Yr=document.evaluate('.//*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") or starts-with(name(), "hx-on-") or starts-with(name(), "data-hx-on-") ]]',Gr);Wr=Yr.iterateNext();)Qr.push(Wr);else if(typeof Gr.getElementsByTagName=="function")for(var Jr=Gr.getElementsByTagName("*"),rn=0;rn<Jr.length;rn++)It(Jr[rn])&&Qr.push(Jr[rn]);return Qr}function Pt(Gr){if(Gr.querySelectorAll){var Wr=", [hx-boost] a, [data-hx-boost] a, a[hx-boost], a[data-hx-boost]",Qr=Gr.querySelectorAll(i+Wr+", form, [type='submit'], [hx-sse], [data-hx-sse], [hx-ws], [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]");return Qr}else return[]}function Mt(Gr){var Wr=v(Gr.target,"button, input[type='submit']"),Qr=Dt(Gr);Qr&&(Qr.lastButtonClicked=Wr)}function Xt(Gr){var Wr=Dt(Gr);Wr&&(Wr.lastButtonClicked=null)}function Dt(Gr){var Wr=v(Gr.target,"button, input[type='submit']");if(Wr){var Qr=p("#"+ee(Wr,"form"))||v(Wr,"form");if(Qr)return ae(Qr)}}function Ut(Gr){Gr.addEventListener("click",Mt),Gr.addEventListener("focusin",Mt),Gr.addEventListener("focusout",Xt)}function Bt(Gr){for(var Wr=Ye(Gr),Qr=0,Yr=0;Yr<Wr.length;Yr++){let Jr=Wr[Yr];Jr==="{"?Qr++:Jr==="}"&&Qr--}return Qr}function Ft(Gr,Wr,Qr){var Yr=ae(Gr);Array.isArray(Yr.onHandlers)||(Yr.onHandlers=[]);var Jr,rn=function(ln){return Tr(Gr,function(){Jr||(Jr=new Function("event",Qr)),Jr.call(Gr,ln)})};Gr.addEventListener(Wr,rn),Yr.onHandlers.push({event:Wr,listener:rn})}function Vt(Gr){var Wr=te(Gr,"hx-on");if(Wr){for(var Qr={},Yr=Wr.split(`
2
-
`),Jr=null,rn=0;Yr.length>0;){var ln=Yr.shift(),mn=ln.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/);rn===0&&mn?(ln.split(":"),Jr=mn[1].slice(0,-1),Qr[Jr]=mn[2]):Qr[Jr]+=ln,rn+=Bt(ln)}for(var gn in Qr)Ft(Gr,gn,Qr[gn])}}function jt(Gr){Ae(Gr);for(var Wr=0;Wr<Gr.attributes.length;Wr++){var Qr=Gr.attributes[Wr].name,Yr=Gr.attributes[Wr].value;if(g(Qr,"hx-on")||g(Qr,"data-hx-on")){var Jr=Qr.indexOf("-on")+3,rn=Qr.slice(Jr,Jr+1);if(rn==="-"||rn===":"){var ln=Qr.slice(Jr+1);g(ln,":")?ln="htmx"+ln:g(ln,"-")?ln="htmx:"+ln.slice(1):g(ln,"htmx-")&&(ln="htmx:"+ln.slice(5)),Ft(Gr,ln,Yr)}}}}function _t(Gr){if(v(Gr,Q.config.disableSelector)){m(Gr);return}var Wr=ae(Gr);if(Wr.initHash!==Le(Gr)){Ne(Gr),Wr.initHash=Le(Gr),Vt(Gr),ce(Gr,"htmx:beforeProcessNode"),Gr.value&&(Wr.lastValue=Gr.value);var Qr=it(Gr),Yr=Ht(Gr,Wr,Qr);Yr||(ne(Gr,"hx-boost")==="true"?lt(Gr,Wr,Qr):o(Gr,"hx-trigger")&&Qr.forEach(function(ln){Lt(Gr,ln,Wr,function(){})})),(Gr.tagName==="FORM"||ee(Gr,"type")==="submit"&&o(Gr,"form"))&&Ut(Gr);var Jr=te(Gr,"hx-sse");Jr&&St(Gr,Wr,Jr);var rn=te(Gr,"hx-ws");rn&&mt(Gr,Wr,rn),ce(Gr,"htmx:afterProcessNode")}}function zt(Gr){if(Gr=p(Gr),v(Gr,Q.config.disableSelector)){m(Gr);return}_t(Gr),oe(Pt(Gr),function(Wr){_t(Wr)}),oe(kt(Gr),jt)}function $t(Gr){return Gr.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Wt(Gr,Wr){var Qr;return window.CustomEvent&&typeof window.CustomEvent=="function"?Qr=new CustomEvent(Gr,{bubbles:!0,cancelable:!0,detail:Wr}):(Qr=re().createEvent("CustomEvent"),Qr.initCustomEvent(Gr,!0,!0,Wr)),Qr}function fe(Gr,Wr,Qr){ce(Gr,Wr,le({error:Wr},Qr))}function Gt(Gr){return Gr==="htmx:afterProcessNode"}function R(Gr,Wr){oe(Fr(Gr),function(Qr){try{Wr(Qr)}catch(Yr){b(Yr)}})}function b(Gr){console.error?console.error(Gr):console.log&&console.log("ERROR: ",Gr)}function ce(Gr,Wr,Qr){Gr=p(Gr),Qr==null&&(Qr={}),Qr.elt=Gr;var Yr=Wt(Wr,Qr);Q.logger&&!Gt(Wr)&&Q.logger(Gr,Wr,Qr),Qr.error&&(b(Qr.error),ce(Gr,"htmx:error",{errorInfo:Qr}));var Jr=Gr.dispatchEvent(Yr),rn=$t(Wr);if(Jr&&rn!==Wr){var ln=Wt(rn,Yr.detail);Jr=Jr&&Gr.dispatchEvent(ln)}return R(Gr,function(mn){Jr=Jr&&mn.onEvent(Wr,Yr)!==!1&&!Yr.defaultPrevented}),Jr}var Jt=location.pathname+location.search;function Zt(){var Gr=re().querySelector("[hx-history-elt],[data-hx-history-elt]");return Gr||re().body}function Kt(Gr,Wr,Qr,Yr){if(U()){if(Q.config.historyCacheSize<=0){localStorage.removeItem("htmx-history-cache");return}Gr=B(Gr);for(var Jr=E(localStorage.getItem("htmx-history-cache"))||[],rn=0;rn<Jr.length;rn++)if(Jr[rn].url===Gr){Jr.splice(rn,1);break}var ln={url:Gr,content:Wr,title:Qr,scroll:Yr};for(ce(re().body,"htmx:historyItemCreated",{item:ln,cache:Jr}),Jr.push(ln);Jr.length>Q.config.historyCacheSize;)Jr.shift();for(;Jr.length>0;)try{localStorage.setItem("htmx-history-cache",JSON.stringify(Jr));break}catch(mn){fe(re().body,"htmx:historyCacheError",{cause:mn,cache:Jr}),Jr.shift()}}}function Yt(Gr){if(!U())return null;Gr=B(Gr);for(var Wr=E(localStorage.getItem("htmx-history-cache"))||[],Qr=0;Qr<Wr.length;Qr++)if(Wr[Qr].url===Gr)return Wr[Qr];return null}function Qt(Gr){var Wr=Q.config.requestClass,Qr=Gr.cloneNode(!0);return oe(f(Qr,"."+Wr),function(Yr){n(Yr,Wr)}),Qr.innerHTML}function er(){var Gr=Zt(),Wr=Jt||location.pathname+location.search,Qr;try{Qr=re().querySelector('[hx-history="false" i],[data-hx-history="false" i]')}catch{Qr=re().querySelector('[hx-history="false"],[data-hx-history="false"]')}Qr||(ce(re().body,"htmx:beforeHistorySave",{path:Wr,historyElt:Gr}),Kt(Wr,Qt(Gr),re().title,window.scrollY)),Q.config.historyEnabled&&history.replaceState({htmx:!0},re().title,window.location.href)}function tr(Gr){Q.config.getCacheBusterParam&&(Gr=Gr.replace(/org\.htmx\.cache-buster=[^&]*&?/,""),(G(Gr,"&")||G(Gr,"?"))&&(Gr=Gr.slice(0,-1))),Q.config.historyEnabled&&history.pushState({htmx:!0},"",Gr),Jt=Gr}function rr(Gr){Q.config.historyEnabled&&history.replaceState({htmx:!0},"",Gr),Jt=Gr}function nr(Gr){oe(Gr,function(Wr){Wr.call()})}function ir(Gr){var Wr=new XMLHttpRequest,Qr={path:Gr,xhr:Wr};ce(re().body,"htmx:historyCacheMiss",Qr),Wr.open("GET",Gr,!0),Wr.setRequestHeader("HX-Request","true"),Wr.setRequestHeader("HX-History-Restore-Request","true"),Wr.setRequestHeader("HX-Current-URL",re().location.href),Wr.onload=function(){if(this.status>=200&&this.status<400){ce(re().body,"htmx:historyCacheMissLoad",Qr);var Yr=l(this.response);Yr=Yr.querySelector("[hx-history-elt],[data-hx-history-elt]")||Yr;var Jr=Zt(),rn=T(Jr),ln=Ve(this.response);if(ln){var mn=C("title");mn?mn.innerHTML=ln:window.document.title=ln}Ue(Jr,Yr,rn),nr(rn.tasks),Jt=Gr,ce(re().body,"htmx:historyRestore",{path:Gr,cacheMiss:!0,serverResponse:this.response})}else fe(re().body,"htmx:historyCacheMissLoadError",Qr)},Wr.send()}function ar(Gr){er(),Gr=Gr||location.pathname+location.search;var Wr=Yt(Gr);if(Wr){var Qr=l(Wr.content),Yr=Zt(),Jr=T(Yr);Ue(Yr,Qr,Jr),nr(Jr.tasks),document.title=Wr.title,setTimeout(function(){window.scrollTo(0,Wr.scroll)},0),Jt=Gr,ce(re().body,"htmx:historyRestore",{path:Gr,item:Wr})}else Q.config.refreshOnHistoryMiss?window.location.reload(!0):ir(Gr)}function or(Gr){var Wr=me(Gr,"hx-indicator");return Wr==null&&(Wr=[Gr]),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)+1,Qr.classList.add.call(Qr.classList,Q.config.requestClass)}),Wr}function sr(Gr){var Wr=me(Gr,"hx-disabled-elt");return Wr==null&&(Wr=[]),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)+1,Qr.setAttribute("disabled","")}),Wr}function lr(Gr,Wr){oe(Gr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)-1,Yr.requestCount===0&&Qr.classList.remove.call(Qr.classList,Q.config.requestClass)}),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)-1,Yr.requestCount===0&&Qr.removeAttribute("disabled")})}function ur(Gr,Wr){for(var Qr=0;Qr<Gr.length;Qr++){var Yr=Gr[Qr];if(Yr.isSameNode(Wr))return!0}return!1}function fr(Gr){return Gr.name===""||Gr.name==null||Gr.disabled||v(Gr,"fieldset[disabled]")||Gr.type==="button"||Gr.type==="submit"||Gr.tagName==="image"||Gr.tagName==="reset"||Gr.tagName==="file"?!1:Gr.type==="checkbox"||Gr.type==="radio"?Gr.checked:!0}function cr(Gr,Wr,Qr){if(Gr!=null&&Wr!=null){var Yr=Qr[Gr];Yr===void 0?Qr[Gr]=Wr:Array.isArray(Yr)?Array.isArray(Wr)?Qr[Gr]=Yr.concat(Wr):Yr.push(Wr):Array.isArray(Wr)?Qr[Gr]=[Yr].concat(Wr):Qr[Gr]=[Yr,Wr]}}function hr(Gr,Wr,Qr,Yr,Jr){if(!(Yr==null||ur(Gr,Yr))){if(Gr.push(Yr),fr(Yr)){var rn=ee(Yr,"name"),ln=Yr.value;Yr.multiple&&Yr.tagName==="SELECT"&&(ln=M(Yr.querySelectorAll("option:checked")).map(function(gn){return gn.value})),Yr.files&&(ln=M(Yr.files)),cr(rn,ln,Wr),Jr&&vr(Yr,Qr)}if(h(Yr,"form")){var mn=Yr.elements;oe(mn,function(gn){hr(Gr,Wr,Qr,gn,Jr)})}}}function vr(Gr,Wr){Gr.willValidate&&(ce(Gr,"htmx:validation:validate"),Gr.checkValidity()||(Wr.push({elt:Gr,message:Gr.validationMessage,validity:Gr.validity}),ce(Gr,"htmx:validation:failed",{message:Gr.validationMessage,validity:Gr.validity})))}function dr(Gr,Wr){var Qr=[],Yr={},Jr={},rn=[],ln=ae(Gr);ln.lastButtonClicked&&!se(ln.lastButtonClicked)&&(ln.lastButtonClicked=null);var mn=h(Gr,"form")&&Gr.noValidate!==!0||te(Gr,"hx-validate")==="true";if(ln.lastButtonClicked&&(mn=mn&&ln.lastButtonClicked.formNoValidate!==!0),Wr!=="get"&&hr(Qr,Jr,rn,v(Gr,"form"),mn),hr(Qr,Yr,rn,Gr,mn),ln.lastButtonClicked||Gr.tagName==="BUTTON"||Gr.tagName==="INPUT"&&ee(Gr,"type")==="submit"){var gn=ln.lastButtonClicked||Gr,wn=ee(gn,"name");cr(wn,gn.value,Jr)}var Cn=me(Gr,"hx-include");return oe(Cn,function(An){hr(Qr,Yr,rn,An,mn),h(An,"form")||oe(An.querySelectorAll(rt),function(Pn){hr(Qr,Yr,rn,Pn,mn)})}),Yr=le(Yr,Jr),{errors:rn,values:Yr}}function gr(Gr,Wr,Qr){Gr!==""&&(Gr+="&"),String(Qr)==="[object Object]"&&(Qr=JSON.stringify(Qr));var Yr=encodeURIComponent(Qr);return Gr+=encodeURIComponent(Wr)+"="+Yr,Gr}function pr(Gr){var Wr="";for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){var Yr=Gr[Qr];Array.isArray(Yr)?oe(Yr,function(Jr){Wr=gr(Wr,Qr,Jr)}):Wr=gr(Wr,Qr,Yr)}return Wr}function mr(Gr){var Wr=new FormData;for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){var Yr=Gr[Qr];Array.isArray(Yr)?oe(Yr,function(Jr){Wr.append(Qr,Jr)}):Wr.append(Qr,Yr)}return Wr}function xr(Gr,Wr,Qr){var Yr={"HX-Request":"true","HX-Trigger":ee(Gr,"id"),"HX-Trigger-Name":ee(Gr,"name"),"HX-Target":te(Wr,"id"),"HX-Current-URL":re().location.href};return Rr(Gr,"hx-headers",!1,Yr),Qr!==void 0&&(Yr["HX-Prompt"]=Qr),ae(Gr).boosted&&(Yr["HX-Boosted"]="true"),Yr}function yr(Gr,Wr){var Qr=ne(Wr,"hx-params");if(Qr){if(Qr==="none")return{};if(Qr==="*")return Gr;if(Qr.indexOf("not ")===0)return oe(Qr.substr(4).split(","),function(Jr){Jr=Jr.trim(),delete Gr[Jr]}),Gr;var Yr={};return oe(Qr.split(","),function(Jr){Jr=Jr.trim(),Yr[Jr]=Gr[Jr]}),Yr}else return Gr}function br(Gr){return ee(Gr,"href")&&ee(Gr,"href").indexOf("#")>=0}function wr(Gr,Wr){var Qr=Wr||ne(Gr,"hx-swap"),Yr={swapStyle:ae(Gr).boosted?"innerHTML":Q.config.defaultSwapStyle,swapDelay:Q.config.defaultSwapDelay,settleDelay:Q.config.defaultSettleDelay};if(Q.config.scrollIntoViewOnBoost&&ae(Gr).boosted&&!br(Gr)&&(Yr.show="top"),Qr){var Jr=D(Qr);if(Jr.length>0)for(var rn=0;rn<Jr.length;rn++){var ln=Jr[rn];if(ln.indexOf("swap:")===0)Yr.swapDelay=d(ln.substr(5));else if(ln.indexOf("settle:")===0)Yr.settleDelay=d(ln.substr(7));else if(ln.indexOf("transition:")===0)Yr.transition=ln.substr(11)==="true";else if(ln.indexOf("ignoreTitle:")===0)Yr.ignoreTitle=ln.substr(12)==="true";else if(ln.indexOf("scroll:")===0){var mn=ln.substr(7),gn=mn.split(":"),wn=gn.pop(),Cn=gn.length>0?gn.join(":"):null;Yr.scroll=wn,Yr.scrollTarget=Cn}else if(ln.indexOf("show:")===0){var An=ln.substr(5),gn=An.split(":"),Pn=gn.pop(),Cn=gn.length>0?gn.join(":"):null;Yr.show=Pn,Yr.showTarget=Cn}else if(ln.indexOf("focus-scroll:")===0){var jn=ln.substr(13);Yr.focusScroll=jn=="true"}else rn==0?Yr.swapStyle=ln:b("Unknown modifier in hx-swap: "+ln)}}return Yr}function Sr(Gr){return ne(Gr,"hx-encoding")==="multipart/form-data"||h(Gr,"form")&&ee(Gr,"enctype")==="multipart/form-data"}function Er(Gr,Wr,Qr){var Yr=null;return R(Wr,function(Jr){Yr==null&&(Yr=Jr.encodeParameters(Gr,Qr,Wr))}),Yr??(Sr(Wr)?mr(Qr):pr(Qr))}function T(Gr){return{tasks:[],elts:[Gr]}}function Cr(Gr,Wr){var Qr=Gr[0],Yr=Gr[Gr.length-1];if(Wr.scroll){var Jr=null;Wr.scrollTarget&&(Jr=ue(Qr,Wr.scrollTarget)),Wr.scroll==="top"&&(Qr||Jr)&&(Jr=Jr||Qr,Jr.scrollTop=0),Wr.scroll==="bottom"&&(Yr||Jr)&&(Jr=Jr||Yr,Jr.scrollTop=Jr.scrollHeight)}if(Wr.show){var Jr=null;if(Wr.showTarget){var rn=Wr.showTarget;Wr.showTarget==="window"&&(rn="body"),Jr=ue(Qr,rn)}Wr.show==="top"&&(Qr||Jr)&&(Jr=Jr||Qr,Jr.scrollIntoView({block:"start",behavior:Q.config.scrollBehavior})),Wr.show==="bottom"&&(Yr||Jr)&&(Jr=Jr||Yr,Jr.scrollIntoView({block:"end",behavior:Q.config.scrollBehavior}))}}function Rr(Gr,Wr,Qr,Yr){if(Yr==null&&(Yr={}),Gr==null)return Yr;var Jr=te(Gr,Wr);if(Jr){var rn=Jr.trim(),ln=Qr;if(rn==="unset")return null;rn.indexOf("javascript:")===0?(rn=rn.substr(11),ln=!0):rn.indexOf("js:")===0&&(rn=rn.substr(3),ln=!0),rn.indexOf("{")!==0&&(rn="{"+rn+"}");var mn;ln?mn=Tr(Gr,function(){return Function("return ("+rn+")")()},{}):mn=E(rn);for(var gn in mn)mn.hasOwnProperty(gn)&&Yr[gn]==null&&(Yr[gn]=mn[gn])}return Rr(u(Gr),Wr,Qr,Yr)}function Tr(Gr,Wr,Qr){return Q.config.allowEval?Wr():(fe(Gr,"htmx:evalDisallowedError"),Qr)}function Or(Gr,Wr){return Rr(Gr,"hx-vars",!0,Wr)}function qr(Gr,Wr){return Rr(Gr,"hx-vals",!1,Wr)}function Hr(Gr){return le(Or(Gr),qr(Gr))}function Lr(Gr,Wr,Qr){if(Qr!==null)try{Gr.setRequestHeader(Wr,Qr)}catch{Gr.setRequestHeader(Wr,encodeURIComponent(Qr)),Gr.setRequestHeader(Wr+"-URI-AutoEncoded","true")}}function Ar(Gr){if(Gr.responseURL&&typeof URL<"u")try{var Wr=new URL(Gr.responseURL);return Wr.pathname+Wr.search}catch{fe(re().body,"htmx:badResponseUrl",{url:Gr.responseURL})}}function O(Gr,Wr){return Wr.test(Gr.getAllResponseHeaders())}function Nr(Gr,Wr,Qr){return Gr=Gr.toLowerCase(),Qr?Qr instanceof Element||I(Qr,"String")?he(Gr,Wr,null,null,{targetOverride:p(Qr),returnPromise:!0}):he(Gr,Wr,p(Qr.source),Qr.event,{handler:Qr.handler,headers:Qr.headers,values:Qr.values,targetOverride:p(Qr.target),swapOverride:Qr.swap,select:Qr.select,returnPromise:!0}):he(Gr,Wr,null,null,{returnPromise:!0})}function Ir(Gr){for(var Wr=[];Gr;)Wr.push(Gr),Gr=Gr.parentElement;return Wr}function kr(Gr,Wr,Qr){var Yr,Jr;if(typeof URL=="function"){Jr=new URL(Wr,document.location.href);var rn=document.location.origin;Yr=rn===Jr.origin}else Jr=Wr,Yr=g(Wr,document.location.origin);return Q.config.selfRequestsOnly&&!Yr?!1:ce(Gr,"htmx:validateUrl",le({url:Jr,sameHost:Yr},Qr))}function he(Gr,Wr,Qr,Yr,Jr,rn){var ln=null,mn=null;if(Jr=Jr??{},Jr.returnPromise&&typeof Promise<"u")var gn=new Promise(function(pn,En){ln=pn,mn=En});Qr==null&&(Qr=re().body);var wn=Jr.handler||Mr,Cn=Jr.select||null;if(!se(Qr))return ie(ln),gn;var An=Jr.targetOverride||ye(Qr);if(An==null||An==pe)return fe(Qr,"htmx:targetError",{target:te(Qr,"hx-target")}),ie(mn),gn;var Pn=ae(Qr),jn=Pn.lastButtonClicked;if(jn){var zn=ee(jn,"formaction");zn!=null&&(Wr=zn);var Wn=ee(jn,"formmethod");Wn!=null&&Wn.toLowerCase()!=="dialog"&&(Gr=Wn)}var ni=ne(Qr,"hx-confirm");if(rn===void 0){var gi=function(pn){return he(Gr,Wr,Qr,Yr,Jr,!!pn)},ci={target:An,elt:Qr,path:Wr,verb:Gr,triggeringEvent:Yr,etc:Jr,issueRequest:gi,question:ni};if(ce(Qr,"htmx:confirm",ci)===!1)return ie(ln),gn}var ai=Qr,Kn=ne(Qr,"hx-sync"),hi=null,ii=!1;if(Kn){var Ri=Kn.split(":"),di=Ri[0].trim();if(di==="this"?ai=xe(Qr,"hx-sync"):ai=ue(Qr,di),Kn=(Ri[1]||"drop").trim(),Pn=ae(ai),Kn==="drop"&&Pn.xhr&&Pn.abortable!==!0)return ie(ln),gn;if(Kn==="abort"){if(Pn.xhr)return ie(ln),gn;ii=!0}else if(Kn==="replace")ce(ai,"htmx:abort");else if(Kn.indexOf("queue")===0){var ei=Kn.split(" ");hi=(ei[1]||"last").trim()}}if(Pn.xhr)if(Pn.abortable)ce(ai,"htmx:abort");else{if(hi==null){if(Yr){var Tn=ae(Yr);Tn&&Tn.triggerSpec&&Tn.triggerSpec.queue&&(hi=Tn.triggerSpec.queue)}hi==null&&(hi="last")}return Pn.queuedRequests==null&&(Pn.queuedRequests=[]),hi==="first"&&Pn.queuedRequests.length===0?Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)}):hi==="all"?Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)}):hi==="last"&&(Pn.queuedRequests=[],Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)})),ie(ln),gn}var Zr=new XMLHttpRequest;Pn.xhr=Zr,Pn.abortable=ii;var nn=function(){if(Pn.xhr=null,Pn.abortable=!1,Pn.queuedRequests!=null&&Pn.queuedRequests.length>0){var pn=Pn.queuedRequests.shift();pn()}},hn=ne(Qr,"hx-prompt");if(hn){var dn=prompt(hn);if(dn===null||!ce(Qr,"htmx:prompt",{prompt:dn,target:An}))return ie(ln),nn(),gn}if(ni&&!rn&&!confirm(ni))return ie(ln),nn(),gn;var xn=xr(Qr,An,dn);Gr!=="get"&&!Sr(Qr)&&(xn["Content-Type"]="application/x-www-form-urlencoded"),Jr.headers&&(xn=le(xn,Jr.headers));var vn=dr(Qr,Gr),yn=vn.errors,fn=vn.values;Jr.values&&(fn=le(fn,Jr.values));var On=Hr(Qr),Rn=le(fn,On),Dn=yr(Rn,Qr);Q.config.getCacheBusterParam&&Gr==="get"&&(Dn["org.htmx.cache-buster"]=ee(An,"id")||"true"),(Wr==null||Wr==="")&&(Wr=re().location.href);var In=Rr(Qr,"hx-request"),qn=ae(Qr).boosted,Mn=Q.config.methodsThatUseUrlParams.indexOf(Gr)>=0,Ln={boosted:qn,useUrlParams:Mn,parameters:Dn,unfilteredParameters:Rn,headers:xn,target:An,verb:Gr,errors:yn,withCredentials:Jr.credentials||In.credentials||Q.config.withCredentials,timeout:Jr.timeout||In.timeout||Q.config.timeout,path:Wr,triggeringEvent:Yr};if(!ce(Qr,"htmx:configRequest",Ln))return ie(ln),nn(),gn;if(Wr=Ln.path,Gr=Ln.verb,xn=Ln.headers,Dn=Ln.parameters,yn=Ln.errors,Mn=Ln.useUrlParams,yn&&yn.length>0)return ce(Qr,"htmx:validation:halted",Ln),ie(ln),nn(),gn;var Un=Wr.split("#"),Xn=Un[0],Gn=Un[1],tn=Wr;if(Mn){tn=Xn;var an=Object.keys(Dn).length!==0;an&&(tn.indexOf("?")<0?tn+="?":tn+="&",tn+=pr(Dn),Gn&&(tn+="#"+Gn))}if(!kr(Qr,tn,Ln))return fe(Qr,"htmx:invalidPath",Ln),ie(mn),gn;if(Zr.open(Gr.toUpperCase(),tn,!0),Zr.overrideMimeType("text/html"),Zr.withCredentials=Ln.withCredentials,Zr.timeout=Ln.timeout,!In.noHeaders){for(var Kr in xn)if(xn.hasOwnProperty(Kr)){var en=xn[Kr];Lr(Zr,Kr,en)}}var un={xhr:Zr,target:An,requestConfig:Ln,etc:Jr,boosted:qn,select:Cn,pathInfo:{requestPath:Wr,finalRequestPath:tn,anchor:Gn}};if(Zr.onload=function(){try{var pn=Ir(Qr);if(un.pathInfo.responsePath=Ar(Zr),wn(Qr,un),lr(on,cn),ce(Qr,"htmx:afterRequest",un),ce(Qr,"htmx:afterOnLoad",un),!se(Qr)){for(var En=null;pn.length>0&&En==null;){var bn=pn.shift();se(bn)&&(En=bn)}En&&(ce(En,"htmx:afterRequest",un),ce(En,"htmx:afterOnLoad",un))}ie(ln),nn()}catch(Nn){throw fe(Qr,"htmx:onLoadError",le({error:Nn},un)),Nn}},Zr.onerror=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:sendError",un),ie(mn),nn()},Zr.onabort=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:sendAbort",un),ie(mn),nn()},Zr.ontimeout=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:timeout",un),ie(mn),nn()},!ce(Qr,"htmx:beforeRequest",un))return ie(ln),nn(),gn;var on=or(Qr),cn=sr(Qr);oe(["loadstart","loadend","progress","abort"],function(pn){oe([Zr,Zr.upload],function(En){En.addEventListener(pn,function(bn){ce(Qr,"htmx:xhr:"+pn,{lengthComputable:bn.lengthComputable,loaded:bn.loaded,total:bn.total})})})}),ce(Qr,"htmx:beforeSend",un);var sn=Mn?null:Er(Zr,Qr,Dn);return Zr.send(sn),gn}function Pr(Gr,Wr){var Qr=Wr.xhr,Yr=null,Jr=null;if(O(Qr,/HX-Push:/i)?(Yr=Qr.getResponseHeader("HX-Push"),Jr="push"):O(Qr,/HX-Push-Url:/i)?(Yr=Qr.getResponseHeader("HX-Push-Url"),Jr="push"):O(Qr,/HX-Replace-Url:/i)&&(Yr=Qr.getResponseHeader("HX-Replace-Url"),Jr="replace"),Yr)return Yr==="false"?{}:{type:Jr,path:Yr};var rn=Wr.pathInfo.finalRequestPath,ln=Wr.pathInfo.responsePath,mn=ne(Gr,"hx-push-url"),gn=ne(Gr,"hx-replace-url"),wn=ae(Gr).boosted,Cn=null,An=null;return mn?(Cn="push",An=mn):gn?(Cn="replace",An=gn):wn&&(Cn="push",An=ln||rn),An?An==="false"?{}:(An==="true"&&(An=ln||rn),Wr.pathInfo.anchor&&An.indexOf("#")===-1&&(An=An+"#"+Wr.pathInfo.anchor),{type:Cn,path:An}):{}}function Mr(Gr,Wr){var Qr=Wr.xhr,Yr=Wr.target,Jr=Wr.etc,rn=Wr.requestConfig,ln=Wr.select;if(ce(Gr,"htmx:beforeOnLoad",Wr)){if(O(Qr,/HX-Trigger:/i)&&_e(Qr,"HX-Trigger",Gr),O(Qr,/HX-Location:/i)){er();var mn=Qr.getResponseHeader("HX-Location"),gn;mn.indexOf("{")===0&&(gn=E(mn),mn=gn.path,delete gn.path),Nr("GET",mn,gn).then(function(){tr(mn)});return}var wn=O(Qr,/HX-Refresh:/i)&&Qr.getResponseHeader("HX-Refresh")==="true";if(O(Qr,/HX-Redirect:/i)){location.href=Qr.getResponseHeader("HX-Redirect"),wn&&location.reload();return}if(wn){location.reload();return}O(Qr,/HX-Retarget:/i)&&(Qr.getResponseHeader("HX-Retarget")==="this"?Wr.target=Gr:Wr.target=ue(Gr,Qr.getResponseHeader("HX-Retarget")));var Cn=Pr(Gr,Wr),An=Qr.status>=200&&Qr.status<400&&Qr.status!==204,Pn=Qr.response,jn=Qr.status>=400,zn=Q.config.ignoreTitle,Wn=le({shouldSwap:An,serverResponse:Pn,isError:jn,ignoreTitle:zn},Wr);if(ce(Yr,"htmx:beforeSwap",Wn)){if(Yr=Wn.target,Pn=Wn.serverResponse,jn=Wn.isError,zn=Wn.ignoreTitle,Wr.target=Yr,Wr.failed=jn,Wr.successful=!jn,Wn.shouldSwap){Qr.status===286&&at(Gr),R(Gr,function(di){Pn=di.transformResponse(Pn,Qr,Gr)}),Cn.type&&er();var ni=Jr.swapOverride;O(Qr,/HX-Reswap:/i)&&(ni=Qr.getResponseHeader("HX-Reswap"));var gn=wr(Gr,ni);gn.hasOwnProperty("ignoreTitle")&&(zn=gn.ignoreTitle),Yr.classList.add(Q.config.swappingClass);var gi=null,ci=null,ai=function(){try{var di=document.activeElement,ei={};try{ei={elt:di,start:di?di.selectionStart:null,end:di?di.selectionEnd:null}}catch{}var Tn;ln&&(Tn=ln),O(Qr,/HX-Reselect:/i)&&(Tn=Qr.getResponseHeader("HX-Reselect")),Cn.type&&(ce(re().body,"htmx:beforeHistoryUpdate",le({history:Cn},Wr)),Cn.type==="push"?(tr(Cn.path),ce(re().body,"htmx:pushedIntoHistory",{path:Cn.path})):(rr(Cn.path),ce(re().body,"htmx:replacedInHistory",{path:Cn.path})));var Zr=T(Yr);if(je(gn.swapStyle,Yr,Gr,Pn,Zr,Tn),ei.elt&&!se(ei.elt)&&ee(ei.elt,"id")){var nn=document.getElementById(ee(ei.elt,"id")),hn={preventScroll:gn.focusScroll!==void 0?!gn.focusScroll:!Q.config.defaultFocusScroll};if(nn){if(ei.start&&nn.setSelectionRange)try{nn.setSelectionRange(ei.start,ei.end)}catch{}nn.focus(hn)}}if(Yr.classList.remove(Q.config.swappingClass),oe(Zr.elts,function(vn){vn.classList&&vn.classList.add(Q.config.settlingClass),ce(vn,"htmx:afterSwap",Wr)}),O(Qr,/HX-Trigger-After-Swap:/i)){var dn=Gr;se(Gr)||(dn=re().body),_e(Qr,"HX-Trigger-After-Swap",dn)}var xn=function(){if(oe(Zr.tasks,function(On){On.call()}),oe(Zr.elts,function(On){On.classList&&On.classList.remove(Q.config.settlingClass),ce(On,"htmx:afterSettle",Wr)}),Wr.pathInfo.anchor){var vn=re().getElementById(Wr.pathInfo.anchor);vn&&vn.scrollIntoView({block:"start",behavior:"auto"})}if(Zr.title&&!zn){var yn=C("title");yn?yn.innerHTML=Zr.title:window.document.title=Zr.title}if(Cr(Zr.elts,gn),O(Qr,/HX-Trigger-After-Settle:/i)){var fn=Gr;se(Gr)||(fn=re().body),_e(Qr,"HX-Trigger-After-Settle",fn)}ie(gi)};gn.settleDelay>0?setTimeout(xn,gn.settleDelay):xn()}catch(vn){throw fe(Gr,"htmx:swapError",Wr),ie(ci),vn}},Kn=Q.config.globalViewTransitions;if(gn.hasOwnProperty("transition")&&(Kn=gn.transition),Kn&&ce(Gr,"htmx:beforeTransition",Wr)&&typeof Promise<"u"&&document.startViewTransition){var hi=new Promise(function(di,ei){gi=di,ci=ei}),ii=ai;ai=function(){document.startViewTransition(function(){return ii(),hi})}}gn.swapDelay>0?setTimeout(ai,gn.swapDelay):ai()}jn&&fe(Gr,"htmx:responseError",le({error:"Response Status Error Code "+Qr.status+" from "+Wr.pathInfo.requestPath},Wr))}}}var Xr={};function Dr(){return{init:function(Gr){return null},onEvent:function(Gr,Wr){return!0},transformResponse:function(Gr,Wr,Qr){return Gr},isInlineSwap:function(Gr){return!1},handleSwap:function(Gr,Wr,Qr,Yr){return!1},encodeParameters:function(Gr,Wr,Qr){return null}}}function Ur(Gr,Wr){Wr.init&&Wr.init(r),Xr[Gr]=le(Dr(),Wr)}function Br(Gr){delete Xr[Gr]}function Fr(Gr,Wr,Qr){if(Gr==null)return Wr;Wr==null&&(Wr=[]),Qr==null&&(Qr=[]);var Yr=te(Gr,"hx-ext");return Yr&&oe(Yr.split(","),function(Jr){if(Jr=Jr.replace(/ /g,""),Jr.slice(0,7)=="ignore:"){Qr.push(Jr.slice(7));return}if(Qr.indexOf(Jr)<0){var rn=Xr[Jr];rn&&Wr.indexOf(rn)<0&&Wr.push(rn)}}),Fr(u(Gr),Wr,Qr)}var Vr=!1;re().addEventListener("DOMContentLoaded",function(){Vr=!0});function jr(Gr){Vr||re().readyState==="complete"?Gr():re().addEventListener("DOMContentLoaded",Gr)}function _r(){Q.config.includeIndicatorStyles!==!1&&re().head.insertAdjacentHTML("beforeend","<style> ."+Q.config.indicatorClass+"{opacity:0} ."+Q.config.requestClass+" ."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ."+Q.config.requestClass+"."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} </style>")}function zr(){var Gr=re().querySelector('meta[name="htmx-config"]');return Gr?E(Gr.content):null}function $r(){var Gr=zr();Gr&&(Q.config=le(Q.config,Gr))}return jr(function(){$r(),_r();var Gr=re().body;zt(Gr);var Wr=re().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");Gr.addEventListener("htmx:abort",function(Yr){var Jr=Yr.target,rn=ae(Jr);rn&&rn.xhr&&rn.xhr.abort()});let Qr=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(Yr){Yr.state&&Yr.state.htmx?(ar(),oe(Wr,function(Jr){ce(Jr,"htmx:restored",{document:re(),triggerEvent:ce})})):Qr&&Qr(Yr)},setTimeout(function(){ce(Gr,"htmx:load",{}),Gr=null},0)}),Q}()})});var To=Eo((Aa,bo)=>{(function(Gr,Wr){let Qr=Wr(Gr);typeof Aa=="object"&&typeof Aa.nodeName!="string"?bo.exports=Qr:(Gr._hyperscript=Qr,"document"in Gr&&Gr._hyperscript.browserInit())})(typeof self<"u"?self:Aa,Gr=>{"use strict";let Wr={dynamicResolvers:[function(Tn,Zr){if(Tn==="Fixed")return Number(Zr).toFixed();if(Tn.indexOf("Fixed:")===0){let nn=Tn.split(":")[1];return Number(Zr).toFixed(parseInt(nn))}}],String:function(Tn){return Tn.toString?Tn.toString():""+Tn},Int:function(Tn){return parseInt(Tn)},Float:function(Tn){return parseFloat(Tn)},Number:function(Tn){return Number(Tn)},Date:function(Tn){return new Date(Tn)},Array:function(Tn){return Array.from(Tn)},JSON:function(Tn){return JSON.stringify(Tn)},Object:function(Tn){return Tn instanceof String&&(Tn=Tn.toString()),typeof Tn=="string"?JSON.parse(Tn):Object.assign({},Tn)}},Qr={attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",hideShowStrategies:{},conversions:Wr};class Yr{static OP_TABLE={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS","~":"TILDE"};static isValidCSSClassChar(Zr){return Yr.isAlpha(Zr)||Yr.isNumeric(Zr)||Zr==="-"||Zr==="_"||Zr===":"}static isValidCSSIDChar(Zr){return Yr.isAlpha(Zr)||Yr.isNumeric(Zr)||Zr==="-"||Zr==="_"||Zr===":"}static isWhitespace(Zr){return Zr===" "||Zr===" "||Yr.isNewline(Zr)}static positionString(Zr){return"[Line: "+Zr.line+", Column: "+Zr.column+"]"}static isNewline(Zr){return Zr==="\r"||Zr===`
3
-
`}static isNumeric(Zr){return Zr>="0"&&Zr<="9"}static isAlpha(Zr){return Zr>="a"&&Zr<="z"||Zr>="A"&&Zr<="Z"}static isIdentifierChar(Zr,nn){return Zr==="_"||Zr==="$"}static isReservedChar(Zr){return Zr==="`"||Zr==="^"}static isValidSingleQuoteStringStart(Zr){if(Zr.length>0){var nn=Zr[Zr.length-1];if(nn.type==="IDENTIFIER"||nn.type==="CLASS_REF"||nn.type==="ID_REF"||nn.op&&(nn.value===">"||nn.value===")"))return!1}return!0}static tokenize(Zr,nn){var hn=[],dn=Zr,xn=0,vn=0,yn=1,fn="<START>",On=0;function Rn(){return nn&&On===0}for(;xn<dn.length;)if(sn()==="-"&&pn()==="-"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="-")||sn()==="/"&&pn()==="/"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="/"))qn();else if(sn()==="/"&&pn()==="*"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="*"))Mn();else if(Yr.isWhitespace(sn()))hn.push(Hn());else if(!Nn()&&sn()==="."&&(Yr.isAlpha(pn())||pn()==="{"||pn()==="-"))hn.push(Ln());else if(!Nn()&&sn()==="#"&&(Yr.isAlpha(pn())||pn()==="{"))hn.push(tn());else if(sn()==="["&&pn()==="@")hn.push(Un());else if(sn()==="@")hn.push(Xn());else if(sn()==="*"&&Yr.isAlpha(pn()))hn.push(Gn());else if(Rn()&&(Yr.isAlpha(sn())||sn()==="\\"))hn.push(an());else if(!Rn()&&(Yr.isAlpha(sn())||Yr.isIdentifierChar(sn())))hn.push(Kr());else if(Yr.isNumeric(sn()))hn.push(en());else if(!Rn()&&(sn()==='"'||sn()==="`"))hn.push(on());else if(!Rn()&&sn()==="'")Yr.isValidSingleQuoteStringStart(hn)?hn.push(on()):hn.push(un());else if(Yr.OP_TABLE[sn()])fn==="$"&&sn()==="{"&&On++,sn()==="}"&&On--,hn.push(un());else if(Rn()||Yr.isReservedChar(sn()))hn.push(In("RESERVED",bn()));else if(xn<dn.length)throw Error("Unknown token: "+sn()+" ");return new Jr(hn,[],dn);function Dn(kn,Sn){var Bn=In(kn,Sn);return Bn.op=!0,Bn}function In(kn,Sn){return{type:kn,value:Sn||"",start:xn,end:xn+1,column:vn,line:yn}}function qn(){for(;sn()&&!Yr.isNewline(sn());)bn();bn()}function Mn(){for(;sn()&&!(sn()==="*"&&pn()==="/");)bn();bn(),bn()}function Ln(){var kn=In("CLASS_REF"),Sn=bn();if(sn()==="{"){for(kn.template=!0,Sn+=bn();sn()&&sn()!=="}";)Sn+=bn();if(sn()!=="}")throw Error("Unterminated class reference");Sn+=bn()}else for(;Yr.isValidCSSClassChar(sn())||sn()==="\\";)sn()==="\\"&&bn(),Sn+=bn();return kn.value=Sn,kn.end=xn,kn}function Un(){for(var kn=In("ATTRIBUTE_REF"),Sn=bn();xn<dn.length&&sn()!=="]";)Sn+=bn();return sn()==="]"&&(Sn+=bn()),kn.value=Sn,kn.end=xn,kn}function Xn(){for(var kn=In("ATTRIBUTE_REF"),Sn=bn();Yr.isValidCSSIDChar(sn());)Sn+=bn();if(sn()==="="){if(Sn+=bn(),sn()==='"'||sn()==="'"){let Bn=on();Sn+=Bn.value}else if(Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn())){let Bn=Kr();Sn+=Bn.value}}return kn.value=Sn,kn.end=xn,kn}function Gn(){for(var kn=In("STYLE_REF"),Sn=bn();Yr.isAlpha(sn())||sn()==="-";)Sn+=bn();return kn.value=Sn,kn.end=xn,kn}function tn(){var kn=In("ID_REF"),Sn=bn();if(sn()==="{"){for(kn.template=!0,Sn+=bn();sn()&&sn()!=="}";)Sn+=bn();if(sn()!=="}")throw Error("Unterminated id reference");bn()}else for(;Yr.isValidCSSIDChar(sn());)Sn+=bn();return kn.value=Sn,kn.end=xn,kn}function an(){var kn=In("IDENTIFIER"),Sn=bn(),Bn=Sn==="\\";for(Bn&&(Sn="");(Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn())||sn()==="\\"||sn()==="{"||sn()==="}")&&!(sn()==="$"&&Bn===!1);)sn()==="\\"?(Bn=!0,bn()):(Bn=!1,Sn+=bn());return sn()==="!"&&Sn==="beep"&&(Sn+=bn()),kn.value=Sn,kn.end=xn,kn}function Kr(){for(var kn=In("IDENTIFIER"),Sn=bn();Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn());)Sn+=bn();return sn()==="!"&&Sn==="beep"&&(Sn+=bn()),kn.value=Sn,kn.end=xn,kn}function en(){for(var kn=In("NUMBER"),Sn=bn();Yr.isNumeric(sn());)Sn+=bn();for(sn()==="."&&Yr.isNumeric(pn())&&(Sn+=bn());Yr.isNumeric(sn());)Sn+=bn();for((sn()==="e"||sn()==="E")&&(Yr.isNumeric(pn())?Sn+=bn():pn()==="-"&&(Sn+=bn(),Sn+=bn()));Yr.isNumeric(sn());)Sn+=bn();return kn.value=Sn,kn.end=xn,kn}function un(){for(var kn=Dn(),Sn=bn();sn()&&Yr.OP_TABLE[Sn+sn()];)Sn+=bn();return kn.type=Yr.OP_TABLE[Sn],kn.value=Sn,kn.end=xn,kn}function on(){var kn=In("STRING"),Sn=bn();kn.template=Sn==="`";for(var Bn="";sn()&&sn()!==Sn;)if(sn()==="\\"){bn();let _n=bn();if(_n==="b")Bn+="\b";else if(_n==="f")Bn+="\f";else if(_n==="n")Bn+=`
4
-
`;else if(_n==="r")Bn+="\r";else if(_n==="t")Bn+=" ";else if(_n==="v")Bn+="\v";else if(kn.template&&_n==="$")Bn+="\\$";else if(_n==="x"){let ti=cn();if(Number.isNaN(ti))throw Error("Invalid hexadecimal escape at "+Yr.positionString(kn));Bn+=String.fromCharCode(ti)}else Bn+=_n}else Bn+=bn();if(sn()!==Sn)throw Error("Unterminated string at "+Yr.positionString(kn));return bn(),kn.value=Bn,kn.end=xn,kn}function cn(){if(!sn())return NaN;let Sn=16*Number.parseInt(bn(),16);return sn()?(Sn+=Number.parseInt(bn(),16),Sn):NaN}function sn(){return dn.charAt(xn)}function pn(){return dn.charAt(xn+1)}function En(kn=1){return dn.charAt(xn+kn)}function bn(){return fn=sn(),xn++,vn++,fn}function Nn(){return Yr.isAlpha(fn)||Yr.isNumeric(fn)||fn===")"||fn==='"'||fn==="'"||fn==="`"||fn==="}"||fn==="]"}function Hn(){for(var kn=In("WHITESPACE"),Sn="";sn()&&Yr.isWhitespace(sn());)Yr.isNewline(sn())&&(vn=0,yn++),Sn+=bn();return kn.value=Sn,kn.end=xn,kn}}tokenize(Zr,nn){return Yr.tokenize(Zr,nn)}}class Jr{constructor(Zr,nn,hn){this.tokens=Zr,this.consumed=nn,this.source=hn,this.consumeWhitespace()}get list(){return this.tokens}_lastConsumed=null;consumeWhitespace(){for(;this.token(0,!0).type==="WHITESPACE";)this.consumed.push(this.tokens.shift())}raiseError(Zr,nn){rn.raiseParseError(Zr,nn)}requireOpToken(Zr){var nn=this.matchOpToken(Zr);if(nn)return nn;this.raiseError(this,"Expected '"+Zr+"' but found '"+this.currentToken().value+"'")}matchAnyOpToken(Zr,nn,hn){for(var dn=0;dn<arguments.length;dn++){var xn=arguments[dn],vn=this.matchOpToken(xn);if(vn)return vn}}matchAnyToken(Zr,nn,hn){for(var dn=0;dn<arguments.length;dn++){var xn=arguments[dn],vn=this.matchToken(xn);if(vn)return vn}}matchOpToken(Zr){if(this.currentToken()&&this.currentToken().op&&this.currentToken().value===Zr)return this.consumeToken()}requireTokenType(Zr,nn,hn,dn){var xn=this.matchTokenType(Zr,nn,hn,dn);if(xn)return xn;this.raiseError(this,"Expected one of "+JSON.stringify([Zr,nn,hn]))}matchTokenType(Zr,nn,hn,dn){if(this.currentToken()&&this.currentToken().type&&[Zr,nn,hn,dn].indexOf(this.currentToken().type)>=0)return this.consumeToken()}requireToken(Zr,nn){var hn=this.matchToken(Zr,nn);if(hn)return hn;this.raiseError(this,"Expected '"+Zr+"' but found '"+this.currentToken().value+"'")}peekToken(Zr,nn,hn){if(nn=nn||0,hn=hn||"IDENTIFIER",this.tokens[nn]&&this.tokens[nn].value===Zr&&this.tokens[nn].type===hn)return this.tokens[nn]}matchToken(Zr,nn){if(this.follows.indexOf(Zr)===-1&&(nn=nn||"IDENTIFIER",this.currentToken()&&this.currentToken().value===Zr&&this.currentToken().type===nn))return this.consumeToken()}consumeToken(){var Zr=this.tokens.shift();return this.consumed.push(Zr),this._lastConsumed=Zr,this.consumeWhitespace(),Zr}consumeUntil(Zr,nn){for(var hn=[],dn=this.token(0,!0);(nn==null||dn.type!==nn)&&(Zr==null||dn.value!==Zr)&&dn.type!=="EOF";){var xn=this.tokens.shift();this.consumed.push(xn),hn.push(dn),dn=this.token(0,!0)}return this.consumeWhitespace(),hn}lastWhitespace(){return this.consumed[this.consumed.length-1]&&this.consumed[this.consumed.length-1].type==="WHITESPACE"?this.consumed[this.consumed.length-1].value:""}consumeUntilWhitespace(){return this.consumeUntil(null,"WHITESPACE")}hasMore(){return this.tokens.length>0}token(Zr,nn){var hn,dn=0;do{if(!nn)for(;this.tokens[dn]&&this.tokens[dn].type==="WHITESPACE";)dn++;hn=this.tokens[dn],Zr--,dn++}while(Zr>-1);return hn||{type:"EOF",value:"<<<EOF>>>"}}currentToken(){return this.token(0)}lastMatch(){return this._lastConsumed}static sourceFor=function(){return this.programSource.substring(this.startToken.start,this.endToken.end)};static lineFor=function(){return this.programSource.split(`
5
-
`)[this.startToken.line-1]};follows=[];pushFollow(Zr){this.follows.push(Zr)}popFollow(){this.follows.pop()}clearFollows(){var Zr=this.follows;return this.follows=[],Zr}restoreFollows(Zr){this.follows=Zr}}class rn{constructor(Zr){this.runtime=Zr,this.possessivesDisabled=!1,this.addGrammarElement("feature",function(nn,hn,dn){if(dn.matchOpToken("(")){var xn=nn.requireElement("feature",dn);return dn.requireOpToken(")"),xn}var vn=nn.FEATURES[dn.currentToken().value||""];if(vn)return vn(nn,hn,dn)}),this.addGrammarElement("command",function(nn,hn,dn){if(dn.matchOpToken("(")){let yn=nn.requireElement("command",dn);return dn.requireOpToken(")"),yn}var xn=nn.COMMANDS[dn.currentToken().value||""];let vn;return xn?vn=xn(nn,hn,dn):dn.currentToken().type==="IDENTIFIER"&&(vn=nn.parseElement("pseudoCommand",dn)),vn&&nn.parseElement("indirectStatement",dn,vn)}),this.addGrammarElement("commandList",function(nn,hn,dn){if(dn.hasMore()){var xn=nn.parseElement("command",dn);if(xn){dn.matchToken("then");let vn=nn.parseElement("commandList",dn);return vn&&(xn.next=vn),xn}}return{type:"emptyCommandListCommand",op:function(vn){return hn.findNext(this,vn)},execute:function(vn){return hn.unifiedExec(this,vn)}}}),this.addGrammarElement("leaf",function(nn,hn,dn){var xn=nn.parseAnyOf(nn.LEAF_EXPRESSIONS,dn);return xn??nn.parseElement("symbol",dn)}),this.addGrammarElement("indirectExpression",function(nn,hn,dn,xn){for(var vn=0;vn<nn.INDIRECT_EXPRESSIONS.length;vn++){var yn=nn.INDIRECT_EXPRESSIONS[vn];xn.endToken=dn.lastMatch();var fn=nn.parseElement(yn,dn,xn);if(fn)return fn}return xn}),this.addGrammarElement("indirectStatement",function(nn,hn,dn,xn){if(dn.matchToken("unless")){xn.endToken=dn.lastMatch();var vn=nn.requireElement("expression",dn),yn={type:"unlessStatementModifier",args:[vn],op:function(fn,On){return On?this.next:xn},execute:function(fn){return hn.unifiedExec(this,fn)}};return xn.parent=yn,yn}return xn}),this.addGrammarElement("primaryExpression",function(nn,hn,dn){var xn=nn.parseElement("leaf",dn);if(xn)return nn.parseElement("indirectExpression",dn,xn);nn.raiseParseError(dn,"Unexpected value: "+dn.currentToken().value)})}use(Zr){return Zr(this),this}GRAMMAR={};COMMANDS={};FEATURES={};LEAF_EXPRESSIONS=[];INDIRECT_EXPRESSIONS=[];initElt(Zr,nn,hn){Zr.startToken=nn,Zr.sourceFor=Jr.sourceFor,Zr.lineFor=Jr.lineFor,Zr.programSource=hn.source}parseElement(Zr,nn,hn=void 0){var dn=this.GRAMMAR[Zr];if(dn){var xn=nn.currentToken(),vn=dn(this,this.runtime,nn,hn);if(vn){this.initElt(vn,xn,nn),vn.endToken=vn.endToken||nn.lastMatch();for(var hn=vn.root;hn!=null;)this.initElt(hn,xn,nn),hn=hn.root}return vn}}requireElement(Zr,nn,hn,dn){var xn=this.parseElement(Zr,nn,dn);return xn||rn.raiseParseError(nn,hn||"Expected "+Zr),xn}parseAnyOf(Zr,nn){for(var hn=0;hn<Zr.length;hn++){var dn=Zr[hn],xn=this.parseElement(dn,nn);if(xn)return xn}}addGrammarElement(Zr,nn){this.GRAMMAR[Zr]=nn}addCommand(Zr,nn){var hn=Zr+"Command",dn=function(xn,vn,yn){let fn=nn(xn,vn,yn);if(fn)return fn.type=hn,fn.execute=function(On){return On.meta.command=fn,vn.unifiedExec(this,On)},fn};this.GRAMMAR[hn]=dn,this.COMMANDS[Zr]=dn}addFeature(Zr,nn){var hn=Zr+"Feature",dn=function(xn,vn,yn){var fn=nn(xn,vn,yn);if(fn)return fn.isFeature=!0,fn.keyword=Zr,fn.type=hn,fn};this.GRAMMAR[hn]=dn,this.FEATURES[Zr]=dn}addLeafExpression(Zr,nn){this.LEAF_EXPRESSIONS.push(Zr),this.addGrammarElement(Zr,nn)}addIndirectExpression(Zr,nn){this.INDIRECT_EXPRESSIONS.push(Zr),this.addGrammarElement(Zr,nn)}static createParserContext(Zr){var nn=Zr.currentToken(),hn=Zr.source,dn=hn.split(`
6
-
`),xn=nn&&nn.line?nn.line-1:dn.length-1,vn=dn[xn],yn=nn&&nn.line?nn.column:vn.length-1;return vn+`
1
+
var Zo=Object.create;var Ya=Object.defineProperty;var es=Object.getOwnPropertyDescriptor;var ts=Object.getOwnPropertyNames;var rs=Object.getPrototypeOf,ns=Object.prototype.hasOwnProperty;var To=(Gr,Wr)=>()=>(Wr||Gr((Wr={exports:{}}).exports,Wr),Wr.exports),is=(Gr,Wr)=>{for(var Qr in Wr)Ya(Gr,Qr,{get:Wr[Qr],enumerable:!0})},as=(Gr,Wr,Qr,Yr)=>{if(Wr&&typeof Wr=="object"||typeof Wr=="function")for(let Jr of ts(Wr))!ns.call(Gr,Jr)&&Jr!==Qr&&Ya(Gr,Jr,{get:()=>Wr[Jr],enumerable:!(Yr=es(Wr,Jr))||Yr.enumerable});return Gr};var ca=(Gr,Wr,Qr)=>(Qr=Gr!=null?Zo(rs(Gr)):{},as(Wr||!Gr||!Gr.__esModule?Ya(Qr,"default",{value:Gr,enumerable:!0}):Qr,Gr));var Oa=To((exports,module)=>{(function(Gr,Wr){typeof define=="function"&&define.amd?define([],Wr):typeof module=="object"&&module.exports?module.exports=Wr():Gr.htmx=Gr.htmx||Wr()})(typeof self<"u"?self:exports,function(){return function(){"use strict";var Q={onLoad:F,process:zt,on:de,off:ge,trigger:ce,ajax:Nr,find:C,findAll:f,closest:v,values:function(Gr,Wr){var Qr=dr(Gr,Wr||"post");return Qr.values},remove:_,addClass:z,removeClass:n,toggleClass:$,takeClass:W,defineExtension:Ur,removeExtension:Br,logAll:V,logNone:j,logger:null,config:{historyEnabled:!0,historyCacheSize:10,refreshOnHistoryMiss:!1,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:!0,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:!0,allowScriptTags:!0,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:!1,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:!1,scrollBehavior:"smooth",defaultFocusScroll:!1,getCacheBusterParam:!1,globalViewTransitions:!1,methodsThatUseUrlParams:["get"],selfRequestsOnly:!1,ignoreTitle:!1,scrollIntoViewOnBoost:!0,triggerSpecsCache:null},parseInterval:d,_:t,createEventSource:function(Gr){return new EventSource(Gr,{withCredentials:!0})},createWebSocket:function(Gr){var Wr=new WebSocket(Gr,[]);return Wr.binaryType=Q.config.wsBinaryType,Wr},version:"1.9.12"},r={addTriggerHandler:Lt,bodyContains:se,canAccessLocalStorage:U,findThisElement:xe,filterValues:yr,hasAttribute:o,getAttributeValue:te,getClosestAttributeValue:ne,getClosestMatch:c,getExpressionVars:Hr,getHeaders:xr,getInputValues:dr,getInternalData:ae,getSwapSpecification:wr,getTriggerSpecs:it,getTarget:ye,makeFragment:l,mergeObjects:le,makeSettleInfo:T,oobSwap:Ee,querySelectorExt:ue,selectAndSwap:je,settleImmediately:nr,shouldCancel:ut,triggerEvent:ce,triggerErrorEvent:fe,withExtensions:R},w=["get","post","put","delete","patch"],i=w.map(function(Gr){return"[hx-"+Gr+"], [data-hx-"+Gr+"]"}).join(", "),S=e("head"),q=e("title"),H=e("svg",!0);function e(Gr,Wr){return new RegExp("<"+Gr+"(\\s[^>]*>|>)([\\s\\S]*?)<\\/"+Gr+">",Wr?"gim":"im")}function d(Gr){if(Gr==null)return;let Wr=NaN;return Gr.slice(-2)=="ms"?Wr=parseFloat(Gr.slice(0,-2)):Gr.slice(-1)=="s"?Wr=parseFloat(Gr.slice(0,-1))*1e3:Gr.slice(-1)=="m"?Wr=parseFloat(Gr.slice(0,-1))*1e3*60:Wr=parseFloat(Gr),isNaN(Wr)?void 0:Wr}function ee(Gr,Wr){return Gr.getAttribute&&Gr.getAttribute(Wr)}function o(Gr,Wr){return Gr.hasAttribute&&(Gr.hasAttribute(Wr)||Gr.hasAttribute("data-"+Wr))}function te(Gr,Wr){return ee(Gr,Wr)||ee(Gr,"data-"+Wr)}function u(Gr){return Gr.parentElement}function re(){return document}function c(Gr,Wr){for(;Gr&&!Wr(Gr);)Gr=u(Gr);return Gr||null}function L(Gr,Wr,Qr){var Yr=te(Wr,Qr),Jr=te(Wr,"hx-disinherit");return Gr!==Wr&&Jr&&(Jr==="*"||Jr.split(" ").indexOf(Qr)>=0)?"unset":Yr}function ne(Gr,Wr){var Qr=null;if(c(Gr,function(Yr){return Qr=L(Gr,Yr,Wr)}),Qr!=="unset")return Qr}function h(Gr,Wr){var Qr=Gr.matches||Gr.matchesSelector||Gr.msMatchesSelector||Gr.mozMatchesSelector||Gr.webkitMatchesSelector||Gr.oMatchesSelector;return Qr&&Qr.call(Gr,Wr)}function A(Gr){var Wr=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Qr=Wr.exec(Gr);return Qr?Qr[1].toLowerCase():""}function s(Gr,Wr){for(var Qr=new DOMParser,Yr=Qr.parseFromString(Gr,"text/html"),Jr=Yr.body;Wr>0;)Wr--,Jr=Jr.firstChild;return Jr==null&&(Jr=re().createDocumentFragment()),Jr}function N(Gr){return/<body/.test(Gr)}function l(Gr){var Wr=!N(Gr),Qr=A(Gr),Yr=Gr;if(Qr==="head"&&(Yr=Yr.replace(S,"")),Q.config.useTemplateFragments&&Wr){var Jr=s("<body><template>"+Yr+"</template></body>",0),rn=Jr.querySelector("template").content;return Q.config.allowScriptTags?oe(rn.querySelectorAll("script"),function(ln){Q.config.inlineScriptNonce&&(ln.nonce=Q.config.inlineScriptNonce),ln.htmxExecuted=navigator.userAgent.indexOf("Firefox")===-1}):oe(rn.querySelectorAll("script"),function(ln){_(ln)}),rn}switch(Qr){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return s("<table>"+Yr+"</table>",1);case"col":return s("<table><colgroup>"+Yr+"</colgroup></table>",2);case"tr":return s("<table><tbody>"+Yr+"</tbody></table>",2);case"td":case"th":return s("<table><tbody><tr>"+Yr+"</tr></tbody></table>",3);case"script":case"style":return s("<div>"+Yr+"</div>",1);default:return s(Yr,0)}}function ie(Gr){Gr&&Gr()}function I(Gr,Wr){return Object.prototype.toString.call(Gr)==="[object "+Wr+"]"}function k(Gr){return I(Gr,"Function")}function P(Gr){return I(Gr,"Object")}function ae(Gr){var Wr="htmx-internal-data",Qr=Gr[Wr];return Qr||(Qr=Gr[Wr]={}),Qr}function M(Gr){var Wr=[];if(Gr)for(var Qr=0;Qr<Gr.length;Qr++)Wr.push(Gr[Qr]);return Wr}function oe(Gr,Wr){if(Gr)for(var Qr=0;Qr<Gr.length;Qr++)Wr(Gr[Qr])}function X(Gr){var Wr=Gr.getBoundingClientRect(),Qr=Wr.top,Yr=Wr.bottom;return Qr<window.innerHeight&&Yr>=0}function se(Gr){return Gr.getRootNode&&Gr.getRootNode()instanceof window.ShadowRoot?re().body.contains(Gr.getRootNode().host):re().body.contains(Gr)}function D(Gr){return Gr.trim().split(/\s+/)}function le(Gr,Wr){for(var Qr in Wr)Wr.hasOwnProperty(Qr)&&(Gr[Qr]=Wr[Qr]);return Gr}function E(Gr){try{return JSON.parse(Gr)}catch(Wr){return b(Wr),null}}function U(){var Gr="htmx:localStorageTest";try{return localStorage.setItem(Gr,Gr),localStorage.removeItem(Gr),!0}catch{return!1}}function B(Gr){try{var Wr=new URL(Gr);return Wr&&(Gr=Wr.pathname+Wr.search),/^\/$/.test(Gr)||(Gr=Gr.replace(/\/+$/,"")),Gr}catch{return Gr}}function t(e){return Tr(re().body,function(){return eval(e)})}function F(Gr){var Wr=Q.on("htmx:load",function(Qr){Gr(Qr.detail.elt)});return Wr}function V(){Q.logger=function(Gr,Wr,Qr){console&&console.log(Wr,Gr,Qr)}}function j(){Q.logger=null}function C(Gr,Wr){return Wr?Gr.querySelector(Wr):C(re(),Gr)}function f(Gr,Wr){return Wr?Gr.querySelectorAll(Wr):f(re(),Gr)}function _(Gr,Wr){Gr=p(Gr),Wr?setTimeout(function(){_(Gr),Gr=null},Wr):Gr.parentElement.removeChild(Gr)}function z(Gr,Wr,Qr){Gr=p(Gr),Qr?setTimeout(function(){z(Gr,Wr),Gr=null},Qr):Gr.classList&&Gr.classList.add(Wr)}function n(Gr,Wr,Qr){Gr=p(Gr),Qr?setTimeout(function(){n(Gr,Wr),Gr=null},Qr):Gr.classList&&(Gr.classList.remove(Wr),Gr.classList.length===0&&Gr.removeAttribute("class"))}function $(Gr,Wr){Gr=p(Gr),Gr.classList.toggle(Wr)}function W(Gr,Wr){Gr=p(Gr),oe(Gr.parentElement.children,function(Qr){n(Qr,Wr)}),z(Gr,Wr)}function v(Gr,Wr){if(Gr=p(Gr),Gr.closest)return Gr.closest(Wr);do if(Gr==null||h(Gr,Wr))return Gr;while(Gr=Gr&&u(Gr));return null}function g(Gr,Wr){return Gr.substring(0,Wr.length)===Wr}function G(Gr,Wr){return Gr.substring(Gr.length-Wr.length)===Wr}function J(Gr){var Wr=Gr.trim();return g(Wr,"<")&&G(Wr,"/>")?Wr.substring(1,Wr.length-2):Wr}function Z(Gr,Wr){return Wr.indexOf("closest ")===0?[v(Gr,J(Wr.substr(8)))]:Wr.indexOf("find ")===0?[C(Gr,J(Wr.substr(5)))]:Wr==="next"?[Gr.nextElementSibling]:Wr.indexOf("next ")===0?[K(Gr,J(Wr.substr(5)))]:Wr==="previous"?[Gr.previousElementSibling]:Wr.indexOf("previous ")===0?[Y(Gr,J(Wr.substr(9)))]:Wr==="document"?[document]:Wr==="window"?[window]:Wr==="body"?[document.body]:re().querySelectorAll(J(Wr))}var K=function(Gr,Wr){for(var Qr=re().querySelectorAll(Wr),Yr=0;Yr<Qr.length;Yr++){var Jr=Qr[Yr];if(Jr.compareDocumentPosition(Gr)===Node.DOCUMENT_POSITION_PRECEDING)return Jr}},Y=function(Gr,Wr){for(var Qr=re().querySelectorAll(Wr),Yr=Qr.length-1;Yr>=0;Yr--){var Jr=Qr[Yr];if(Jr.compareDocumentPosition(Gr)===Node.DOCUMENT_POSITION_FOLLOWING)return Jr}};function ue(Gr,Wr){return Wr?Z(Gr,Wr)[0]:Z(re().body,Gr)[0]}function p(Gr){return I(Gr,"String")?C(Gr):Gr}function ve(Gr,Wr,Qr){return k(Wr)?{target:re().body,event:Gr,listener:Wr}:{target:p(Gr),event:Wr,listener:Qr}}function de(Gr,Wr,Qr){jr(function(){var Jr=ve(Gr,Wr,Qr);Jr.target.addEventListener(Jr.event,Jr.listener)});var Yr=k(Wr);return Yr?Wr:Qr}function ge(Gr,Wr,Qr){return jr(function(){var Yr=ve(Gr,Wr,Qr);Yr.target.removeEventListener(Yr.event,Yr.listener)}),k(Wr)?Wr:Qr}var pe=re().createElement("output");function me(Gr,Wr){var Qr=ne(Gr,Wr);if(Qr){if(Qr==="this")return[xe(Gr,Wr)];var Yr=Z(Gr,Qr);return Yr.length===0?(b('The selector "'+Qr+'" on '+Wr+" returned no matches!"),[pe]):Yr}}function xe(Gr,Wr){return c(Gr,function(Qr){return te(Qr,Wr)!=null})}function ye(Gr){var Wr=ne(Gr,"hx-target");if(Wr)return Wr==="this"?xe(Gr,"hx-target"):ue(Gr,Wr);var Qr=ae(Gr);return Qr.boosted?re().body:Gr}function be(Gr){for(var Wr=Q.config.attributesToSettle,Qr=0;Qr<Wr.length;Qr++)if(Gr===Wr[Qr])return!0;return!1}function we(Gr,Wr){oe(Gr.attributes,function(Qr){!Wr.hasAttribute(Qr.name)&&be(Qr.name)&&Gr.removeAttribute(Qr.name)}),oe(Wr.attributes,function(Qr){be(Qr.name)&&Gr.setAttribute(Qr.name,Qr.value)})}function Se(Gr,Wr){for(var Qr=Fr(Wr),Yr=0;Yr<Qr.length;Yr++){var Jr=Qr[Yr];try{if(Jr.isInlineSwap(Gr))return!0}catch(rn){b(rn)}}return Gr==="outerHTML"}function Ee(Gr,Wr,Qr){var Yr="#"+ee(Wr,"id"),Jr="outerHTML";Gr==="true"||(Gr.indexOf(":")>0?(Jr=Gr.substr(0,Gr.indexOf(":")),Yr=Gr.substr(Gr.indexOf(":")+1,Gr.length)):Jr=Gr);var rn=re().querySelectorAll(Yr);return rn?(oe(rn,function(ln){var mn,gn=Wr.cloneNode(!0);mn=re().createDocumentFragment(),mn.appendChild(gn),Se(Jr,ln)||(mn=gn);var xn={shouldSwap:!0,target:ln,fragment:mn};ce(ln,"htmx:oobBeforeSwap",xn)&&(ln=xn.target,xn.shouldSwap&&Fe(Jr,ln,ln,mn,Qr),oe(Qr.elts,function(Cn){ce(Cn,"htmx:oobAfterSwap",xn)}))}),Wr.parentNode.removeChild(Wr)):(Wr.parentNode.removeChild(Wr),fe(re().body,"htmx:oobErrorNoTarget",{content:Wr})),Gr}function Ce(Gr,Wr,Qr){var Yr=ne(Gr,"hx-select-oob");if(Yr)for(var Jr=Yr.split(","),rn=0;rn<Jr.length;rn++){var ln=Jr[rn].split(":",2),mn=ln[0].trim();mn.indexOf("#")===0&&(mn=mn.substring(1));var gn=ln[1]||"true",xn=Wr.querySelector("#"+mn);xn&&Ee(gn,xn,Qr)}oe(f(Wr,"[hx-swap-oob], [data-hx-swap-oob]"),function(Cn){var On=te(Cn,"hx-swap-oob");On!=null&&Ee(On,Cn,Qr)})}function Re(Gr){oe(f(Gr,"[hx-preserve], [data-hx-preserve]"),function(Wr){var Qr=te(Wr,"id"),Yr=re().getElementById(Qr);Yr!=null&&Wr.parentNode.replaceChild(Yr,Wr)})}function Te(Gr,Wr,Qr){oe(Wr.querySelectorAll("[id]"),function(Yr){var Jr=ee(Yr,"id");if(Jr&&Jr.length>0){var rn=Jr.replace("'","\\'"),ln=Yr.tagName.replace(":","\\:"),mn=Gr.querySelector(ln+"[id='"+rn+"']");if(mn&&mn!==Gr){var gn=Yr.cloneNode();we(Yr,mn),Qr.tasks.push(function(){we(Yr,gn)})}}})}function Oe(Gr){return function(){n(Gr,Q.config.addedClass),zt(Gr),Nt(Gr),qe(Gr),ce(Gr,"htmx:load")}}function qe(Gr){var Wr="[autofocus]",Qr=h(Gr,Wr)?Gr:Gr.querySelector(Wr);Qr?.focus()}function a(Gr,Wr,Qr,Yr){for(Te(Gr,Qr,Yr);Qr.childNodes.length>0;){var Jr=Qr.firstChild;z(Jr,Q.config.addedClass),Gr.insertBefore(Jr,Wr),Jr.nodeType!==Node.TEXT_NODE&&Jr.nodeType!==Node.COMMENT_NODE&&Yr.tasks.push(Oe(Jr))}}function He(Gr,Wr){for(var Qr=0;Qr<Gr.length;)Wr=(Wr<<5)-Wr+Gr.charCodeAt(Qr++)|0;return Wr}function Le(Gr){var Wr=0;if(Gr.attributes)for(var Qr=0;Qr<Gr.attributes.length;Qr++){var Yr=Gr.attributes[Qr];Yr.value&&(Wr=He(Yr.name,Wr),Wr=He(Yr.value,Wr))}return Wr}function Ae(Gr){var Wr=ae(Gr);if(Wr.onHandlers){for(var Qr=0;Qr<Wr.onHandlers.length;Qr++){let Yr=Wr.onHandlers[Qr];Gr.removeEventListener(Yr.event,Yr.listener)}delete Wr.onHandlers}}function Ne(Gr){var Wr=ae(Gr);Wr.timeout&&clearTimeout(Wr.timeout),Wr.webSocket&&Wr.webSocket.close(),Wr.sseEventSource&&Wr.sseEventSource.close(),Wr.listenerInfos&&oe(Wr.listenerInfos,function(Qr){Qr.on&&Qr.on.removeEventListener(Qr.trigger,Qr.listener)}),Ae(Gr),oe(Object.keys(Wr),function(Qr){delete Wr[Qr]})}function m(Gr){ce(Gr,"htmx:beforeCleanupElement"),Ne(Gr),Gr.children&&oe(Gr.children,function(Wr){m(Wr)})}function Ie(Gr,Wr,Qr){if(Gr.tagName==="BODY")return Ue(Gr,Wr,Qr);var Yr,Jr=Gr.previousSibling;for(a(u(Gr),Gr,Wr,Qr),Jr==null?Yr=u(Gr).firstChild:Yr=Jr.nextSibling,Qr.elts=Qr.elts.filter(function(rn){return rn!=Gr});Yr&&Yr!==Gr;)Yr.nodeType===Node.ELEMENT_NODE&&Qr.elts.push(Yr),Yr=Yr.nextElementSibling;m(Gr),u(Gr).removeChild(Gr)}function ke(Gr,Wr,Qr){return a(Gr,Gr.firstChild,Wr,Qr)}function Pe(Gr,Wr,Qr){return a(u(Gr),Gr,Wr,Qr)}function Me(Gr,Wr,Qr){return a(Gr,null,Wr,Qr)}function Xe(Gr,Wr,Qr){return a(u(Gr),Gr.nextSibling,Wr,Qr)}function De(Gr,Wr,Qr){return m(Gr),u(Gr).removeChild(Gr)}function Ue(Gr,Wr,Qr){var Yr=Gr.firstChild;if(a(Gr,Yr,Wr,Qr),Yr){for(;Yr.nextSibling;)m(Yr.nextSibling),Gr.removeChild(Yr.nextSibling);m(Yr),Gr.removeChild(Yr)}}function Be(Gr,Wr,Qr){var Yr=Qr||ne(Gr,"hx-select");if(Yr){var Jr=re().createDocumentFragment();oe(Wr.querySelectorAll(Yr),function(rn){Jr.appendChild(rn)}),Wr=Jr}return Wr}function Fe(Gr,Wr,Qr,Yr,Jr){switch(Gr){case"none":return;case"outerHTML":Ie(Qr,Yr,Jr);return;case"afterbegin":ke(Qr,Yr,Jr);return;case"beforebegin":Pe(Qr,Yr,Jr);return;case"beforeend":Me(Qr,Yr,Jr);return;case"afterend":Xe(Qr,Yr,Jr);return;case"delete":De(Qr,Yr,Jr);return;default:for(var rn=Fr(Wr),ln=0;ln<rn.length;ln++){var mn=rn[ln];try{var gn=mn.handleSwap(Gr,Qr,Yr,Jr);if(gn){if(typeof gn.length<"u")for(var xn=0;xn<gn.length;xn++){var Cn=gn[xn];Cn.nodeType!==Node.TEXT_NODE&&Cn.nodeType!==Node.COMMENT_NODE&&Jr.tasks.push(Oe(Cn))}return}}catch(On){b(On)}}Gr==="innerHTML"?Ue(Qr,Yr,Jr):Fe(Q.config.defaultSwapStyle,Wr,Qr,Yr,Jr)}}function Ve(Gr){if(Gr.indexOf("<title")>-1){var Wr=Gr.replace(H,""),Qr=Wr.match(q);if(Qr)return Qr[2]}}function je(Gr,Wr,Qr,Yr,Jr,rn){Jr.title=Ve(Yr);var ln=l(Yr);if(ln)return Ce(Qr,ln,Jr),ln=Be(Qr,ln,rn),Re(ln),Fe(Gr,Qr,Wr,ln,Jr)}function _e(Gr,Wr,Qr){var Yr=Gr.getResponseHeader(Wr);if(Yr.indexOf("{")===0){var Jr=E(Yr);for(var rn in Jr)if(Jr.hasOwnProperty(rn)){var ln=Jr[rn];P(ln)||(ln={value:ln}),ce(Qr,rn,ln)}}else for(var mn=Yr.split(","),gn=0;gn<mn.length;gn++)ce(Qr,mn[gn].trim(),[])}var ze=/\s/,x=/[\s,]/,$e=/[_$a-zA-Z]/,We=/[_$a-zA-Z0-9]/,Ge=['"',"'","/"],Je=/[^\s]/,Ze=/[{(]/,Ke=/[})]/;function Ye(Gr){for(var Wr=[],Qr=0;Qr<Gr.length;){if($e.exec(Gr.charAt(Qr))){for(var Yr=Qr;We.exec(Gr.charAt(Qr+1));)Qr++;Wr.push(Gr.substr(Yr,Qr-Yr+1))}else if(Ge.indexOf(Gr.charAt(Qr))!==-1){var Jr=Gr.charAt(Qr),Yr=Qr;for(Qr++;Qr<Gr.length&&Gr.charAt(Qr)!==Jr;)Gr.charAt(Qr)==="\\"&&Qr++,Qr++;Wr.push(Gr.substr(Yr,Qr-Yr+1))}else{var rn=Gr.charAt(Qr);Wr.push(rn)}Qr++}return Wr}function Qe(Gr,Wr,Qr){return $e.exec(Gr.charAt(0))&&Gr!=="true"&&Gr!=="false"&&Gr!=="this"&&Gr!==Qr&&Wr!=="."}function et(Gr,Wr,Qr){if(Wr[0]==="["){Wr.shift();for(var Yr=1,Jr=" return (function("+Qr+"){ return (",rn=null;Wr.length>0;){var ln=Wr[0];if(ln==="]"){if(Yr--,Yr===0){rn===null&&(Jr=Jr+"true"),Wr.shift(),Jr+=")})";try{var mn=Tr(Gr,function(){return Function(Jr)()},function(){return!0});return mn.source=Jr,mn}catch(gn){return fe(re().body,"htmx:syntax:error",{error:gn,source:Jr}),null}}}else ln==="["&&Yr++;Qe(ln,rn,Qr)?Jr+="(("+Qr+"."+ln+") ? ("+Qr+"."+ln+") : (window."+ln+"))":Jr=Jr+ln,rn=Wr.shift()}}}function y(Gr,Wr){for(var Qr="";Gr.length>0&&!Wr.test(Gr[0]);)Qr+=Gr.shift();return Qr}function tt(Gr){var Wr;return Gr.length>0&&Ze.test(Gr[0])?(Gr.shift(),Wr=y(Gr,Ke).trim(),Gr.shift()):Wr=y(Gr,x),Wr}var rt="input, textarea, select";function nt(Gr,Wr,Qr){var Yr=[],Jr=Ye(Wr);do{y(Jr,Je);var rn=Jr.length,ln=y(Jr,/[,\[\s]/);if(ln!=="")if(ln==="every"){var mn={trigger:"every"};y(Jr,Je),mn.pollInterval=d(y(Jr,/[,\[\s]/)),y(Jr,Je);var gn=et(Gr,Jr,"event");gn&&(mn.eventFilter=gn),Yr.push(mn)}else if(ln.indexOf("sse:")===0)Yr.push({trigger:"sse",sseEvent:ln.substr(4)});else{var xn={trigger:ln},gn=et(Gr,Jr,"event");for(gn&&(xn.eventFilter=gn);Jr.length>0&&Jr[0]!==",";){y(Jr,Je);var Cn=Jr.shift();if(Cn==="changed")xn.changed=!0;else if(Cn==="once")xn.once=!0;else if(Cn==="consume")xn.consume=!0;else if(Cn==="delay"&&Jr[0]===":")Jr.shift(),xn.delay=d(y(Jr,x));else if(Cn==="from"&&Jr[0]===":"){if(Jr.shift(),Ze.test(Jr[0]))var On=tt(Jr);else{var On=y(Jr,x);if(On==="closest"||On==="find"||On==="next"||On==="previous"){Jr.shift();var Pn=tt(Jr);Pn.length>0&&(On+=" "+Pn)}}xn.from=On}else Cn==="target"&&Jr[0]===":"?(Jr.shift(),xn.target=tt(Jr)):Cn==="throttle"&&Jr[0]===":"?(Jr.shift(),xn.throttle=d(y(Jr,x))):Cn==="queue"&&Jr[0]===":"?(Jr.shift(),xn.queue=y(Jr,x)):Cn==="root"&&Jr[0]===":"?(Jr.shift(),xn[Cn]=tt(Jr)):Cn==="threshold"&&Jr[0]===":"?(Jr.shift(),xn[Cn]=y(Jr,x)):fe(Gr,"htmx:syntax:error",{token:Jr.shift()})}Yr.push(xn)}Jr.length===rn&&fe(Gr,"htmx:syntax:error",{token:Jr.shift()}),y(Jr,Je)}while(Jr[0]===","&&Jr.shift());return Qr&&(Qr[Wr]=Yr),Yr}function it(Gr){var Wr=te(Gr,"hx-trigger"),Qr=[];if(Wr){var Yr=Q.config.triggerSpecsCache;Qr=Yr&&Yr[Wr]||nt(Gr,Wr,Yr)}return Qr.length>0?Qr:h(Gr,"form")?[{trigger:"submit"}]:h(Gr,'input[type="button"], input[type="submit"]')?[{trigger:"click"}]:h(Gr,rt)?[{trigger:"change"}]:[{trigger:"click"}]}function at(Gr){ae(Gr).cancelled=!0}function ot(Gr,Wr,Qr){var Yr=ae(Gr);Yr.timeout=setTimeout(function(){se(Gr)&&Yr.cancelled!==!0&&(ct(Qr,Gr,Wt("hx:poll:trigger",{triggerSpec:Qr,target:Gr}))||Wr(Gr),ot(Gr,Wr,Qr))},Qr.pollInterval)}function st(Gr){return location.hostname===Gr.hostname&&ee(Gr,"href")&&ee(Gr,"href").indexOf("#")!==0}function lt(Gr,Wr,Qr){if(Gr.tagName==="A"&&st(Gr)&&(Gr.target===""||Gr.target==="_self")||Gr.tagName==="FORM"){Wr.boosted=!0;var Yr,Jr;if(Gr.tagName==="A")Yr="get",Jr=ee(Gr,"href");else{var rn=ee(Gr,"method");Yr=rn?rn.toLowerCase():"get",Jr=ee(Gr,"action")}Qr.forEach(function(ln){ht(Gr,function(mn,gn){if(v(mn,Q.config.disableSelector)){m(mn);return}he(Yr,Jr,mn,gn)},Wr,ln,!0)})}}function ut(Gr,Wr){return!!((Gr.type==="submit"||Gr.type==="click")&&(Wr.tagName==="FORM"||h(Wr,'input[type="submit"], button')&&v(Wr,"form")!==null||Wr.tagName==="A"&&Wr.href&&(Wr.getAttribute("href")==="#"||Wr.getAttribute("href").indexOf("#")!==0)))}function ft(Gr,Wr){return ae(Gr).boosted&&Gr.tagName==="A"&&Wr.type==="click"&&(Wr.ctrlKey||Wr.metaKey)}function ct(Gr,Wr,Qr){var Yr=Gr.eventFilter;if(Yr)try{return Yr.call(Wr,Qr)!==!0}catch(Jr){return fe(re().body,"htmx:eventFilter:error",{error:Jr,source:Yr.source}),!0}return!1}function ht(Gr,Wr,Qr,Yr,Jr){var rn=ae(Gr),ln;Yr.from?ln=Z(Gr,Yr.from):ln=[Gr],Yr.changed&&ln.forEach(function(mn){var gn=ae(mn);gn.lastValue=mn.value}),oe(ln,function(mn){var gn=function(xn){if(!se(Gr)){mn.removeEventListener(Yr.trigger,gn);return}if(!ft(Gr,xn)&&((Jr||ut(xn,Gr))&&xn.preventDefault(),!ct(Yr,Gr,xn))){var Cn=ae(xn);if(Cn.triggerSpec=Yr,Cn.handledFor==null&&(Cn.handledFor=[]),Cn.handledFor.indexOf(Gr)<0){if(Cn.handledFor.push(Gr),Yr.consume&&xn.stopPropagation(),Yr.target&&xn.target&&!h(xn.target,Yr.target))return;if(Yr.once){if(rn.triggeredOnce)return;rn.triggeredOnce=!0}if(Yr.changed){var On=ae(mn);if(On.lastValue===mn.value)return;On.lastValue=mn.value}if(rn.delayed&&clearTimeout(rn.delayed),rn.throttle)return;Yr.throttle>0?rn.throttle||(Wr(Gr,xn),rn.throttle=setTimeout(function(){rn.throttle=null},Yr.throttle)):Yr.delay>0?rn.delayed=setTimeout(function(){Wr(Gr,xn)},Yr.delay):(ce(Gr,"htmx:trigger"),Wr(Gr,xn))}}};Qr.listenerInfos==null&&(Qr.listenerInfos=[]),Qr.listenerInfos.push({trigger:Yr.trigger,listener:gn,on:mn}),mn.addEventListener(Yr.trigger,gn)})}var vt=!1,dt=null;function gt(){dt||(dt=function(){vt=!0},window.addEventListener("scroll",dt),setInterval(function(){vt&&(vt=!1,oe(re().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(Gr){pt(Gr)}))},200))}function pt(Gr){if(!o(Gr,"data-hx-revealed")&&X(Gr)){Gr.setAttribute("data-hx-revealed","true");var Wr=ae(Gr);Wr.initHash?ce(Gr,"revealed"):Gr.addEventListener("htmx:afterProcessNode",function(Qr){ce(Gr,"revealed")},{once:!0})}}function mt(Gr,Wr,Qr){for(var Yr=D(Qr),Jr=0;Jr<Yr.length;Jr++){var rn=Yr[Jr].split(/:(.+)/);rn[0]==="connect"&&xt(Gr,rn[1],0),rn[0]==="send"&&bt(Gr)}}function xt(Gr,Wr,Qr){if(se(Gr)){if(Wr.indexOf("/")==0){var Yr=location.hostname+(location.port?":"+location.port:"");location.protocol=="https:"?Wr="wss://"+Yr+Wr:location.protocol=="http:"&&(Wr="ws://"+Yr+Wr)}var Jr=Q.createWebSocket(Wr);Jr.onerror=function(rn){fe(Gr,"htmx:wsError",{error:rn,socket:Jr}),yt(Gr)},Jr.onclose=function(rn){if([1006,1012,1013].indexOf(rn.code)>=0){var ln=wt(Qr);setTimeout(function(){xt(Gr,Wr,Qr+1)},ln)}},Jr.onopen=function(rn){Qr=0},ae(Gr).webSocket=Jr,Jr.addEventListener("message",function(rn){if(!yt(Gr)){var ln=rn.data;R(Gr,function(Pn){ln=Pn.transformResponse(ln,null,Gr)});for(var mn=T(Gr),gn=l(ln),xn=M(gn.children),Cn=0;Cn<xn.length;Cn++){var On=xn[Cn];Ee(te(On,"hx-swap-oob")||"true",On,mn)}nr(mn.tasks)}})}}function yt(Gr){if(!se(Gr))return ae(Gr).webSocket.close(),!0}function bt(Gr){var Wr=c(Gr,function(Qr){return ae(Qr).webSocket!=null});Wr?Gr.addEventListener(it(Gr)[0].trigger,function(Qr){var Yr=ae(Wr).webSocket,Jr=xr(Gr,Wr),rn=dr(Gr,"post"),ln=rn.errors,mn=rn.values,gn=Hr(Gr),xn=le(mn,gn),Cn=yr(xn,Gr);if(Cn.HEADERS=Jr,ln&&ln.length>0){ce(Gr,"htmx:validation:halted",ln);return}Yr.send(JSON.stringify(Cn)),ut(Qr,Gr)&&Qr.preventDefault()}):fe(Gr,"htmx:noWebSocketSourceError")}function wt(Gr){var Wr=Q.config.wsReconnectDelay;if(typeof Wr=="function")return Wr(Gr);if(Wr==="full-jitter"){var Qr=Math.min(Gr,6),Yr=1e3*Math.pow(2,Qr);return Yr*Math.random()}b('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function St(Gr,Wr,Qr){for(var Yr=D(Qr),Jr=0;Jr<Yr.length;Jr++){var rn=Yr[Jr].split(/:(.+)/);rn[0]==="connect"&&Et(Gr,rn[1]),rn[0]==="swap"&&Ct(Gr,rn[1])}}function Et(Gr,Wr){var Qr=Q.createEventSource(Wr);Qr.onerror=function(Yr){fe(Gr,"htmx:sseError",{error:Yr,source:Qr}),Tt(Gr)},ae(Gr).sseEventSource=Qr}function Ct(Gr,Wr){var Qr=c(Gr,Ot);if(Qr){var Yr=ae(Qr).sseEventSource,Jr=function(rn){if(!Tt(Qr)){if(!se(Gr)){Yr.removeEventListener(Wr,Jr);return}var ln=rn.data;R(Gr,function(Cn){ln=Cn.transformResponse(ln,null,Gr)});var mn=wr(Gr),gn=ye(Gr),xn=T(Gr);je(mn.swapStyle,gn,Gr,ln,xn),nr(xn.tasks),ce(Gr,"htmx:sseMessage",rn)}};ae(Gr).sseListener=Jr,Yr.addEventListener(Wr,Jr)}else fe(Gr,"htmx:noSSESourceError")}function Rt(Gr,Wr,Qr){var Yr=c(Gr,Ot);if(Yr){var Jr=ae(Yr).sseEventSource,rn=function(){Tt(Yr)||(se(Gr)?Wr(Gr):Jr.removeEventListener(Qr,rn))};ae(Gr).sseListener=rn,Jr.addEventListener(Qr,rn)}else fe(Gr,"htmx:noSSESourceError")}function Tt(Gr){if(!se(Gr))return ae(Gr).sseEventSource.close(),!0}function Ot(Gr){return ae(Gr).sseEventSource!=null}function qt(Gr,Wr,Qr,Yr){var Jr=function(){Qr.loaded||(Qr.loaded=!0,Wr(Gr))};Yr>0?setTimeout(Jr,Yr):Jr()}function Ht(Gr,Wr,Qr){var Yr=!1;return oe(w,function(Jr){if(o(Gr,"hx-"+Jr)){var rn=te(Gr,"hx-"+Jr);Yr=!0,Wr.path=rn,Wr.verb=Jr,Qr.forEach(function(ln){Lt(Gr,ln,Wr,function(mn,gn){if(v(mn,Q.config.disableSelector)){m(mn);return}he(Jr,rn,mn,gn)})})}}),Yr}function Lt(Gr,Wr,Qr,Yr){if(Wr.sseEvent)Rt(Gr,Yr,Wr.sseEvent);else if(Wr.trigger==="revealed")gt(),ht(Gr,Yr,Qr,Wr),pt(Gr);else if(Wr.trigger==="intersect"){var Jr={};Wr.root&&(Jr.root=ue(Gr,Wr.root)),Wr.threshold&&(Jr.threshold=parseFloat(Wr.threshold));var rn=new IntersectionObserver(function(ln){for(var mn=0;mn<ln.length;mn++){var gn=ln[mn];if(gn.isIntersecting){ce(Gr,"intersect");break}}},Jr);rn.observe(Gr),ht(Gr,Yr,Qr,Wr)}else Wr.trigger==="load"?ct(Wr,Gr,Wt("load",{elt:Gr}))||qt(Gr,Yr,Qr,Wr.delay):Wr.pollInterval>0?(Qr.polling=!0,ot(Gr,Yr,Wr)):ht(Gr,Yr,Qr,Wr)}function At(Gr){if(!Gr.htmxExecuted&&Q.config.allowScriptTags&&(Gr.type==="text/javascript"||Gr.type==="module"||Gr.type==="")){var Wr=re().createElement("script");oe(Gr.attributes,function(Yr){Wr.setAttribute(Yr.name,Yr.value)}),Wr.textContent=Gr.textContent,Wr.async=!1,Q.config.inlineScriptNonce&&(Wr.nonce=Q.config.inlineScriptNonce);var Qr=Gr.parentElement;try{Qr.insertBefore(Wr,Gr)}catch(Yr){b(Yr)}finally{Gr.parentElement&&Gr.parentElement.removeChild(Gr)}}}function Nt(Gr){h(Gr,"script")&&At(Gr),oe(f(Gr,"script"),function(Wr){At(Wr)})}function It(Gr){var Wr=Gr.attributes;if(!Wr)return!1;for(var Qr=0;Qr<Wr.length;Qr++){var Yr=Wr[Qr].name;if(g(Yr,"hx-on:")||g(Yr,"data-hx-on:")||g(Yr,"hx-on-")||g(Yr,"data-hx-on-"))return!0}return!1}function kt(Gr){var Wr=null,Qr=[];if(It(Gr)&&Qr.push(Gr),document.evaluate)for(var Yr=document.evaluate('.//*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") or starts-with(name(), "hx-on-") or starts-with(name(), "data-hx-on-") ]]',Gr);Wr=Yr.iterateNext();)Qr.push(Wr);else if(typeof Gr.getElementsByTagName=="function")for(var Jr=Gr.getElementsByTagName("*"),rn=0;rn<Jr.length;rn++)It(Jr[rn])&&Qr.push(Jr[rn]);return Qr}function Pt(Gr){if(Gr.querySelectorAll){var Wr=", [hx-boost] a, [data-hx-boost] a, a[hx-boost], a[data-hx-boost]",Qr=Gr.querySelectorAll(i+Wr+", form, [type='submit'], [hx-sse], [data-hx-sse], [hx-ws], [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]");return Qr}else return[]}function Mt(Gr){var Wr=v(Gr.target,"button, input[type='submit']"),Qr=Dt(Gr);Qr&&(Qr.lastButtonClicked=Wr)}function Xt(Gr){var Wr=Dt(Gr);Wr&&(Wr.lastButtonClicked=null)}function Dt(Gr){var Wr=v(Gr.target,"button, input[type='submit']");if(Wr){var Qr=p("#"+ee(Wr,"form"))||v(Wr,"form");if(Qr)return ae(Qr)}}function Ut(Gr){Gr.addEventListener("click",Mt),Gr.addEventListener("focusin",Mt),Gr.addEventListener("focusout",Xt)}function Bt(Gr){for(var Wr=Ye(Gr),Qr=0,Yr=0;Yr<Wr.length;Yr++){let Jr=Wr[Yr];Jr==="{"?Qr++:Jr==="}"&&Qr--}return Qr}function Ft(Gr,Wr,Qr){var Yr=ae(Gr);Array.isArray(Yr.onHandlers)||(Yr.onHandlers=[]);var Jr,rn=function(ln){return Tr(Gr,function(){Jr||(Jr=new Function("event",Qr)),Jr.call(Gr,ln)})};Gr.addEventListener(Wr,rn),Yr.onHandlers.push({event:Wr,listener:rn})}function Vt(Gr){var Wr=te(Gr,"hx-on");if(Wr){for(var Qr={},Yr=Wr.split(`
2
+
`),Jr=null,rn=0;Yr.length>0;){var ln=Yr.shift(),mn=ln.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/);rn===0&&mn?(ln.split(":"),Jr=mn[1].slice(0,-1),Qr[Jr]=mn[2]):Qr[Jr]+=ln,rn+=Bt(ln)}for(var gn in Qr)Ft(Gr,gn,Qr[gn])}}function jt(Gr){Ae(Gr);for(var Wr=0;Wr<Gr.attributes.length;Wr++){var Qr=Gr.attributes[Wr].name,Yr=Gr.attributes[Wr].value;if(g(Qr,"hx-on")||g(Qr,"data-hx-on")){var Jr=Qr.indexOf("-on")+3,rn=Qr.slice(Jr,Jr+1);if(rn==="-"||rn===":"){var ln=Qr.slice(Jr+1);g(ln,":")?ln="htmx"+ln:g(ln,"-")?ln="htmx:"+ln.slice(1):g(ln,"htmx-")&&(ln="htmx:"+ln.slice(5)),Ft(Gr,ln,Yr)}}}}function _t(Gr){if(v(Gr,Q.config.disableSelector)){m(Gr);return}var Wr=ae(Gr);if(Wr.initHash!==Le(Gr)){Ne(Gr),Wr.initHash=Le(Gr),Vt(Gr),ce(Gr,"htmx:beforeProcessNode"),Gr.value&&(Wr.lastValue=Gr.value);var Qr=it(Gr),Yr=Ht(Gr,Wr,Qr);Yr||(ne(Gr,"hx-boost")==="true"?lt(Gr,Wr,Qr):o(Gr,"hx-trigger")&&Qr.forEach(function(ln){Lt(Gr,ln,Wr,function(){})})),(Gr.tagName==="FORM"||ee(Gr,"type")==="submit"&&o(Gr,"form"))&&Ut(Gr);var Jr=te(Gr,"hx-sse");Jr&&St(Gr,Wr,Jr);var rn=te(Gr,"hx-ws");rn&&mt(Gr,Wr,rn),ce(Gr,"htmx:afterProcessNode")}}function zt(Gr){if(Gr=p(Gr),v(Gr,Q.config.disableSelector)){m(Gr);return}_t(Gr),oe(Pt(Gr),function(Wr){_t(Wr)}),oe(kt(Gr),jt)}function $t(Gr){return Gr.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Wt(Gr,Wr){var Qr;return window.CustomEvent&&typeof window.CustomEvent=="function"?Qr=new CustomEvent(Gr,{bubbles:!0,cancelable:!0,detail:Wr}):(Qr=re().createEvent("CustomEvent"),Qr.initCustomEvent(Gr,!0,!0,Wr)),Qr}function fe(Gr,Wr,Qr){ce(Gr,Wr,le({error:Wr},Qr))}function Gt(Gr){return Gr==="htmx:afterProcessNode"}function R(Gr,Wr){oe(Fr(Gr),function(Qr){try{Wr(Qr)}catch(Yr){b(Yr)}})}function b(Gr){console.error?console.error(Gr):console.log&&console.log("ERROR: ",Gr)}function ce(Gr,Wr,Qr){Gr=p(Gr),Qr==null&&(Qr={}),Qr.elt=Gr;var Yr=Wt(Wr,Qr);Q.logger&&!Gt(Wr)&&Q.logger(Gr,Wr,Qr),Qr.error&&(b(Qr.error),ce(Gr,"htmx:error",{errorInfo:Qr}));var Jr=Gr.dispatchEvent(Yr),rn=$t(Wr);if(Jr&&rn!==Wr){var ln=Wt(rn,Yr.detail);Jr=Jr&&Gr.dispatchEvent(ln)}return R(Gr,function(mn){Jr=Jr&&mn.onEvent(Wr,Yr)!==!1&&!Yr.defaultPrevented}),Jr}var Jt=location.pathname+location.search;function Zt(){var Gr=re().querySelector("[hx-history-elt],[data-hx-history-elt]");return Gr||re().body}function Kt(Gr,Wr,Qr,Yr){if(U()){if(Q.config.historyCacheSize<=0){localStorage.removeItem("htmx-history-cache");return}Gr=B(Gr);for(var Jr=E(localStorage.getItem("htmx-history-cache"))||[],rn=0;rn<Jr.length;rn++)if(Jr[rn].url===Gr){Jr.splice(rn,1);break}var ln={url:Gr,content:Wr,title:Qr,scroll:Yr};for(ce(re().body,"htmx:historyItemCreated",{item:ln,cache:Jr}),Jr.push(ln);Jr.length>Q.config.historyCacheSize;)Jr.shift();for(;Jr.length>0;)try{localStorage.setItem("htmx-history-cache",JSON.stringify(Jr));break}catch(mn){fe(re().body,"htmx:historyCacheError",{cause:mn,cache:Jr}),Jr.shift()}}}function Yt(Gr){if(!U())return null;Gr=B(Gr);for(var Wr=E(localStorage.getItem("htmx-history-cache"))||[],Qr=0;Qr<Wr.length;Qr++)if(Wr[Qr].url===Gr)return Wr[Qr];return null}function Qt(Gr){var Wr=Q.config.requestClass,Qr=Gr.cloneNode(!0);return oe(f(Qr,"."+Wr),function(Yr){n(Yr,Wr)}),Qr.innerHTML}function er(){var Gr=Zt(),Wr=Jt||location.pathname+location.search,Qr;try{Qr=re().querySelector('[hx-history="false" i],[data-hx-history="false" i]')}catch{Qr=re().querySelector('[hx-history="false"],[data-hx-history="false"]')}Qr||(ce(re().body,"htmx:beforeHistorySave",{path:Wr,historyElt:Gr}),Kt(Wr,Qt(Gr),re().title,window.scrollY)),Q.config.historyEnabled&&history.replaceState({htmx:!0},re().title,window.location.href)}function tr(Gr){Q.config.getCacheBusterParam&&(Gr=Gr.replace(/org\.htmx\.cache-buster=[^&]*&?/,""),(G(Gr,"&")||G(Gr,"?"))&&(Gr=Gr.slice(0,-1))),Q.config.historyEnabled&&history.pushState({htmx:!0},"",Gr),Jt=Gr}function rr(Gr){Q.config.historyEnabled&&history.replaceState({htmx:!0},"",Gr),Jt=Gr}function nr(Gr){oe(Gr,function(Wr){Wr.call()})}function ir(Gr){var Wr=new XMLHttpRequest,Qr={path:Gr,xhr:Wr};ce(re().body,"htmx:historyCacheMiss",Qr),Wr.open("GET",Gr,!0),Wr.setRequestHeader("HX-Request","true"),Wr.setRequestHeader("HX-History-Restore-Request","true"),Wr.setRequestHeader("HX-Current-URL",re().location.href),Wr.onload=function(){if(this.status>=200&&this.status<400){ce(re().body,"htmx:historyCacheMissLoad",Qr);var Yr=l(this.response);Yr=Yr.querySelector("[hx-history-elt],[data-hx-history-elt]")||Yr;var Jr=Zt(),rn=T(Jr),ln=Ve(this.response);if(ln){var mn=C("title");mn?mn.innerHTML=ln:window.document.title=ln}Ue(Jr,Yr,rn),nr(rn.tasks),Jt=Gr,ce(re().body,"htmx:historyRestore",{path:Gr,cacheMiss:!0,serverResponse:this.response})}else fe(re().body,"htmx:historyCacheMissLoadError",Qr)},Wr.send()}function ar(Gr){er(),Gr=Gr||location.pathname+location.search;var Wr=Yt(Gr);if(Wr){var Qr=l(Wr.content),Yr=Zt(),Jr=T(Yr);Ue(Yr,Qr,Jr),nr(Jr.tasks),document.title=Wr.title,setTimeout(function(){window.scrollTo(0,Wr.scroll)},0),Jt=Gr,ce(re().body,"htmx:historyRestore",{path:Gr,item:Wr})}else Q.config.refreshOnHistoryMiss?window.location.reload(!0):ir(Gr)}function or(Gr){var Wr=me(Gr,"hx-indicator");return Wr==null&&(Wr=[Gr]),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)+1,Qr.classList.add.call(Qr.classList,Q.config.requestClass)}),Wr}function sr(Gr){var Wr=me(Gr,"hx-disabled-elt");return Wr==null&&(Wr=[]),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)+1,Qr.setAttribute("disabled","")}),Wr}function lr(Gr,Wr){oe(Gr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)-1,Yr.requestCount===0&&Qr.classList.remove.call(Qr.classList,Q.config.requestClass)}),oe(Wr,function(Qr){var Yr=ae(Qr);Yr.requestCount=(Yr.requestCount||0)-1,Yr.requestCount===0&&Qr.removeAttribute("disabled")})}function ur(Gr,Wr){for(var Qr=0;Qr<Gr.length;Qr++){var Yr=Gr[Qr];if(Yr.isSameNode(Wr))return!0}return!1}function fr(Gr){return Gr.name===""||Gr.name==null||Gr.disabled||v(Gr,"fieldset[disabled]")||Gr.type==="button"||Gr.type==="submit"||Gr.tagName==="image"||Gr.tagName==="reset"||Gr.tagName==="file"?!1:Gr.type==="checkbox"||Gr.type==="radio"?Gr.checked:!0}function cr(Gr,Wr,Qr){if(Gr!=null&&Wr!=null){var Yr=Qr[Gr];Yr===void 0?Qr[Gr]=Wr:Array.isArray(Yr)?Array.isArray(Wr)?Qr[Gr]=Yr.concat(Wr):Yr.push(Wr):Array.isArray(Wr)?Qr[Gr]=[Yr].concat(Wr):Qr[Gr]=[Yr,Wr]}}function hr(Gr,Wr,Qr,Yr,Jr){if(!(Yr==null||ur(Gr,Yr))){if(Gr.push(Yr),fr(Yr)){var rn=ee(Yr,"name"),ln=Yr.value;Yr.multiple&&Yr.tagName==="SELECT"&&(ln=M(Yr.querySelectorAll("option:checked")).map(function(gn){return gn.value})),Yr.files&&(ln=M(Yr.files)),cr(rn,ln,Wr),Jr&&vr(Yr,Qr)}if(h(Yr,"form")){var mn=Yr.elements;oe(mn,function(gn){hr(Gr,Wr,Qr,gn,Jr)})}}}function vr(Gr,Wr){Gr.willValidate&&(ce(Gr,"htmx:validation:validate"),Gr.checkValidity()||(Wr.push({elt:Gr,message:Gr.validationMessage,validity:Gr.validity}),ce(Gr,"htmx:validation:failed",{message:Gr.validationMessage,validity:Gr.validity})))}function dr(Gr,Wr){var Qr=[],Yr={},Jr={},rn=[],ln=ae(Gr);ln.lastButtonClicked&&!se(ln.lastButtonClicked)&&(ln.lastButtonClicked=null);var mn=h(Gr,"form")&&Gr.noValidate!==!0||te(Gr,"hx-validate")==="true";if(ln.lastButtonClicked&&(mn=mn&&ln.lastButtonClicked.formNoValidate!==!0),Wr!=="get"&&hr(Qr,Jr,rn,v(Gr,"form"),mn),hr(Qr,Yr,rn,Gr,mn),ln.lastButtonClicked||Gr.tagName==="BUTTON"||Gr.tagName==="INPUT"&&ee(Gr,"type")==="submit"){var gn=ln.lastButtonClicked||Gr,xn=ee(gn,"name");cr(xn,gn.value,Jr)}var Cn=me(Gr,"hx-include");return oe(Cn,function(On){hr(Qr,Yr,rn,On,mn),h(On,"form")||oe(On.querySelectorAll(rt),function(Pn){hr(Qr,Yr,rn,Pn,mn)})}),Yr=le(Yr,Jr),{errors:rn,values:Yr}}function gr(Gr,Wr,Qr){Gr!==""&&(Gr+="&"),String(Qr)==="[object Object]"&&(Qr=JSON.stringify(Qr));var Yr=encodeURIComponent(Qr);return Gr+=encodeURIComponent(Wr)+"="+Yr,Gr}function pr(Gr){var Wr="";for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){var Yr=Gr[Qr];Array.isArray(Yr)?oe(Yr,function(Jr){Wr=gr(Wr,Qr,Jr)}):Wr=gr(Wr,Qr,Yr)}return Wr}function mr(Gr){var Wr=new FormData;for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){var Yr=Gr[Qr];Array.isArray(Yr)?oe(Yr,function(Jr){Wr.append(Qr,Jr)}):Wr.append(Qr,Yr)}return Wr}function xr(Gr,Wr,Qr){var Yr={"HX-Request":"true","HX-Trigger":ee(Gr,"id"),"HX-Trigger-Name":ee(Gr,"name"),"HX-Target":te(Wr,"id"),"HX-Current-URL":re().location.href};return Rr(Gr,"hx-headers",!1,Yr),Qr!==void 0&&(Yr["HX-Prompt"]=Qr),ae(Gr).boosted&&(Yr["HX-Boosted"]="true"),Yr}function yr(Gr,Wr){var Qr=ne(Wr,"hx-params");if(Qr){if(Qr==="none")return{};if(Qr==="*")return Gr;if(Qr.indexOf("not ")===0)return oe(Qr.substr(4).split(","),function(Jr){Jr=Jr.trim(),delete Gr[Jr]}),Gr;var Yr={};return oe(Qr.split(","),function(Jr){Jr=Jr.trim(),Yr[Jr]=Gr[Jr]}),Yr}else return Gr}function br(Gr){return ee(Gr,"href")&&ee(Gr,"href").indexOf("#")>=0}function wr(Gr,Wr){var Qr=Wr||ne(Gr,"hx-swap"),Yr={swapStyle:ae(Gr).boosted?"innerHTML":Q.config.defaultSwapStyle,swapDelay:Q.config.defaultSwapDelay,settleDelay:Q.config.defaultSettleDelay};if(Q.config.scrollIntoViewOnBoost&&ae(Gr).boosted&&!br(Gr)&&(Yr.show="top"),Qr){var Jr=D(Qr);if(Jr.length>0)for(var rn=0;rn<Jr.length;rn++){var ln=Jr[rn];if(ln.indexOf("swap:")===0)Yr.swapDelay=d(ln.substr(5));else if(ln.indexOf("settle:")===0)Yr.settleDelay=d(ln.substr(7));else if(ln.indexOf("transition:")===0)Yr.transition=ln.substr(11)==="true";else if(ln.indexOf("ignoreTitle:")===0)Yr.ignoreTitle=ln.substr(12)==="true";else if(ln.indexOf("scroll:")===0){var mn=ln.substr(7),gn=mn.split(":"),xn=gn.pop(),Cn=gn.length>0?gn.join(":"):null;Yr.scroll=xn,Yr.scrollTarget=Cn}else if(ln.indexOf("show:")===0){var On=ln.substr(5),gn=On.split(":"),Pn=gn.pop(),Cn=gn.length>0?gn.join(":"):null;Yr.show=Pn,Yr.showTarget=Cn}else if(ln.indexOf("focus-scroll:")===0){var Gn=ln.substr(13);Yr.focusScroll=Gn=="true"}else rn==0?Yr.swapStyle=ln:b("Unknown modifier in hx-swap: "+ln)}}return Yr}function Sr(Gr){return ne(Gr,"hx-encoding")==="multipart/form-data"||h(Gr,"form")&&ee(Gr,"enctype")==="multipart/form-data"}function Er(Gr,Wr,Qr){var Yr=null;return R(Wr,function(Jr){Yr==null&&(Yr=Jr.encodeParameters(Gr,Qr,Wr))}),Yr??(Sr(Wr)?mr(Qr):pr(Qr))}function T(Gr){return{tasks:[],elts:[Gr]}}function Cr(Gr,Wr){var Qr=Gr[0],Yr=Gr[Gr.length-1];if(Wr.scroll){var Jr=null;Wr.scrollTarget&&(Jr=ue(Qr,Wr.scrollTarget)),Wr.scroll==="top"&&(Qr||Jr)&&(Jr=Jr||Qr,Jr.scrollTop=0),Wr.scroll==="bottom"&&(Yr||Jr)&&(Jr=Jr||Yr,Jr.scrollTop=Jr.scrollHeight)}if(Wr.show){var Jr=null;if(Wr.showTarget){var rn=Wr.showTarget;Wr.showTarget==="window"&&(rn="body"),Jr=ue(Qr,rn)}Wr.show==="top"&&(Qr||Jr)&&(Jr=Jr||Qr,Jr.scrollIntoView({block:"start",behavior:Q.config.scrollBehavior})),Wr.show==="bottom"&&(Yr||Jr)&&(Jr=Jr||Yr,Jr.scrollIntoView({block:"end",behavior:Q.config.scrollBehavior}))}}function Rr(Gr,Wr,Qr,Yr){if(Yr==null&&(Yr={}),Gr==null)return Yr;var Jr=te(Gr,Wr);if(Jr){var rn=Jr.trim(),ln=Qr;if(rn==="unset")return null;rn.indexOf("javascript:")===0?(rn=rn.substr(11),ln=!0):rn.indexOf("js:")===0&&(rn=rn.substr(3),ln=!0),rn.indexOf("{")!==0&&(rn="{"+rn+"}");var mn;ln?mn=Tr(Gr,function(){return Function("return ("+rn+")")()},{}):mn=E(rn);for(var gn in mn)mn.hasOwnProperty(gn)&&Yr[gn]==null&&(Yr[gn]=mn[gn])}return Rr(u(Gr),Wr,Qr,Yr)}function Tr(Gr,Wr,Qr){return Q.config.allowEval?Wr():(fe(Gr,"htmx:evalDisallowedError"),Qr)}function Or(Gr,Wr){return Rr(Gr,"hx-vars",!0,Wr)}function qr(Gr,Wr){return Rr(Gr,"hx-vals",!1,Wr)}function Hr(Gr){return le(Or(Gr),qr(Gr))}function Lr(Gr,Wr,Qr){if(Qr!==null)try{Gr.setRequestHeader(Wr,Qr)}catch{Gr.setRequestHeader(Wr,encodeURIComponent(Qr)),Gr.setRequestHeader(Wr+"-URI-AutoEncoded","true")}}function Ar(Gr){if(Gr.responseURL&&typeof URL<"u")try{var Wr=new URL(Gr.responseURL);return Wr.pathname+Wr.search}catch{fe(re().body,"htmx:badResponseUrl",{url:Gr.responseURL})}}function O(Gr,Wr){return Wr.test(Gr.getAllResponseHeaders())}function Nr(Gr,Wr,Qr){return Gr=Gr.toLowerCase(),Qr?Qr instanceof Element||I(Qr,"String")?he(Gr,Wr,null,null,{targetOverride:p(Qr),returnPromise:!0}):he(Gr,Wr,p(Qr.source),Qr.event,{handler:Qr.handler,headers:Qr.headers,values:Qr.values,targetOverride:p(Qr.target),swapOverride:Qr.swap,select:Qr.select,returnPromise:!0}):he(Gr,Wr,null,null,{returnPromise:!0})}function Ir(Gr){for(var Wr=[];Gr;)Wr.push(Gr),Gr=Gr.parentElement;return Wr}function kr(Gr,Wr,Qr){var Yr,Jr;if(typeof URL=="function"){Jr=new URL(Wr,document.location.href);var rn=document.location.origin;Yr=rn===Jr.origin}else Jr=Wr,Yr=g(Wr,document.location.origin);return Q.config.selfRequestsOnly&&!Yr?!1:ce(Gr,"htmx:validateUrl",le({url:Jr,sameHost:Yr},Qr))}function he(Gr,Wr,Qr,Yr,Jr,rn){var ln=null,mn=null;if(Jr=Jr??{},Jr.returnPromise&&typeof Promise<"u")var gn=new Promise(function(pn,En){ln=pn,mn=En});Qr==null&&(Qr=re().body);var xn=Jr.handler||Mr,Cn=Jr.select||null;if(!se(Qr))return ie(ln),gn;var On=Jr.targetOverride||ye(Qr);if(On==null||On==pe)return fe(Qr,"htmx:targetError",{target:te(Qr,"hx-target")}),ie(mn),gn;var Pn=ae(Qr),Gn=Pn.lastButtonClicked;if(Gn){var Xn=ee(Gn,"formaction");Xn!=null&&(Wr=Xn);var zn=ee(Gn,"formmethod");zn!=null&&zn.toLowerCase()!=="dialog"&&(Gr=zn)}var ni=ne(Qr,"hx-confirm");if(rn===void 0){var gi=function(pn){return he(Gr,Wr,Qr,Yr,Jr,!!pn)},ci={target:On,elt:Qr,path:Wr,verb:Gr,triggeringEvent:Yr,etc:Jr,issueRequest:gi,question:ni};if(ce(Qr,"htmx:confirm",ci)===!1)return ie(ln),gn}var ai=Qr,Kn=ne(Qr,"hx-sync"),hi=null,ii=!1;if(Kn){var Ri=Kn.split(":"),di=Ri[0].trim();if(di==="this"?ai=xe(Qr,"hx-sync"):ai=ue(Qr,di),Kn=(Ri[1]||"drop").trim(),Pn=ae(ai),Kn==="drop"&&Pn.xhr&&Pn.abortable!==!0)return ie(ln),gn;if(Kn==="abort"){if(Pn.xhr)return ie(ln),gn;ii=!0}else if(Kn==="replace")ce(ai,"htmx:abort");else if(Kn.indexOf("queue")===0){var ei=Kn.split(" ");hi=(ei[1]||"last").trim()}}if(Pn.xhr)if(Pn.abortable)ce(ai,"htmx:abort");else{if(hi==null){if(Yr){var Tn=ae(Yr);Tn&&Tn.triggerSpec&&Tn.triggerSpec.queue&&(hi=Tn.triggerSpec.queue)}hi==null&&(hi="last")}return Pn.queuedRequests==null&&(Pn.queuedRequests=[]),hi==="first"&&Pn.queuedRequests.length===0?Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)}):hi==="all"?Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)}):hi==="last"&&(Pn.queuedRequests=[],Pn.queuedRequests.push(function(){he(Gr,Wr,Qr,Yr,Jr)})),ie(ln),gn}var Zr=new XMLHttpRequest;Pn.xhr=Zr,Pn.abortable=ii;var nn=function(){if(Pn.xhr=null,Pn.abortable=!1,Pn.queuedRequests!=null&&Pn.queuedRequests.length>0){var pn=Pn.queuedRequests.shift();pn()}},hn=ne(Qr,"hx-prompt");if(hn){var dn=prompt(hn);if(dn===null||!ce(Qr,"htmx:prompt",{prompt:dn,target:On}))return ie(ln),nn(),gn}if(ni&&!rn&&!confirm(ni))return ie(ln),nn(),gn;var wn=xr(Qr,On,dn);Gr!=="get"&&!Sr(Qr)&&(wn["Content-Type"]="application/x-www-form-urlencoded"),Jr.headers&&(wn=le(wn,Jr.headers));var vn=dr(Qr,Gr),yn=vn.errors,fn=vn.values;Jr.values&&(fn=le(fn,Jr.values));var An=Hr(Qr),Rn=le(fn,An),Dn=yr(Rn,Qr);Q.config.getCacheBusterParam&&Gr==="get"&&(Dn["org.htmx.cache-buster"]=ee(On,"id")||"true"),(Wr==null||Wr==="")&&(Wr=re().location.href);var In=Rr(Qr,"hx-request"),qn=ae(Qr).boosted,Mn=Q.config.methodsThatUseUrlParams.indexOf(Gr)>=0,Ln={boosted:qn,useUrlParams:Mn,parameters:Dn,unfilteredParameters:Rn,headers:wn,target:On,verb:Gr,errors:yn,withCredentials:Jr.credentials||In.credentials||Q.config.withCredentials,timeout:Jr.timeout||In.timeout||Q.config.timeout,path:Wr,triggeringEvent:Yr};if(!ce(Qr,"htmx:configRequest",Ln))return ie(ln),nn(),gn;if(Wr=Ln.path,Gr=Ln.verb,wn=Ln.headers,Dn=Ln.parameters,yn=Ln.errors,Mn=Ln.useUrlParams,yn&&yn.length>0)return ce(Qr,"htmx:validation:halted",Ln),ie(ln),nn(),gn;var Bn=Wr.split("#"),Wn=Bn[0],jn=Bn[1],tn=Wr;if(Mn){tn=Wn;var an=Object.keys(Dn).length!==0;an&&(tn.indexOf("?")<0?tn+="?":tn+="&",tn+=pr(Dn),jn&&(tn+="#"+jn))}if(!kr(Qr,tn,Ln))return fe(Qr,"htmx:invalidPath",Ln),ie(mn),gn;if(Zr.open(Gr.toUpperCase(),tn,!0),Zr.overrideMimeType("text/html"),Zr.withCredentials=Ln.withCredentials,Zr.timeout=Ln.timeout,!In.noHeaders){for(var Kr in wn)if(wn.hasOwnProperty(Kr)){var en=wn[Kr];Lr(Zr,Kr,en)}}var un={xhr:Zr,target:On,requestConfig:Ln,etc:Jr,boosted:qn,select:Cn,pathInfo:{requestPath:Wr,finalRequestPath:tn,anchor:jn}};if(Zr.onload=function(){try{var pn=Ir(Qr);if(un.pathInfo.responsePath=Ar(Zr),xn(Qr,un),lr(on,cn),ce(Qr,"htmx:afterRequest",un),ce(Qr,"htmx:afterOnLoad",un),!se(Qr)){for(var En=null;pn.length>0&&En==null;){var bn=pn.shift();se(bn)&&(En=bn)}En&&(ce(En,"htmx:afterRequest",un),ce(En,"htmx:afterOnLoad",un))}ie(ln),nn()}catch(Nn){throw fe(Qr,"htmx:onLoadError",le({error:Nn},un)),Nn}},Zr.onerror=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:sendError",un),ie(mn),nn()},Zr.onabort=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:sendAbort",un),ie(mn),nn()},Zr.ontimeout=function(){lr(on,cn),fe(Qr,"htmx:afterRequest",un),fe(Qr,"htmx:timeout",un),ie(mn),nn()},!ce(Qr,"htmx:beforeRequest",un))return ie(ln),nn(),gn;var on=or(Qr),cn=sr(Qr);oe(["loadstart","loadend","progress","abort"],function(pn){oe([Zr,Zr.upload],function(En){En.addEventListener(pn,function(bn){ce(Qr,"htmx:xhr:"+pn,{lengthComputable:bn.lengthComputable,loaded:bn.loaded,total:bn.total})})})}),ce(Qr,"htmx:beforeSend",un);var sn=Mn?null:Er(Zr,Qr,Dn);return Zr.send(sn),gn}function Pr(Gr,Wr){var Qr=Wr.xhr,Yr=null,Jr=null;if(O(Qr,/HX-Push:/i)?(Yr=Qr.getResponseHeader("HX-Push"),Jr="push"):O(Qr,/HX-Push-Url:/i)?(Yr=Qr.getResponseHeader("HX-Push-Url"),Jr="push"):O(Qr,/HX-Replace-Url:/i)&&(Yr=Qr.getResponseHeader("HX-Replace-Url"),Jr="replace"),Yr)return Yr==="false"?{}:{type:Jr,path:Yr};var rn=Wr.pathInfo.finalRequestPath,ln=Wr.pathInfo.responsePath,mn=ne(Gr,"hx-push-url"),gn=ne(Gr,"hx-replace-url"),xn=ae(Gr).boosted,Cn=null,On=null;return mn?(Cn="push",On=mn):gn?(Cn="replace",On=gn):xn&&(Cn="push",On=ln||rn),On?On==="false"?{}:(On==="true"&&(On=ln||rn),Wr.pathInfo.anchor&&On.indexOf("#")===-1&&(On=On+"#"+Wr.pathInfo.anchor),{type:Cn,path:On}):{}}function Mr(Gr,Wr){var Qr=Wr.xhr,Yr=Wr.target,Jr=Wr.etc,rn=Wr.requestConfig,ln=Wr.select;if(ce(Gr,"htmx:beforeOnLoad",Wr)){if(O(Qr,/HX-Trigger:/i)&&_e(Qr,"HX-Trigger",Gr),O(Qr,/HX-Location:/i)){er();var mn=Qr.getResponseHeader("HX-Location"),gn;mn.indexOf("{")===0&&(gn=E(mn),mn=gn.path,delete gn.path),Nr("GET",mn,gn).then(function(){tr(mn)});return}var xn=O(Qr,/HX-Refresh:/i)&&Qr.getResponseHeader("HX-Refresh")==="true";if(O(Qr,/HX-Redirect:/i)){location.href=Qr.getResponseHeader("HX-Redirect"),xn&&location.reload();return}if(xn){location.reload();return}O(Qr,/HX-Retarget:/i)&&(Qr.getResponseHeader("HX-Retarget")==="this"?Wr.target=Gr:Wr.target=ue(Gr,Qr.getResponseHeader("HX-Retarget")));var Cn=Pr(Gr,Wr),On=Qr.status>=200&&Qr.status<400&&Qr.status!==204,Pn=Qr.response,Gn=Qr.status>=400,Xn=Q.config.ignoreTitle,zn=le({shouldSwap:On,serverResponse:Pn,isError:Gn,ignoreTitle:Xn},Wr);if(ce(Yr,"htmx:beforeSwap",zn)){if(Yr=zn.target,Pn=zn.serverResponse,Gn=zn.isError,Xn=zn.ignoreTitle,Wr.target=Yr,Wr.failed=Gn,Wr.successful=!Gn,zn.shouldSwap){Qr.status===286&&at(Gr),R(Gr,function(di){Pn=di.transformResponse(Pn,Qr,Gr)}),Cn.type&&er();var ni=Jr.swapOverride;O(Qr,/HX-Reswap:/i)&&(ni=Qr.getResponseHeader("HX-Reswap"));var gn=wr(Gr,ni);gn.hasOwnProperty("ignoreTitle")&&(Xn=gn.ignoreTitle),Yr.classList.add(Q.config.swappingClass);var gi=null,ci=null,ai=function(){try{var di=document.activeElement,ei={};try{ei={elt:di,start:di?di.selectionStart:null,end:di?di.selectionEnd:null}}catch{}var Tn;ln&&(Tn=ln),O(Qr,/HX-Reselect:/i)&&(Tn=Qr.getResponseHeader("HX-Reselect")),Cn.type&&(ce(re().body,"htmx:beforeHistoryUpdate",le({history:Cn},Wr)),Cn.type==="push"?(tr(Cn.path),ce(re().body,"htmx:pushedIntoHistory",{path:Cn.path})):(rr(Cn.path),ce(re().body,"htmx:replacedInHistory",{path:Cn.path})));var Zr=T(Yr);if(je(gn.swapStyle,Yr,Gr,Pn,Zr,Tn),ei.elt&&!se(ei.elt)&&ee(ei.elt,"id")){var nn=document.getElementById(ee(ei.elt,"id")),hn={preventScroll:gn.focusScroll!==void 0?!gn.focusScroll:!Q.config.defaultFocusScroll};if(nn){if(ei.start&&nn.setSelectionRange)try{nn.setSelectionRange(ei.start,ei.end)}catch{}nn.focus(hn)}}if(Yr.classList.remove(Q.config.swappingClass),oe(Zr.elts,function(vn){vn.classList&&vn.classList.add(Q.config.settlingClass),ce(vn,"htmx:afterSwap",Wr)}),O(Qr,/HX-Trigger-After-Swap:/i)){var dn=Gr;se(Gr)||(dn=re().body),_e(Qr,"HX-Trigger-After-Swap",dn)}var wn=function(){if(oe(Zr.tasks,function(An){An.call()}),oe(Zr.elts,function(An){An.classList&&An.classList.remove(Q.config.settlingClass),ce(An,"htmx:afterSettle",Wr)}),Wr.pathInfo.anchor){var vn=re().getElementById(Wr.pathInfo.anchor);vn&&vn.scrollIntoView({block:"start",behavior:"auto"})}if(Zr.title&&!Xn){var yn=C("title");yn?yn.innerHTML=Zr.title:window.document.title=Zr.title}if(Cr(Zr.elts,gn),O(Qr,/HX-Trigger-After-Settle:/i)){var fn=Gr;se(Gr)||(fn=re().body),_e(Qr,"HX-Trigger-After-Settle",fn)}ie(gi)};gn.settleDelay>0?setTimeout(wn,gn.settleDelay):wn()}catch(vn){throw fe(Gr,"htmx:swapError",Wr),ie(ci),vn}},Kn=Q.config.globalViewTransitions;if(gn.hasOwnProperty("transition")&&(Kn=gn.transition),Kn&&ce(Gr,"htmx:beforeTransition",Wr)&&typeof Promise<"u"&&document.startViewTransition){var hi=new Promise(function(di,ei){gi=di,ci=ei}),ii=ai;ai=function(){document.startViewTransition(function(){return ii(),hi})}}gn.swapDelay>0?setTimeout(ai,gn.swapDelay):ai()}Gn&&fe(Gr,"htmx:responseError",le({error:"Response Status Error Code "+Qr.status+" from "+Wr.pathInfo.requestPath},Wr))}}}var Xr={};function Dr(){return{init:function(Gr){return null},onEvent:function(Gr,Wr){return!0},transformResponse:function(Gr,Wr,Qr){return Gr},isInlineSwap:function(Gr){return!1},handleSwap:function(Gr,Wr,Qr,Yr){return!1},encodeParameters:function(Gr,Wr,Qr){return null}}}function Ur(Gr,Wr){Wr.init&&Wr.init(r),Xr[Gr]=le(Dr(),Wr)}function Br(Gr){delete Xr[Gr]}function Fr(Gr,Wr,Qr){if(Gr==null)return Wr;Wr==null&&(Wr=[]),Qr==null&&(Qr=[]);var Yr=te(Gr,"hx-ext");return Yr&&oe(Yr.split(","),function(Jr){if(Jr=Jr.replace(/ /g,""),Jr.slice(0,7)=="ignore:"){Qr.push(Jr.slice(7));return}if(Qr.indexOf(Jr)<0){var rn=Xr[Jr];rn&&Wr.indexOf(rn)<0&&Wr.push(rn)}}),Fr(u(Gr),Wr,Qr)}var Vr=!1;re().addEventListener("DOMContentLoaded",function(){Vr=!0});function jr(Gr){Vr||re().readyState==="complete"?Gr():re().addEventListener("DOMContentLoaded",Gr)}function _r(){Q.config.includeIndicatorStyles!==!1&&re().head.insertAdjacentHTML("beforeend","<style> ."+Q.config.indicatorClass+"{opacity:0} ."+Q.config.requestClass+" ."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} ."+Q.config.requestClass+"."+Q.config.indicatorClass+"{opacity:1; transition: opacity 200ms ease-in;} </style>")}function zr(){var Gr=re().querySelector('meta[name="htmx-config"]');return Gr?E(Gr.content):null}function $r(){var Gr=zr();Gr&&(Q.config=le(Q.config,Gr))}return jr(function(){$r(),_r();var Gr=re().body;zt(Gr);var Wr=re().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");Gr.addEventListener("htmx:abort",function(Yr){var Jr=Yr.target,rn=ae(Jr);rn&&rn.xhr&&rn.xhr.abort()});let Qr=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(Yr){Yr.state&&Yr.state.htmx?(ar(),oe(Wr,function(Jr){ce(Jr,"htmx:restored",{document:re(),triggerEvent:ce})})):Qr&&Qr(Yr)},setTimeout(function(){ce(Gr,"htmx:load",{}),Gr=null},0)}),Q}()})});var $a=To((Aa,xo)=>{(function(Gr,Wr){let Qr=Wr(Gr);typeof Aa=="object"&&typeof Aa.nodeName!="string"?xo.exports=Qr:(Gr._hyperscript=Qr,"document"in Gr&&Gr._hyperscript.browserInit())})(typeof self<"u"?self:Aa,Gr=>{"use strict";let Wr={dynamicResolvers:[function(Tn,Zr){if(Tn==="Fixed")return Number(Zr).toFixed();if(Tn.indexOf("Fixed:")===0){let nn=Tn.split(":")[1];return Number(Zr).toFixed(parseInt(nn))}}],String:function(Tn){return Tn.toString?Tn.toString():""+Tn},Int:function(Tn){return parseInt(Tn)},Float:function(Tn){return parseFloat(Tn)},Number:function(Tn){return Number(Tn)},Date:function(Tn){return new Date(Tn)},Array:function(Tn){return Array.from(Tn)},JSON:function(Tn){return JSON.stringify(Tn)},Object:function(Tn){return Tn instanceof String&&(Tn=Tn.toString()),typeof Tn=="string"?JSON.parse(Tn):Object.assign({},Tn)}},Qr={attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",hideShowStrategies:{},conversions:Wr};class Yr{static OP_TABLE={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS","~":"TILDE"};static isValidCSSClassChar(Zr){return Yr.isAlpha(Zr)||Yr.isNumeric(Zr)||Zr==="-"||Zr==="_"||Zr===":"}static isValidCSSIDChar(Zr){return Yr.isAlpha(Zr)||Yr.isNumeric(Zr)||Zr==="-"||Zr==="_"||Zr===":"}static isWhitespace(Zr){return Zr===" "||Zr===" "||Yr.isNewline(Zr)}static positionString(Zr){return"[Line: "+Zr.line+", Column: "+Zr.column+"]"}static isNewline(Zr){return Zr==="\r"||Zr===`
3
+
`}static isNumeric(Zr){return Zr>="0"&&Zr<="9"}static isAlpha(Zr){return Zr>="a"&&Zr<="z"||Zr>="A"&&Zr<="Z"}static isIdentifierChar(Zr,nn){return Zr==="_"||Zr==="$"}static isReservedChar(Zr){return Zr==="`"||Zr==="^"}static isValidSingleQuoteStringStart(Zr){if(Zr.length>0){var nn=Zr[Zr.length-1];if(nn.type==="IDENTIFIER"||nn.type==="CLASS_REF"||nn.type==="ID_REF"||nn.op&&(nn.value===">"||nn.value===")"))return!1}return!0}static tokenize(Zr,nn){var hn=[],dn=Zr,wn=0,vn=0,yn=1,fn="<START>",An=0;function Rn(){return nn&&An===0}for(;wn<dn.length;)if(sn()==="-"&&pn()==="-"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="-")||sn()==="/"&&pn()==="/"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="/"))qn();else if(sn()==="/"&&pn()==="*"&&(Yr.isWhitespace(En(2))||En(2)===""||En(2)==="*"))Mn();else if(Yr.isWhitespace(sn()))hn.push(Hn());else if(!Nn()&&sn()==="."&&(Yr.isAlpha(pn())||pn()==="{"||pn()==="-"))hn.push(Ln());else if(!Nn()&&sn()==="#"&&(Yr.isAlpha(pn())||pn()==="{"))hn.push(tn());else if(sn()==="["&&pn()==="@")hn.push(Bn());else if(sn()==="@")hn.push(Wn());else if(sn()==="*"&&Yr.isAlpha(pn()))hn.push(jn());else if(Rn()&&(Yr.isAlpha(sn())||sn()==="\\"))hn.push(an());else if(!Rn()&&(Yr.isAlpha(sn())||Yr.isIdentifierChar(sn())))hn.push(Kr());else if(Yr.isNumeric(sn()))hn.push(en());else if(!Rn()&&(sn()==='"'||sn()==="`"))hn.push(on());else if(!Rn()&&sn()==="'")Yr.isValidSingleQuoteStringStart(hn)?hn.push(on()):hn.push(un());else if(Yr.OP_TABLE[sn()])fn==="$"&&sn()==="{"&&An++,sn()==="}"&&An--,hn.push(un());else if(Rn()||Yr.isReservedChar(sn()))hn.push(In("RESERVED",bn()));else if(wn<dn.length)throw Error("Unknown token: "+sn()+" ");return new Jr(hn,[],dn);function Dn(kn,Sn){var Un=In(kn,Sn);return Un.op=!0,Un}function In(kn,Sn){return{type:kn,value:Sn||"",start:wn,end:wn+1,column:vn,line:yn}}function qn(){for(;sn()&&!Yr.isNewline(sn());)bn();bn()}function Mn(){for(;sn()&&!(sn()==="*"&&pn()==="/");)bn();bn(),bn()}function Ln(){var kn=In("CLASS_REF"),Sn=bn();if(sn()==="{"){for(kn.template=!0,Sn+=bn();sn()&&sn()!=="}";)Sn+=bn();if(sn()!=="}")throw Error("Unterminated class reference");Sn+=bn()}else for(;Yr.isValidCSSClassChar(sn())||sn()==="\\";)sn()==="\\"&&bn(),Sn+=bn();return kn.value=Sn,kn.end=wn,kn}function Bn(){for(var kn=In("ATTRIBUTE_REF"),Sn=bn();wn<dn.length&&sn()!=="]";)Sn+=bn();return sn()==="]"&&(Sn+=bn()),kn.value=Sn,kn.end=wn,kn}function Wn(){for(var kn=In("ATTRIBUTE_REF"),Sn=bn();Yr.isValidCSSIDChar(sn());)Sn+=bn();if(sn()==="="){if(Sn+=bn(),sn()==='"'||sn()==="'"){let Un=on();Sn+=Un.value}else if(Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn())){let Un=Kr();Sn+=Un.value}}return kn.value=Sn,kn.end=wn,kn}function jn(){for(var kn=In("STYLE_REF"),Sn=bn();Yr.isAlpha(sn())||sn()==="-";)Sn+=bn();return kn.value=Sn,kn.end=wn,kn}function tn(){var kn=In("ID_REF"),Sn=bn();if(sn()==="{"){for(kn.template=!0,Sn+=bn();sn()&&sn()!=="}";)Sn+=bn();if(sn()!=="}")throw Error("Unterminated id reference");bn()}else for(;Yr.isValidCSSIDChar(sn());)Sn+=bn();return kn.value=Sn,kn.end=wn,kn}function an(){var kn=In("IDENTIFIER"),Sn=bn(),Un=Sn==="\\";for(Un&&(Sn="");(Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn())||sn()==="\\"||sn()==="{"||sn()==="}")&&!(sn()==="$"&&Un===!1);)sn()==="\\"?(Un=!0,bn()):(Un=!1,Sn+=bn());return sn()==="!"&&Sn==="beep"&&(Sn+=bn()),kn.value=Sn,kn.end=wn,kn}function Kr(){for(var kn=In("IDENTIFIER"),Sn=bn();Yr.isAlpha(sn())||Yr.isNumeric(sn())||Yr.isIdentifierChar(sn());)Sn+=bn();return sn()==="!"&&Sn==="beep"&&(Sn+=bn()),kn.value=Sn,kn.end=wn,kn}function en(){for(var kn=In("NUMBER"),Sn=bn();Yr.isNumeric(sn());)Sn+=bn();for(sn()==="."&&Yr.isNumeric(pn())&&(Sn+=bn());Yr.isNumeric(sn());)Sn+=bn();for((sn()==="e"||sn()==="E")&&(Yr.isNumeric(pn())?Sn+=bn():pn()==="-"&&(Sn+=bn(),Sn+=bn()));Yr.isNumeric(sn());)Sn+=bn();return kn.value=Sn,kn.end=wn,kn}function un(){for(var kn=Dn(),Sn=bn();sn()&&Yr.OP_TABLE[Sn+sn()];)Sn+=bn();return kn.type=Yr.OP_TABLE[Sn],kn.value=Sn,kn.end=wn,kn}function on(){var kn=In("STRING"),Sn=bn();kn.template=Sn==="`";for(var Un="";sn()&&sn()!==Sn;)if(sn()==="\\"){bn();let _n=bn();if(_n==="b")Un+="\b";else if(_n==="f")Un+="\f";else if(_n==="n")Un+=`
4
+
`;else if(_n==="r")Un+="\r";else if(_n==="t")Un+=" ";else if(_n==="v")Un+="\v";else if(kn.template&&_n==="$")Un+="\\$";else if(_n==="x"){let ti=cn();if(Number.isNaN(ti))throw Error("Invalid hexadecimal escape at "+Yr.positionString(kn));Un+=String.fromCharCode(ti)}else Un+=_n}else Un+=bn();if(sn()!==Sn)throw Error("Unterminated string at "+Yr.positionString(kn));return bn(),kn.value=Un,kn.end=wn,kn}function cn(){if(!sn())return NaN;let Sn=16*Number.parseInt(bn(),16);return sn()?(Sn+=Number.parseInt(bn(),16),Sn):NaN}function sn(){return dn.charAt(wn)}function pn(){return dn.charAt(wn+1)}function En(kn=1){return dn.charAt(wn+kn)}function bn(){return fn=sn(),wn++,vn++,fn}function Nn(){return Yr.isAlpha(fn)||Yr.isNumeric(fn)||fn===")"||fn==='"'||fn==="'"||fn==="`"||fn==="}"||fn==="]"}function Hn(){for(var kn=In("WHITESPACE"),Sn="";sn()&&Yr.isWhitespace(sn());)Yr.isNewline(sn())&&(vn=0,yn++),Sn+=bn();return kn.value=Sn,kn.end=wn,kn}}tokenize(Zr,nn){return Yr.tokenize(Zr,nn)}}class Jr{constructor(Zr,nn,hn){this.tokens=Zr,this.consumed=nn,this.source=hn,this.consumeWhitespace()}get list(){return this.tokens}_lastConsumed=null;consumeWhitespace(){for(;this.token(0,!0).type==="WHITESPACE";)this.consumed.push(this.tokens.shift())}raiseError(Zr,nn){rn.raiseParseError(Zr,nn)}requireOpToken(Zr){var nn=this.matchOpToken(Zr);if(nn)return nn;this.raiseError(this,"Expected '"+Zr+"' but found '"+this.currentToken().value+"'")}matchAnyOpToken(Zr,nn,hn){for(var dn=0;dn<arguments.length;dn++){var wn=arguments[dn],vn=this.matchOpToken(wn);if(vn)return vn}}matchAnyToken(Zr,nn,hn){for(var dn=0;dn<arguments.length;dn++){var wn=arguments[dn],vn=this.matchToken(wn);if(vn)return vn}}matchOpToken(Zr){if(this.currentToken()&&this.currentToken().op&&this.currentToken().value===Zr)return this.consumeToken()}requireTokenType(Zr,nn,hn,dn){var wn=this.matchTokenType(Zr,nn,hn,dn);if(wn)return wn;this.raiseError(this,"Expected one of "+JSON.stringify([Zr,nn,hn]))}matchTokenType(Zr,nn,hn,dn){if(this.currentToken()&&this.currentToken().type&&[Zr,nn,hn,dn].indexOf(this.currentToken().type)>=0)return this.consumeToken()}requireToken(Zr,nn){var hn=this.matchToken(Zr,nn);if(hn)return hn;this.raiseError(this,"Expected '"+Zr+"' but found '"+this.currentToken().value+"'")}peekToken(Zr,nn,hn){if(nn=nn||0,hn=hn||"IDENTIFIER",this.tokens[nn]&&this.tokens[nn].value===Zr&&this.tokens[nn].type===hn)return this.tokens[nn]}matchToken(Zr,nn){if(this.follows.indexOf(Zr)===-1&&(nn=nn||"IDENTIFIER",this.currentToken()&&this.currentToken().value===Zr&&this.currentToken().type===nn))return this.consumeToken()}consumeToken(){var Zr=this.tokens.shift();return this.consumed.push(Zr),this._lastConsumed=Zr,this.consumeWhitespace(),Zr}consumeUntil(Zr,nn){for(var hn=[],dn=this.token(0,!0);(nn==null||dn.type!==nn)&&(Zr==null||dn.value!==Zr)&&dn.type!=="EOF";){var wn=this.tokens.shift();this.consumed.push(wn),hn.push(dn),dn=this.token(0,!0)}return this.consumeWhitespace(),hn}lastWhitespace(){return this.consumed[this.consumed.length-1]&&this.consumed[this.consumed.length-1].type==="WHITESPACE"?this.consumed[this.consumed.length-1].value:""}consumeUntilWhitespace(){return this.consumeUntil(null,"WHITESPACE")}hasMore(){return this.tokens.length>0}token(Zr,nn){var hn,dn=0;do{if(!nn)for(;this.tokens[dn]&&this.tokens[dn].type==="WHITESPACE";)dn++;hn=this.tokens[dn],Zr--,dn++}while(Zr>-1);return hn||{type:"EOF",value:"<<<EOF>>>"}}currentToken(){return this.token(0)}lastMatch(){return this._lastConsumed}static sourceFor=function(){return this.programSource.substring(this.startToken.start,this.endToken.end)};static lineFor=function(){return this.programSource.split(`
5
+
`)[this.startToken.line-1]};follows=[];pushFollow(Zr){this.follows.push(Zr)}popFollow(){this.follows.pop()}clearFollows(){var Zr=this.follows;return this.follows=[],Zr}restoreFollows(Zr){this.follows=Zr}}class rn{constructor(Zr){this.runtime=Zr,this.possessivesDisabled=!1,this.addGrammarElement("feature",function(nn,hn,dn){if(dn.matchOpToken("(")){var wn=nn.requireElement("feature",dn);return dn.requireOpToken(")"),wn}var vn=nn.FEATURES[dn.currentToken().value||""];if(vn)return vn(nn,hn,dn)}),this.addGrammarElement("command",function(nn,hn,dn){if(dn.matchOpToken("(")){let yn=nn.requireElement("command",dn);return dn.requireOpToken(")"),yn}var wn=nn.COMMANDS[dn.currentToken().value||""];let vn;return wn?vn=wn(nn,hn,dn):dn.currentToken().type==="IDENTIFIER"&&(vn=nn.parseElement("pseudoCommand",dn)),vn&&nn.parseElement("indirectStatement",dn,vn)}),this.addGrammarElement("commandList",function(nn,hn,dn){if(dn.hasMore()){var wn=nn.parseElement("command",dn);if(wn){dn.matchToken("then");let vn=nn.parseElement("commandList",dn);return vn&&(wn.next=vn),wn}}return{type:"emptyCommandListCommand",op:function(vn){return hn.findNext(this,vn)},execute:function(vn){return hn.unifiedExec(this,vn)}}}),this.addGrammarElement("leaf",function(nn,hn,dn){var wn=nn.parseAnyOf(nn.LEAF_EXPRESSIONS,dn);return wn??nn.parseElement("symbol",dn)}),this.addGrammarElement("indirectExpression",function(nn,hn,dn,wn){for(var vn=0;vn<nn.INDIRECT_EXPRESSIONS.length;vn++){var yn=nn.INDIRECT_EXPRESSIONS[vn];wn.endToken=dn.lastMatch();var fn=nn.parseElement(yn,dn,wn);if(fn)return fn}return wn}),this.addGrammarElement("indirectStatement",function(nn,hn,dn,wn){if(dn.matchToken("unless")){wn.endToken=dn.lastMatch();var vn=nn.requireElement("expression",dn),yn={type:"unlessStatementModifier",args:[vn],op:function(fn,An){return An?this.next:wn},execute:function(fn){return hn.unifiedExec(this,fn)}};return wn.parent=yn,yn}return wn}),this.addGrammarElement("primaryExpression",function(nn,hn,dn){var wn=nn.parseElement("leaf",dn);if(wn)return nn.parseElement("indirectExpression",dn,wn);nn.raiseParseError(dn,"Unexpected value: "+dn.currentToken().value)})}use(Zr){return Zr(this),this}GRAMMAR={};COMMANDS={};FEATURES={};LEAF_EXPRESSIONS=[];INDIRECT_EXPRESSIONS=[];initElt(Zr,nn,hn){Zr.startToken=nn,Zr.sourceFor=Jr.sourceFor,Zr.lineFor=Jr.lineFor,Zr.programSource=hn.source}parseElement(Zr,nn,hn=void 0){var dn=this.GRAMMAR[Zr];if(dn){var wn=nn.currentToken(),vn=dn(this,this.runtime,nn,hn);if(vn){this.initElt(vn,wn,nn),vn.endToken=vn.endToken||nn.lastMatch();for(var hn=vn.root;hn!=null;)this.initElt(hn,wn,nn),hn=hn.root}return vn}}requireElement(Zr,nn,hn,dn){var wn=this.parseElement(Zr,nn,dn);return wn||rn.raiseParseError(nn,hn||"Expected "+Zr),wn}parseAnyOf(Zr,nn){for(var hn=0;hn<Zr.length;hn++){var dn=Zr[hn],wn=this.parseElement(dn,nn);if(wn)return wn}}addGrammarElement(Zr,nn){this.GRAMMAR[Zr]=nn}addCommand(Zr,nn){var hn=Zr+"Command",dn=function(wn,vn,yn){let fn=nn(wn,vn,yn);if(fn)return fn.type=hn,fn.execute=function(An){return An.meta.command=fn,vn.unifiedExec(this,An)},fn};this.GRAMMAR[hn]=dn,this.COMMANDS[Zr]=dn}addFeature(Zr,nn){var hn=Zr+"Feature",dn=function(wn,vn,yn){var fn=nn(wn,vn,yn);if(fn)return fn.isFeature=!0,fn.keyword=Zr,fn.type=hn,fn};this.GRAMMAR[hn]=dn,this.FEATURES[Zr]=dn}addLeafExpression(Zr,nn){this.LEAF_EXPRESSIONS.push(Zr),this.addGrammarElement(Zr,nn)}addIndirectExpression(Zr,nn){this.INDIRECT_EXPRESSIONS.push(Zr),this.addGrammarElement(Zr,nn)}static createParserContext(Zr){var nn=Zr.currentToken(),hn=Zr.source,dn=hn.split(`
6
+
`),wn=nn&&nn.line?nn.line-1:dn.length-1,vn=dn[wn],yn=nn&&nn.line?nn.column:vn.length-1;return vn+`
7
7
`+" ".repeat(yn)+`^^
8
8
9
9
`}static raiseParseError(Zr,nn){nn=(nn||"Unexpected Token : "+Zr.currentToken().value)+`
10
10
11
-
`+rn.createParserContext(Zr);var hn=new Error(nn);throw hn.tokens=Zr,hn}raiseParseError(Zr,nn){rn.raiseParseError(Zr,nn)}parseHyperScript(Zr){var nn=this.parseElement("hyperscript",Zr);if(Zr.hasMore()&&this.raiseParseError(Zr),nn)return nn}setParent(Zr,nn){typeof Zr=="object"&&(Zr.parent=nn,typeof nn=="object"&&(nn.children=nn.children||new Set,nn.children.add(Zr)),this.setParent(Zr.next,nn))}commandStart(Zr){return this.COMMANDS[Zr.value||""]}featureStart(Zr){return this.FEATURES[Zr.value||""]}commandBoundary(Zr){return!!(Zr.value=="end"||Zr.value=="then"||Zr.value=="else"||Zr.value=="otherwise"||Zr.value==")"||this.commandStart(Zr)||this.featureStart(Zr)||Zr.type=="EOF")}parseStringTemplate(Zr){var nn=[""];do if(nn.push(Zr.lastWhitespace()),Zr.currentToken().value==="$"){Zr.consumeToken();var hn=Zr.matchOpToken("{");nn.push(this.requireElement("expression",Zr)),hn&&Zr.requireOpToken("}"),nn.push("")}else if(Zr.currentToken().value==="\\")Zr.consumeToken(),Zr.consumeToken();else{var dn=Zr.consumeToken();nn[nn.length-1]+=dn?dn.value:""}while(Zr.hasMore());return nn.push(Zr.lastWhitespace()),nn}ensureTerminated(Zr){let nn=this.runtime;for(var hn={type:"implicitReturn",op:function(xn){return xn.meta.returned=!0,xn.meta.resolve&&xn.meta.resolve(),nn.HALT},execute:function(xn){}},dn=Zr;dn.next;)dn=dn.next;dn.next=hn}}class ln{constructor(Zr,nn){this.lexer=Zr??new Yr,this.parser=nn??new rn(this).use(ci).use(ai),this.parser.runtime=this}matchesSelector(Zr,nn){var hn=Zr.matches||Zr.matchesSelector||Zr.msMatchesSelector||Zr.mozMatchesSelector||Zr.webkitMatchesSelector||Zr.oMatchesSelector;return hn&&hn.call(Zr,nn)}makeEvent(Zr,nn){var hn;return Gr.Event&&typeof Gr.Event=="function"?(hn=new Event(Zr,{bubbles:!0,cancelable:!0,composed:!0}),hn.detail=nn):(hn=document.createEvent("CustomEvent"),hn.initCustomEvent(Zr,!0,!0,nn)),hn}triggerEvent(Zr,nn,hn,dn){hn=hn||{},hn.sender=dn;var xn=this.makeEvent(nn,hn),vn=Zr.dispatchEvent(xn);return vn}isArrayLike(Zr){return Array.isArray(Zr)||typeof NodeList<"u"&&(Zr instanceof NodeList||Zr instanceof HTMLCollection||Zr instanceof FileList)}isIterable(Zr){return typeof Zr=="object"&&Symbol.iterator in Zr&&typeof Zr[Symbol.iterator]=="function"}shouldAutoIterate(Zr){return Zr!=null&&Zr[jn]||this.isArrayLike(Zr)}forEach(Zr,nn){if(Zr!=null)if(this.isIterable(Zr))for(let dn of Zr)nn(dn);else if(this.isArrayLike(Zr))for(var hn=0;hn<Zr.length;hn++)nn(Zr[hn]);else nn(Zr)}implicitLoop(Zr,nn){if(this.shouldAutoIterate(Zr))for(let hn of Zr)nn(hn);else nn(Zr)}wrapArrays(Zr){for(var nn=[],hn=0;hn<Zr.length;hn++){var dn=Zr[hn];Array.isArray(dn)?nn.push(Promise.all(dn)):nn.push(dn)}return nn}unwrapAsyncs(Zr){for(var nn=0;nn<Zr.length;nn++){var hn=Zr[nn];if(hn.asyncWrapper&&(Zr[nn]=hn.value),Array.isArray(hn))for(var dn=0;dn<hn.length;dn++){var xn=hn[dn];xn.asyncWrapper&&(hn[dn]=xn.value)}}}static HALT={};HALT=ln.HALT;unifiedExec(Zr,nn){for(;;){try{var hn=this.unifiedEval(Zr,nn)}catch(dn){if(nn.meta.handlingFinally)console.error(" Exception in finally block: ",dn),hn=ln.HALT;else if(this.registerHyperTrace(nn,dn),nn.meta.errorHandler&&!nn.meta.handlingError){nn.meta.handlingError=!0,nn.locals[nn.meta.errorSymbol]=dn,Zr=nn.meta.errorHandler;continue}else nn.meta.currentException=dn,hn=ln.HALT}if(hn==null){console.error(Zr," did not return a next element to execute! context: ",nn);return}else if(hn.then){hn.then(dn=>{this.unifiedExec(dn,nn)}).catch(dn=>{this.unifiedExec({op:function(){throw dn}},nn)});return}else if(hn===ln.HALT)if(nn.meta.finallyHandler&&!nn.meta.handlingFinally)nn.meta.handlingFinally=!0,Zr=nn.meta.finallyHandler;else if(nn.meta.onHalt&&nn.meta.onHalt(),nn.meta.currentException)if(nn.meta.reject){nn.meta.reject(nn.meta.currentException);return}else throw nn.meta.currentException;else return;else Zr=hn}}unifiedEval(Zr,nn,hn){var dn=[nn],xn=!1,vn=!1;if(Zr.args)for(var yn=0;yn<Zr.args.length;yn++){var fn=Zr.args[yn];if(fn==null)dn.push(null);else if(Array.isArray(fn)){for(var On=[],Rn=0;Rn<fn.length;Rn++){var Dn=fn[Rn],In=Dn?Dn.evaluate(nn):null;In&&(In.then?xn=!0:In.asyncWrapper&&(vn=!0)),On.push(In)}dn.push(On)}else if(fn.evaluate){var In=fn.evaluate(nn);if(In&&(In.then?xn=!0:In.asyncWrapper&&(vn=!0)),dn.push(In),In){if(hn===!0)break}else if(hn===!1)break}else dn.push(fn)}return xn?new Promise((qn,Mn)=>{dn=this.wrapArrays(dn),Promise.all(dn).then(function(Ln){vn&&this.unwrapAsyncs(Ln);try{var Un=Zr.op.apply(Zr,Ln);qn(Un)}catch(Xn){Mn(Xn)}}).catch(function(Ln){Mn(Ln)})}):(vn&&this.unwrapAsyncs(dn),Zr.op.apply(Zr,dn))}_scriptAttrs=null;getScriptAttributes(){return this._scriptAttrs==null&&(this._scriptAttrs=Qr.attributes.replace(/ /g,"").split(",")),this._scriptAttrs}getScript(Zr){for(var nn=0;nn<this.getScriptAttributes().length;nn++){var hn=this.getScriptAttributes()[nn];if(Zr.hasAttribute&&Zr.hasAttribute(hn))return Zr.getAttribute(hn)}return Zr instanceof HTMLScriptElement&&Zr.type==="text/hyperscript"?Zr.innerText:null}hyperscriptFeaturesMap=new WeakMap;getHyperscriptFeatures(Zr){var nn=this.hyperscriptFeaturesMap.get(Zr);return typeof nn>"u"&&Zr&&this.hyperscriptFeaturesMap.set(Zr,nn={}),nn}addFeatures(Zr,nn){Zr&&(Object.assign(nn.locals,this.getHyperscriptFeatures(Zr)),this.addFeatures(Zr.parentElement,nn))}makeContext(Zr,nn,hn,dn){return new An(Zr,nn,hn,dn,this)}getScriptSelector(){return this.getScriptAttributes().map(function(Zr){return"["+Zr+"]"}).join(", ")}convertValue(Zr,nn){for(var hn=Wr.dynamicResolvers,dn=0;dn<hn.length;dn++){var xn=hn[dn],vn=xn(nn,Zr);if(vn!==void 0)return vn}if(Zr==null)return null;var yn=Wr[nn];if(yn)return yn(Zr);throw"Unknown conversion : "+nn}parse(Zr){let nn=this.lexer,hn=this.parser;var dn=nn.tokenize(Zr);if(this.parser.commandStart(dn.currentToken())){var xn=hn.requireElement("commandList",dn);return dn.hasMore()&&hn.raiseParseError(dn),hn.ensureTerminated(xn),xn}else if(hn.featureStart(dn.currentToken())){var vn=hn.requireElement("hyperscript",dn);return dn.hasMore()&&hn.raiseParseError(dn),vn}else{var yn=hn.requireElement("expression",dn);return dn.hasMore()&&hn.raiseParseError(dn),yn}}evaluateNoPromise(Zr,nn){let hn=Zr.evaluate(nn);if(hn.next)throw new Error(Jr.sourceFor.call(Zr)+" returned a Promise in a context that they are not allowed.");return hn}evaluate(Zr,nn,hn){class dn extends EventTarget{constructor(On){super(),this.module=On}toString(){return this.module.id}}var xn="document"in Gr?Gr.document.body:new dn(hn&&hn.module);nn=Object.assign(this.makeContext(xn,null,xn,null),nn||{});var vn=this.parse(Zr);if(vn.execute)return vn.execute(nn),typeof nn.meta.returnValue<"u"?nn.meta.returnValue:nn.result;return vn.apply?(vn.apply(xn,xn,hn),this.getHyperscriptFeatures(xn)):vn.evaluate(nn);function yn(){return{}}}processNode(Zr){var nn=this.getScriptSelector();this.matchesSelector(Zr,nn)&&this.initElement(Zr,Zr),Zr instanceof HTMLScriptElement&&Zr.type==="text/hyperscript"&&this.initElement(Zr,document.body),Zr.querySelectorAll&&this.forEach(Zr.querySelectorAll(nn+", [type='text/hyperscript']"),hn=>{this.initElement(hn,hn instanceof HTMLScriptElement&&hn.type==="text/hyperscript"?document.body:hn)})}initElement(Zr,nn){if(!(Zr.closest&&Zr.closest(Qr.disableSelector))){var hn=this.getInternalData(Zr);if(!hn.initialized){var dn=this.getScript(Zr);if(dn)try{hn.initialized=!0,hn.script=dn;let yn=this.lexer,fn=this.parser;var xn=yn.tokenize(dn),vn=fn.parseHyperScript(xn);if(!vn)return;vn.apply(nn||Zr,Zr),setTimeout(()=>{this.triggerEvent(nn||Zr,"load",{hyperscript:!0})},1)}catch(yn){this.triggerEvent(Zr,"exception",{error:yn}),console.error("hyperscript errors were found on the following element:",Zr,`
11
+
`+rn.createParserContext(Zr);var hn=new Error(nn);throw hn.tokens=Zr,hn}raiseParseError(Zr,nn){rn.raiseParseError(Zr,nn)}parseHyperScript(Zr){var nn=this.parseElement("hyperscript",Zr);if(Zr.hasMore()&&this.raiseParseError(Zr),nn)return nn}setParent(Zr,nn){typeof Zr=="object"&&(Zr.parent=nn,typeof nn=="object"&&(nn.children=nn.children||new Set,nn.children.add(Zr)),this.setParent(Zr.next,nn))}commandStart(Zr){return this.COMMANDS[Zr.value||""]}featureStart(Zr){return this.FEATURES[Zr.value||""]}commandBoundary(Zr){return!!(Zr.value=="end"||Zr.value=="then"||Zr.value=="else"||Zr.value=="otherwise"||Zr.value==")"||this.commandStart(Zr)||this.featureStart(Zr)||Zr.type=="EOF")}parseStringTemplate(Zr){var nn=[""];do if(nn.push(Zr.lastWhitespace()),Zr.currentToken().value==="$"){Zr.consumeToken();var hn=Zr.matchOpToken("{");nn.push(this.requireElement("expression",Zr)),hn&&Zr.requireOpToken("}"),nn.push("")}else if(Zr.currentToken().value==="\\")Zr.consumeToken(),Zr.consumeToken();else{var dn=Zr.consumeToken();nn[nn.length-1]+=dn?dn.value:""}while(Zr.hasMore());return nn.push(Zr.lastWhitespace()),nn}ensureTerminated(Zr){let nn=this.runtime;for(var hn={type:"implicitReturn",op:function(wn){return wn.meta.returned=!0,wn.meta.resolve&&wn.meta.resolve(),nn.HALT},execute:function(wn){}},dn=Zr;dn.next;)dn=dn.next;dn.next=hn}}class ln{constructor(Zr,nn){this.lexer=Zr??new Yr,this.parser=nn??new rn(this).use(ci).use(ai),this.parser.runtime=this}matchesSelector(Zr,nn){var hn=Zr.matches||Zr.matchesSelector||Zr.msMatchesSelector||Zr.mozMatchesSelector||Zr.webkitMatchesSelector||Zr.oMatchesSelector;return hn&&hn.call(Zr,nn)}makeEvent(Zr,nn){var hn;return Gr.Event&&typeof Gr.Event=="function"?(hn=new Event(Zr,{bubbles:!0,cancelable:!0,composed:!0}),hn.detail=nn):(hn=document.createEvent("CustomEvent"),hn.initCustomEvent(Zr,!0,!0,nn)),hn}triggerEvent(Zr,nn,hn,dn){hn=hn||{},hn.sender=dn;var wn=this.makeEvent(nn,hn),vn=Zr.dispatchEvent(wn);return vn}isArrayLike(Zr){return Array.isArray(Zr)||typeof NodeList<"u"&&(Zr instanceof NodeList||Zr instanceof HTMLCollection||Zr instanceof FileList)}isIterable(Zr){return typeof Zr=="object"&&Symbol.iterator in Zr&&typeof Zr[Symbol.iterator]=="function"}shouldAutoIterate(Zr){return Zr!=null&&Zr[Gn]||this.isArrayLike(Zr)}forEach(Zr,nn){if(Zr!=null)if(this.isIterable(Zr))for(let dn of Zr)nn(dn);else if(this.isArrayLike(Zr))for(var hn=0;hn<Zr.length;hn++)nn(Zr[hn]);else nn(Zr)}implicitLoop(Zr,nn){if(this.shouldAutoIterate(Zr))for(let hn of Zr)nn(hn);else nn(Zr)}wrapArrays(Zr){for(var nn=[],hn=0;hn<Zr.length;hn++){var dn=Zr[hn];Array.isArray(dn)?nn.push(Promise.all(dn)):nn.push(dn)}return nn}unwrapAsyncs(Zr){for(var nn=0;nn<Zr.length;nn++){var hn=Zr[nn];if(hn.asyncWrapper&&(Zr[nn]=hn.value),Array.isArray(hn))for(var dn=0;dn<hn.length;dn++){var wn=hn[dn];wn.asyncWrapper&&(hn[dn]=wn.value)}}}static HALT={};HALT=ln.HALT;unifiedExec(Zr,nn){for(;;){try{var hn=this.unifiedEval(Zr,nn)}catch(dn){if(nn.meta.handlingFinally)console.error(" Exception in finally block: ",dn),hn=ln.HALT;else if(this.registerHyperTrace(nn,dn),nn.meta.errorHandler&&!nn.meta.handlingError){nn.meta.handlingError=!0,nn.locals[nn.meta.errorSymbol]=dn,Zr=nn.meta.errorHandler;continue}else nn.meta.currentException=dn,hn=ln.HALT}if(hn==null){console.error(Zr," did not return a next element to execute! context: ",nn);return}else if(hn.then){hn.then(dn=>{this.unifiedExec(dn,nn)}).catch(dn=>{this.unifiedExec({op:function(){throw dn}},nn)});return}else if(hn===ln.HALT)if(nn.meta.finallyHandler&&!nn.meta.handlingFinally)nn.meta.handlingFinally=!0,Zr=nn.meta.finallyHandler;else if(nn.meta.onHalt&&nn.meta.onHalt(),nn.meta.currentException)if(nn.meta.reject){nn.meta.reject(nn.meta.currentException);return}else throw nn.meta.currentException;else return;else Zr=hn}}unifiedEval(Zr,nn,hn){var dn=[nn],wn=!1,vn=!1;if(Zr.args)for(var yn=0;yn<Zr.args.length;yn++){var fn=Zr.args[yn];if(fn==null)dn.push(null);else if(Array.isArray(fn)){for(var An=[],Rn=0;Rn<fn.length;Rn++){var Dn=fn[Rn],In=Dn?Dn.evaluate(nn):null;In&&(In.then?wn=!0:In.asyncWrapper&&(vn=!0)),An.push(In)}dn.push(An)}else if(fn.evaluate){var In=fn.evaluate(nn);if(In&&(In.then?wn=!0:In.asyncWrapper&&(vn=!0)),dn.push(In),In){if(hn===!0)break}else if(hn===!1)break}else dn.push(fn)}return wn?new Promise((qn,Mn)=>{dn=this.wrapArrays(dn),Promise.all(dn).then(function(Ln){vn&&this.unwrapAsyncs(Ln);try{var Bn=Zr.op.apply(Zr,Ln);qn(Bn)}catch(Wn){Mn(Wn)}}).catch(function(Ln){Mn(Ln)})}):(vn&&this.unwrapAsyncs(dn),Zr.op.apply(Zr,dn))}_scriptAttrs=null;getScriptAttributes(){return this._scriptAttrs==null&&(this._scriptAttrs=Qr.attributes.replace(/ /g,"").split(",")),this._scriptAttrs}getScript(Zr){for(var nn=0;nn<this.getScriptAttributes().length;nn++){var hn=this.getScriptAttributes()[nn];if(Zr.hasAttribute&&Zr.hasAttribute(hn))return Zr.getAttribute(hn)}return Zr instanceof HTMLScriptElement&&Zr.type==="text/hyperscript"?Zr.innerText:null}hyperscriptFeaturesMap=new WeakMap;getHyperscriptFeatures(Zr){var nn=this.hyperscriptFeaturesMap.get(Zr);return typeof nn>"u"&&Zr&&this.hyperscriptFeaturesMap.set(Zr,nn={}),nn}addFeatures(Zr,nn){Zr&&(Object.assign(nn.locals,this.getHyperscriptFeatures(Zr)),this.addFeatures(Zr.parentElement,nn))}makeContext(Zr,nn,hn,dn){return new On(Zr,nn,hn,dn,this)}getScriptSelector(){return this.getScriptAttributes().map(function(Zr){return"["+Zr+"]"}).join(", ")}convertValue(Zr,nn){for(var hn=Wr.dynamicResolvers,dn=0;dn<hn.length;dn++){var wn=hn[dn],vn=wn(nn,Zr);if(vn!==void 0)return vn}if(Zr==null)return null;var yn=Wr[nn];if(yn)return yn(Zr);throw"Unknown conversion : "+nn}parse(Zr){let nn=this.lexer,hn=this.parser;var dn=nn.tokenize(Zr);if(this.parser.commandStart(dn.currentToken())){var wn=hn.requireElement("commandList",dn);return dn.hasMore()&&hn.raiseParseError(dn),hn.ensureTerminated(wn),wn}else if(hn.featureStart(dn.currentToken())){var vn=hn.requireElement("hyperscript",dn);return dn.hasMore()&&hn.raiseParseError(dn),vn}else{var yn=hn.requireElement("expression",dn);return dn.hasMore()&&hn.raiseParseError(dn),yn}}evaluateNoPromise(Zr,nn){let hn=Zr.evaluate(nn);if(hn.next)throw new Error(Jr.sourceFor.call(Zr)+" returned a Promise in a context that they are not allowed.");return hn}evaluate(Zr,nn,hn){class dn extends EventTarget{constructor(An){super(),this.module=An}toString(){return this.module.id}}var wn="document"in Gr?Gr.document.body:new dn(hn&&hn.module);nn=Object.assign(this.makeContext(wn,null,wn,null),nn||{});var vn=this.parse(Zr);if(vn.execute)return vn.execute(nn),typeof nn.meta.returnValue<"u"?nn.meta.returnValue:nn.result;return vn.apply?(vn.apply(wn,wn,hn),this.getHyperscriptFeatures(wn)):vn.evaluate(nn);function yn(){return{}}}processNode(Zr){var nn=this.getScriptSelector();this.matchesSelector(Zr,nn)&&this.initElement(Zr,Zr),Zr instanceof HTMLScriptElement&&Zr.type==="text/hyperscript"&&this.initElement(Zr,document.body),Zr.querySelectorAll&&this.forEach(Zr.querySelectorAll(nn+", [type='text/hyperscript']"),hn=>{this.initElement(hn,hn instanceof HTMLScriptElement&&hn.type==="text/hyperscript"?document.body:hn)})}initElement(Zr,nn){if(!(Zr.closest&&Zr.closest(Qr.disableSelector))){var hn=this.getInternalData(Zr);if(!hn.initialized){var dn=this.getScript(Zr);if(dn)try{hn.initialized=!0,hn.script=dn;let yn=this.lexer,fn=this.parser;var wn=yn.tokenize(dn),vn=fn.parseHyperScript(wn);if(!vn)return;vn.apply(nn||Zr,Zr),setTimeout(()=>{this.triggerEvent(nn||Zr,"load",{hyperscript:!0})},1)}catch(yn){this.triggerEvent(Zr,"exception",{error:yn}),console.error("hyperscript errors were found on the following element:",Zr,`
12
12
13
-
`,yn.message,yn.stack)}}}}internalDataMap=new WeakMap;getInternalData(Zr){var nn=this.internalDataMap.get(Zr);return typeof nn>"u"&&this.internalDataMap.set(Zr,nn={}),nn}typeCheck(Zr,nn,hn){if(Zr==null&&hn)return!0;var dn=Object.prototype.toString.call(Zr).slice(8,-1);return dn===nn}getElementScope(Zr){var nn=Zr.meta&&Zr.meta.owner;if(nn){var hn=this.getInternalData(nn),dn="elementScope";Zr.meta.feature&&Zr.meta.feature.behavior&&(dn=Zr.meta.feature.behavior+"Scope");var xn=zn(hn,dn);return xn}else return{}}isReservedWord(Zr){return["meta","it","result","locals","event","target","detail","sender","body"].includes(Zr)}isHyperscriptContext(Zr){return Zr instanceof An}resolveSymbol(Zr,nn,hn){if(Zr==="me"||Zr==="my"||Zr==="I")return nn.me;if(Zr==="it"||Zr==="its"||Zr==="result")return nn.result;if(Zr==="you"||Zr==="your"||Zr==="yourself")return nn.you;if(hn==="global")return Gr[Zr];if(hn==="element"){var dn=this.getElementScope(nn);return dn[Zr]}else{if(hn==="local")return nn.locals[Zr];if(nn.meta&&nn.meta.context){var xn=nn.meta.context[Zr];if(typeof xn<"u"||nn.meta.context.detail&&(xn=nn.meta.context.detail[Zr],typeof xn<"u"))return xn}if(this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr))var vn=nn.locals[Zr];else var vn=nn[Zr];if(typeof vn<"u")return vn;var dn=this.getElementScope(nn);return vn=dn[Zr],typeof vn<"u"?vn:Gr[Zr]}}setSymbol(Zr,nn,hn,dn){if(hn==="global")Gr[Zr]=dn;else if(hn==="element"){var xn=this.getElementScope(nn);xn[Zr]=dn}else if(hn==="local")nn.locals[Zr]=dn;else if(this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr)&&typeof nn.locals[Zr]<"u")nn.locals[Zr]=dn;else{var xn=this.getElementScope(nn),vn=xn[Zr];typeof vn<"u"?xn[Zr]=dn:this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr)?nn.locals[Zr]=dn:nn[Zr]=dn}}findNext(Zr,nn){if(Zr)return Zr.resolveNext?Zr.resolveNext(nn):Zr.next?Zr.next:this.findNext(Zr.parent,nn)}flatGet(Zr,nn,hn){if(Zr!=null){var dn=hn(Zr,nn);if(typeof dn<"u")return dn;if(this.shouldAutoIterate(Zr)){var xn=[];for(var vn of Zr){var yn=hn(vn,nn);xn.push(yn)}return xn}}}resolveProperty(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn[dn])}resolveAttribute(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn.getAttribute&&hn.getAttribute(dn))}resolveStyle(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn.style&&hn.style[dn])}resolveComputedStyle(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>getComputedStyle(hn).getPropertyValue(dn))}assignToNamespace(Zr,nn,hn,dn){let xn;typeof document<"u"&&Zr===document.body?xn=Gr:xn=this.getHyperscriptFeatures(Zr);for(var vn;(vn=nn.shift())!==void 0;){var yn=xn[vn];yn==null&&(yn={},xn[vn]=yn),xn=yn}xn[hn]=dn}getHyperTrace(Zr,nn){for(var hn=[],dn=Zr;dn.meta.caller;)dn=dn.meta.caller;if(dn.meta.traceMap)return dn.meta.traceMap.get(nn,hn)}registerHyperTrace(Zr,nn){for(var hn=[],dn=null;Zr!=null;)hn.push(Zr),dn=Zr,Zr=Zr.meta.caller;if(dn.meta.traceMap==null&&(dn.meta.traceMap=new Map),!dn.meta.traceMap.get(nn)){var xn={trace:hn,print:function(vn){vn=vn||console.error,vn("hypertrace /// ");for(var yn=0,fn=0;fn<hn.length;fn++)yn=Math.max(yn,hn[fn].meta.feature.displayName.length);for(var fn=0;fn<hn.length;fn++){var On=hn[fn];vn(" ->",On.meta.feature.displayName.padEnd(yn+2),"-",On.meta.owner)}}};dn.meta.traceMap.set(nn,xn)}}escapeSelector(Zr){return Zr.replace(/[:&()\[\]\/]/g,function(nn){return"\\"+nn})}nullCheck(Zr,nn){if(Zr==null)throw new Error("'"+nn.sourceFor()+"' is null")}isEmpty(Zr){return Zr==null||Zr.length===0}doesExist(Zr){if(Zr==null)return!1;if(this.shouldAutoIterate(Zr)){for(let nn of Zr)return!0;return!1}return!0}getRootNode(Zr){if(Zr&&Zr instanceof Node){var nn=Zr.getRootNode();if(nn instanceof Document||nn instanceof ShadowRoot)return nn}return document}getEventQueueFor(Zr,nn){let hn=this.getInternalData(Zr);var dn=hn.eventQueues;dn==null&&(dn=new Map,hn.eventQueues=dn);var xn=dn.get(nn);return xn==null&&(xn={queue:[],executing:!1},dn.set(nn,xn)),xn}beepValueToConsole(Zr,nn,hn){if(this.triggerEvent(Zr,"hyperscript:beep",{element:Zr,expression:nn,value:hn})){var dn;hn?hn instanceof Pn?dn="ElementCollection":hn.constructor?dn=hn.constructor.name:dn="unknown":dn="object (null)";var xn=hn;dn==="String"?xn='"'+xn+'"':hn instanceof Pn&&(xn=Array.from(hn)),console.log("///_ BEEP! The expression ("+Jr.sourceFor.call(nn).replace("beep! ","")+") evaluates to:",xn,"of type "+dn)}}hyperscriptUrl="document"in Gr&&document.currentScript?document.currentScript.src:null}function mn(){return document.cookie.split("; ").map(Zr=>{let nn=Zr.split("=");return{name:nn[0],value:decodeURIComponent(nn[1])}})}function gn(Tn){document.cookie=Tn+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"}function wn(){for(let Tn of mn())gn(Tn.name)}let Cn=new Proxy({},{get(Tn,Zr){if(Zr==="then"||Zr==="asyncWrapper")return null;if(Zr==="length")return mn().length;if(Zr==="clear")return gn;if(Zr==="clearAll")return wn;if(typeof Zr=="string")if(isNaN(Zr)){let nn=document.cookie.split("; ").find(hn=>hn.startsWith(Zr+"="))?.split("=")[1];if(nn)return decodeURIComponent(nn)}else return mn()[parseInt(Zr)];else if(Zr===Symbol.iterator)return mn()[Zr]},set(Tn,Zr,nn){var hn=null;return typeof nn=="string"?(hn=encodeURIComponent(nn),hn+=";samesite=lax"):(hn=encodeURIComponent(nn.value),nn.expires&&(hn+=";expires="+nn.maxAge),nn.maxAge&&(hn+=";max-age="+nn.maxAge),nn.partitioned&&(hn+=";partitioned="+nn.partitioned),nn.path&&(hn+=";path="+nn.path),nn.samesite&&(hn+=";samesite="+nn.path),nn.secure&&(hn+=";secure="+nn.path)),document.cookie=Zr+"="+hn,!0}});class An{constructor(Zr,nn,hn,dn,xn){this.meta={parser:xn.parser,lexer:xn.lexer,runtime:xn,owner:Zr,feature:nn,iterators:{},ctx:this},this.locals={cookies:Cn},this.me=hn,this.you=void 0,this.result=void 0,this.event=dn,this.target=dn?dn.target:null,this.detail=dn?dn.detail:null,this.sender=dn&&dn.detail?dn.detail.sender:null,this.body="document"in Gr?document.body:null,xn.addFeatures(Zr,this)}}class Pn{constructor(Zr,nn,hn){this._css=Zr,this.relativeToElement=nn,this.escape=hn,this[jn]=!0}get css(){return this.escape?ln.prototype.escapeSelector(this._css):this._css}get className(){return this._css.substr(1)}get id(){return this.className()}contains(Zr){for(let nn of this)if(nn.contains(Zr))return!0;return!1}get length(){return this.selectMatches().length}[Symbol.iterator](){return this.selectMatches()[Symbol.iterator]()}selectMatches(){return ln.prototype.getRootNode(this.relativeToElement).querySelectorAll(this.css)}}let jn=Symbol();function zn(Tn,Zr){var nn=Tn[Zr];if(nn)return nn;var hn={};return Tn[Zr]=hn,hn}function Wn(Tn){try{return JSON.parse(Tn)}catch(Zr){return ni(Zr),null}}function ni(Tn){console.error?console.error(Tn):console.log&&console.log("ERROR: ",Tn)}function gi(Tn,Zr){return new(Tn.bind.apply(Tn,[Tn].concat(Zr)))}function ci(Tn){Tn.addLeafExpression("parenthesized",function(tn,an,Kr){if(Kr.matchOpToken("(")){var en=Kr.clearFollows();try{var un=tn.requireElement("expression",Kr)}finally{Kr.restoreFollows(en)}return Kr.requireOpToken(")"),un}}),Tn.addLeafExpression("string",function(tn,an,Kr){var en=Kr.matchTokenType("STRING");if(en){var un=en.value,on;if(en.template){var cn=Yr.tokenize(un,!0);on=tn.parseStringTemplate(cn)}else on=[];return{type:"string",token:en,args:on,op:function(sn){for(var pn="",En=1;En<arguments.length;En++){var bn=arguments[En];bn!==void 0&&(pn+=bn)}return pn},evaluate:function(sn){return on.length===0?un:an.unifiedEval(this,sn)}}}}),Tn.addGrammarElement("nakedString",function(tn,an,Kr){if(Kr.hasMore()){var en=Kr.consumeUntilWhitespace();return Kr.matchTokenType("WHITESPACE"),{type:"nakedString",tokens:en,evaluate:function(un){return en.map(function(on){return on.value}).join("")}}}}),Tn.addLeafExpression("number",function(tn,an,Kr){var en=Kr.matchTokenType("NUMBER");if(en){var un=en,on=parseFloat(en.value);return{type:"number",value:on,numberToken:un,evaluate:function(){return on}}}}),Tn.addLeafExpression("idRef",function(tn,an,Kr){var en=Kr.matchTokenType("ID_REF");if(en&&en.value)if(en.template){var un=en.value.substring(2),on=Yr.tokenize(un),cn=tn.requireElement("expression",on);return{type:"idRefTemplate",args:[cn],op:function(sn,pn){return an.getRootNode(sn.me).getElementById(pn)},evaluate:function(sn){return an.unifiedEval(this,sn)}}}else{let sn=en.value.substring(1);return{type:"idRef",css:en.value,value:sn,evaluate:function(pn){return an.getRootNode(pn.me).getElementById(sn)}}}}),Tn.addLeafExpression("classRef",function(tn,an,Kr){var en=Kr.matchTokenType("CLASS_REF");if(en&&en.value)if(en.template){var un=en.value.substring(2),on=Yr.tokenize(un),cn=tn.requireElement("expression",on);return{type:"classRefTemplate",args:[cn],op:function(sn,pn){return new Pn("."+pn,sn.me,!0)},evaluate:function(sn){return an.unifiedEval(this,sn)}}}else{let sn=en.value;return{type:"classRef",css:sn,evaluate:function(pn){return new Pn(sn,pn.me,!0)}}}});class Zr extends Pn{constructor(an,Kr,en){super(an,Kr),this.templateParts=en,this.elements=en.filter(un=>un instanceof Element)}get css(){let an="",Kr=0;for(let en of this.templateParts)en instanceof Element?an+="[data-hs-query-id='"+Kr+++"']":an+=en;return an}[Symbol.iterator](){this.elements.forEach((Kr,en)=>Kr.dataset.hsQueryId=en);let an=super[Symbol.iterator]();return this.elements.forEach(Kr=>Kr.removeAttribute("data-hs-query-id")),an}}Tn.addLeafExpression("queryRef",function(tn,an,Kr){var en=Kr.matchOpToken("<");if(en){var un=Kr.consumeUntil("/");Kr.requireOpToken("/"),Kr.requireOpToken(">");var on=un.map(function(En){return En.type==="STRING"?'"'+En.value+'"':En.value}).join(""),cn,sn,pn;return/\$[^=]/.test(on)&&(cn=!0,sn=Yr.tokenize(on,!0),pn=tn.parseStringTemplate(sn)),{type:"queryRef",css:on,args:pn,op:function(En,...bn){return cn?new Zr(on,En.me,bn):new Pn(on,En.me)},evaluate:function(En){return an.unifiedEval(this,En)}}}}),Tn.addLeafExpression("attributeRef",function(tn,an,Kr){var en=Kr.matchTokenType("ATTRIBUTE_REF");if(en&&en.value){var un=en.value;if(un.indexOf("[")===0)var on=un.substring(2,un.length-1);else var on=un.substring(1);var cn="["+on+"]",sn=on.split("="),pn=sn[0],En=sn[1];return En&&En.indexOf('"')===0&&(En=En.substring(1,En.length-1)),{type:"attributeRef",name:pn,css:cn,value:En,op:function(bn){var Nn=bn.you||bn.me;if(Nn)return Nn.getAttribute(pn)},evaluate:function(bn){return an.unifiedEval(this,bn)}}}}),Tn.addLeafExpression("styleRef",function(tn,an,Kr){var en=Kr.matchTokenType("STYLE_REF");if(en&&en.value){var un=en.value.substr(1);return un.startsWith("computed-")?(un=un.substr(9),{type:"computedStyleRef",name:un,op:function(on){var cn=on.you||on.me;if(cn)return an.resolveComputedStyle(cn,un)},evaluate:function(on){return an.unifiedEval(this,on)}}):{type:"styleRef",name:un,op:function(on){var cn=on.you||on.me;if(cn)return an.resolveStyle(cn,un)},evaluate:function(on){return an.unifiedEval(this,on)}}}}),Tn.addGrammarElement("objectKey",function(tn,an,Kr){var en;if(en=Kr.matchTokenType("STRING"))return{type:"objectKey",key:en.value,evaluate:function(){return en.value}};if(Kr.matchOpToken("[")){var un=tn.parseElement("expression",Kr);return Kr.requireOpToken("]"),{type:"objectKey",expr:un,args:[un],op:function(cn,sn){return sn},evaluate:function(cn){return an.unifiedEval(this,cn)}}}else{var on="";do en=Kr.matchTokenType("IDENTIFIER")||Kr.matchOpToken("-"),en&&(on+=en.value);while(en);return{type:"objectKey",key:on,evaluate:function(){return on}}}}),Tn.addLeafExpression("objectLiteral",function(tn,an,Kr){if(Kr.matchOpToken("{")){var en=[],un=[];if(!Kr.matchOpToken("}")){do{var on=tn.requireElement("objectKey",Kr);Kr.requireOpToken(":");var cn=tn.requireElement("expression",Kr);un.push(cn),en.push(on)}while(Kr.matchOpToken(",")&&!Kr.peekToken("}",0,"R_BRACE"));Kr.requireOpToken("}")}return{type:"objectLiteral",args:[en,un],op:function(sn,pn,En){for(var bn={},Nn=0;Nn<pn.length;Nn++)bn[pn[Nn]]=En[Nn];return bn},evaluate:function(sn){return an.unifiedEval(this,sn)}}}}),Tn.addGrammarElement("nakedNamedArgumentList",function(tn,an,Kr){var en=[],un=[];if(Kr.currentToken().type==="IDENTIFIER")do{var on=Kr.requireTokenType("IDENTIFIER");Kr.requireOpToken(":");var cn=tn.requireElement("expression",Kr);un.push(cn),en.push({name:on,value:cn})}while(Kr.matchOpToken(","));return{type:"namedArgumentList",fields:en,args:[un],op:function(sn,pn){for(var En={_namedArgList_:!0},bn=0;bn<pn.length;bn++){var Nn=en[bn];En[Nn.name.value]=pn[bn]}return En},evaluate:function(sn){return an.unifiedEval(this,sn)}}}),Tn.addGrammarElement("namedArgumentList",function(tn,an,Kr){if(Kr.matchOpToken("(")){var en=tn.requireElement("nakedNamedArgumentList",Kr);return Kr.requireOpToken(")"),en}}),Tn.addGrammarElement("symbol",function(tn,an,Kr){var en="default";Kr.matchToken("global")?en="global":Kr.matchToken("element")||Kr.matchToken("module")?(en="element",Kr.matchOpToken("'")&&Kr.requireToken("s")):Kr.matchToken("local")&&(en="local");let un=Kr.matchOpToken(":"),on=Kr.matchTokenType("IDENTIFIER");if(on&&on.value){var cn=on.value;return un&&(cn=":"+cn),en==="default"&&(cn.indexOf("$")===0&&(en="global"),cn.indexOf(":")===0&&(en="element")),{type:"symbol",token:on,scope:en,name:cn,evaluate:function(sn){return an.resolveSymbol(cn,sn,en)}}}}),Tn.addGrammarElement("implicitMeTarget",function(tn,an,Kr){return{type:"implicitMeTarget",evaluate:function(en){return en.you||en.me}}}),Tn.addLeafExpression("boolean",function(tn,an,Kr){var en=Kr.matchToken("true")||Kr.matchToken("false");if(!en)return;let un=en.value==="true";return{type:"boolean",evaluate:function(on){return un}}}),Tn.addLeafExpression("null",function(tn,an,Kr){if(Kr.matchToken("null"))return{type:"null",evaluate:function(en){return null}}}),Tn.addLeafExpression("arrayLiteral",function(tn,an,Kr){if(Kr.matchOpToken("[")){var en=[];if(!Kr.matchOpToken("]")){do{var un=tn.requireElement("expression",Kr);en.push(un)}while(Kr.matchOpToken(","));Kr.requireOpToken("]")}return{type:"arrayLiteral",values:en,args:[en],op:function(on,cn){return cn},evaluate:function(on){return an.unifiedEval(this,on)}}}}),Tn.addLeafExpression("blockLiteral",function(tn,an,Kr){if(Kr.matchOpToken("\\")){var en=[],un=Kr.matchTokenType("IDENTIFIER");if(un)for(en.push(un);Kr.matchOpToken(",");)en.push(Kr.requireTokenType("IDENTIFIER"));Kr.requireOpToken("-"),Kr.requireOpToken(">");var on=tn.requireElement("expression",Kr);return{type:"blockLiteral",args:en,expr:on,evaluate:function(cn){var sn=function(){for(var pn=0;pn<en.length;pn++)cn.locals[en[pn].value]=arguments[pn];return on.evaluate(cn)};return sn}}}}),Tn.addIndirectExpression("propertyAccess",function(tn,an,Kr,en){if(Kr.matchOpToken(".")){var un=Kr.requireTokenType("IDENTIFIER"),on={type:"propertyAccess",root:en,prop:un,args:[en],op:function(cn,sn){var pn=an.resolveProperty(sn,un.value);return pn},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("of",function(tn,an,Kr,en){if(Kr.matchToken("of")){for(var un=tn.requireElement("unaryExpression",Kr),on=null,cn=en;cn.root;)on=cn,cn=cn.root;cn.type!=="symbol"&&cn.type!=="attributeRef"&&cn.type!=="styleRef"&&cn.type!=="computedStyleRef"&&tn.raiseParseError(Kr,"Cannot take a property of a non-symbol: "+cn.type);var sn=cn.type==="attributeRef",pn=cn.type==="styleRef"||cn.type==="computedStyleRef";if(sn||pn)var En=cn;var bn=cn.name,Nn={type:"ofExpression",prop:cn.token,root:un,attribute:En,expression:en,args:[un],op:function(Hn,kn){return sn?an.resolveAttribute(kn,bn):pn?cn.type==="computedStyleRef"?an.resolveComputedStyle(kn,bn):an.resolveStyle(kn,bn):an.resolveProperty(kn,bn)},evaluate:function(Hn){return an.unifiedEval(this,Hn)}};return cn.type==="attributeRef"&&(Nn.attribute=cn),on?(on.root=Nn,on.args=[Nn]):en=Nn,tn.parseElement("indirectExpression",Kr,en)}}),Tn.addIndirectExpression("possessive",function(tn,an,Kr,en){if(!tn.possessivesDisabled){var un=Kr.matchOpToken("'");if(un||en.type==="symbol"&&(en.name==="my"||en.name==="its"||en.name==="your")&&(Kr.currentToken().type==="IDENTIFIER"||Kr.currentToken().type==="ATTRIBUTE_REF"||Kr.currentToken().type==="STYLE_REF")){un&&Kr.requireToken("s");var on,cn,sn;on=tn.parseElement("attributeRef",Kr),on==null&&(cn=tn.parseElement("styleRef",Kr),cn==null&&(sn=Kr.requireTokenType("IDENTIFIER")));var pn={type:"possessive",root:en,attribute:on||cn,prop:sn,args:[en],op:function(En,bn){if(on)var Nn=an.resolveAttribute(bn,on.name);else if(cn){var Nn;cn.type==="computedStyleRef"?Nn=an.resolveComputedStyle(bn,cn.name):Nn=an.resolveStyle(bn,cn.name)}else var Nn=an.resolveProperty(bn,sn.value);return Nn},evaluate:function(En){return an.unifiedEval(this,En)}};return tn.parseElement("indirectExpression",Kr,pn)}}}),Tn.addIndirectExpression("inExpression",function(tn,an,Kr,en){if(Kr.matchToken("in")){var un=tn.requireElement("unaryExpression",Kr),on={type:"inExpression",root:en,args:[en,un],op:function(cn,sn,pn){var En=[];if(sn.css)an.implicitLoop(pn,function(Nn){for(var Hn=Nn.querySelectorAll(sn.css),kn=0;kn<Hn.length;kn++)En.push(Hn[kn])});else if(sn instanceof Element){var bn=!1;if(an.implicitLoop(pn,function(Nn){Nn.contains(sn)&&(bn=!0)}),bn)return sn}else an.implicitLoop(sn,function(Nn){an.implicitLoop(pn,function(Hn){Nn===Hn&&En.push(Nn)})});return En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("asExpression",function(tn,an,Kr,en){if(Kr.matchToken("as")){Kr.matchToken("a")||Kr.matchToken("an");var un=tn.requireElement("dotOrColonPath",Kr).evaluate(),on={type:"asExpression",root:en,args:[en],op:function(cn,sn){return an.convertValue(sn,un)},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("functionCall",function(tn,an,Kr,en){if(Kr.matchOpToken("(")){var un=[];if(!Kr.matchOpToken(")")){do un.push(tn.requireElement("expression",Kr));while(Kr.matchOpToken(","));Kr.requireOpToken(")")}if(en.root)var on={type:"functionCall",root:en,argExressions:un,args:[en.root,un],op:function(cn,sn,pn){an.nullCheck(sn,en.root);var En=sn[en.prop.value];return an.nullCheck(En,en),En.hyperfunc&&pn.push(cn),En.apply(sn,pn)},evaluate:function(cn){return an.unifiedEval(this,cn)}};else var on={type:"functionCall",root:en,argExressions:un,args:[en,un],op:function(sn,pn,En){an.nullCheck(pn,en),pn.hyperfunc&&En.push(sn);var bn=pn.apply(null,En);return bn},evaluate:function(sn){return an.unifiedEval(this,sn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("attributeRefAccess",function(tn,an,Kr,en){var un=tn.parseElement("attributeRef",Kr);if(un){var on={type:"attributeRefAccess",root:en,attribute:un,args:[en],op:function(cn,sn){var pn=an.resolveAttribute(sn,un.name);return pn},evaluate:function(cn){return an.unifiedEval(this,cn)}};return on}}),Tn.addIndirectExpression("arrayIndex",function(tn,an,Kr,en){if(Kr.matchOpToken("[")){var un=!1,on=!1,cn=null,sn=null;if(Kr.matchOpToken(".."))un=!0,cn=tn.requireElement("expression",Kr);else if(cn=tn.requireElement("expression",Kr),Kr.matchOpToken("..")){on=!0;var pn=Kr.currentToken();pn.type!=="R_BRACKET"&&(sn=tn.parseElement("expression",Kr))}Kr.requireOpToken("]");var En={type:"arrayIndex",root:en,prop:cn,firstIndex:cn,secondIndex:sn,args:[en,cn,sn],op:function(bn,Nn,Hn,kn){return Nn==null?null:un?(Hn<0&&(Hn=Nn.length+Hn),Nn.slice(0,Hn+1)):on?kn!=null?(kn<0&&(kn=Nn.length+kn),Nn.slice(Hn,kn+1)):Nn.slice(Hn):Nn[Hn]},evaluate:function(bn){return an.unifiedEval(this,bn)}};return tn.parseElement("indirectExpression",Kr,En)}});var nn=["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","pc","pt","px"];Tn.addGrammarElement("postfixExpression",function(tn,an,Kr){var en=tn.parseElement("negativeNumber",Kr);let un=Kr.matchAnyToken.apply(Kr,nn)||Kr.matchOpToken("%");if(un)return{type:"stringPostfix",postfix:un.value,args:[en],op:function(pn,En){return""+En+un.value},evaluate:function(pn){return an.unifiedEval(this,pn)}};var on=null;if(Kr.matchToken("s")||Kr.matchToken("seconds")?on=1e3:(Kr.matchToken("ms")||Kr.matchToken("milliseconds"))&&(on=1),on)return{type:"timeExpression",time:en,factor:on,args:[en],op:function(pn,En){return En*on},evaluate:function(pn){return an.unifiedEval(this,pn)}};if(Kr.matchOpToken(":")){var cn=Kr.requireTokenType("IDENTIFIER");if(!cn.value)return;var sn=!Kr.matchOpToken("!");return{type:"typeCheck",typeName:cn,nullOk:sn,args:[en],op:function(pn,En){var bn=an.typeCheck(En,this.typeName.value,sn);if(bn)return En;throw new Error("Typecheck failed! Expected: "+cn.value)},evaluate:function(pn){return an.unifiedEval(this,pn)}}}else return en}),Tn.addGrammarElement("logicalNot",function(tn,an,Kr){if(Kr.matchToken("not")){var en=tn.requireElement("unaryExpression",Kr);return{type:"logicalNot",root:en,args:[en],op:function(un,on){return!on},evaluate:function(un){return an.unifiedEval(this,un)}}}}),Tn.addGrammarElement("noExpression",function(tn,an,Kr){if(Kr.matchToken("no")){var en=tn.requireElement("unaryExpression",Kr);return{type:"noExpression",root:en,args:[en],op:function(un,on){return an.isEmpty(on)},evaluate:function(un){return an.unifiedEval(this,un)}}}}),Tn.addLeafExpression("some",function(tn,an,Kr){if(Kr.matchToken("some")){var en=tn.requireElement("expression",Kr);return{type:"noExpression",root:en,args:[en],op:function(un,on){return!an.isEmpty(on)},evaluate(un){return an.unifiedEval(this,un)}}}}),Tn.addGrammarElement("negativeNumber",function(tn,an,Kr){if(Kr.matchOpToken("-")){var en=tn.requireElement("negativeNumber",Kr);return{type:"negativeNumber",root:en,args:[en],op:function(un,on){return-1*on},evaluate:function(un){return an.unifiedEval(this,un)}}}else return tn.requireElement("primaryExpression",Kr)}),Tn.addGrammarElement("unaryExpression",function(tn,an,Kr){return Kr.matchToken("the"),tn.parseAnyOf(["beepExpression","logicalNot","relativePositionalExpression","positionalExpression","noExpression","postfixExpression"],Kr)}),Tn.addGrammarElement("beepExpression",function(tn,an,Kr){if(Kr.matchToken("beep!")){var en=tn.parseElement("unaryExpression",Kr);if(en){en.booped=!0;var un=en.evaluate;return en.evaluate=function(on){let cn=un.apply(en,arguments),sn=on.me;return an.beepValueToConsole(sn,en,cn),cn},en}}});var hn=function(tn,an,Kr,en){for(var un=an.querySelectorAll(Kr),on=0;on<un.length;on++){var cn=un[on];if(cn.compareDocumentPosition(tn)===Node.DOCUMENT_POSITION_PRECEDING)return cn}if(en)return un[0]},dn=function(tn,an,Kr,en){for(var un=an.querySelectorAll(Kr),on=un.length-1;on>=0;on--){var cn=un[on];if(cn.compareDocumentPosition(tn)===Node.DOCUMENT_POSITION_FOLLOWING)return cn}if(en)return un[un.length-1]},xn=function(tn,an,Kr,en){var un=[];ln.prototype.forEach(an,function(pn){(pn.matches(Kr)||pn===tn)&&un.push(pn)});for(var on=0;on<un.length-1;on++){var cn=un[on];if(cn===tn)return un[on+1]}if(en){var sn=un[0];if(sn&&sn.matches(Kr))return sn}},vn=function(tn,an,Kr,en){return xn(tn,Array.from(an).reverse(),Kr,en)};Tn.addGrammarElement("relativePositionalExpression",function(tn,an,Kr){var en=Kr.matchAnyToken("next","previous");if(en){var un=en.value==="next",on=tn.parseElement("expression",Kr);if(Kr.matchToken("from")){Kr.pushFollow("in");try{var cn=tn.requireElement("unaryExpression",Kr)}finally{Kr.popFollow()}}else var cn=tn.requireElement("implicitMeTarget",Kr);var sn=!1,pn;if(Kr.matchToken("in")){sn=!0;var En=tn.requireElement("unaryExpression",Kr)}else Kr.matchToken("within")?pn=tn.requireElement("unaryExpression",Kr):pn=document.body;var bn=!1;return Kr.matchToken("with")&&(Kr.requireToken("wrapping"),bn=!0),{type:"relativePositionalExpression",from:cn,forwardSearch:un,inSearch:sn,wrapping:bn,inElt:En,withinElt:pn,operator:en.value,args:[on,cn,En,pn],op:function(Nn,Hn,kn,Sn,Bn){var _n=Hn.css;if(_n==null)throw"Expected a CSS value to be returned by "+Jr.sourceFor.apply(on);if(sn){if(Sn)return un?xn(kn,Sn,_n,bn):vn(kn,Sn,_n,bn)}else if(Bn)return un?hn(kn,Bn,_n,bn):dn(kn,Bn,_n,bn)},evaluate:function(Nn){return an.unifiedEval(this,Nn)}}}}),Tn.addGrammarElement("positionalExpression",function(tn,an,Kr){var en=Kr.matchAnyToken("first","last","random");if(!en)return;Kr.matchAnyToken("in","from","of");var un=tn.requireElement("unaryExpression",Kr);let on=en.value;return{type:"positionalExpression",rhs:un,operator:en.value,args:[un],op:function(cn,sn){if(sn&&!Array.isArray(sn)&&(sn.children?sn=sn.children:sn=Array.from(sn)),sn){if(on==="first")return sn[0];if(on==="last")return sn[sn.length-1];if(on==="random")return sn[Math.floor(Math.random()*sn.length)]}},evaluate:function(cn){return an.unifiedEval(this,cn)}}}),Tn.addGrammarElement("mathOperator",function(tn,an,Kr){var en=tn.parseElement("unaryExpression",Kr),un,on=null;for(un=Kr.matchAnyOpToken("+","-","*","/")||Kr.matchToken("mod");un;){on=on||un;var cn=un.value;on.value!==cn&&tn.raiseParseError(Kr,"You must parenthesize math operations with different operators");var sn=tn.parseElement("unaryExpression",Kr);en={type:"mathOperator",lhs:en,rhs:sn,operator:cn,args:[en,sn],op:function(pn,En,bn){if(cn==="+")return En+bn;if(cn==="-")return En-bn;if(cn==="*")return En*bn;if(cn==="/")return En/bn;if(cn==="mod")return En%bn},evaluate:function(pn){return an.unifiedEval(this,pn)}},un=Kr.matchAnyOpToken("+","-","*","/")||Kr.matchToken("mod")}return en}),Tn.addGrammarElement("mathExpression",function(tn,an,Kr){return tn.parseAnyOf(["mathOperator","unaryExpression"],Kr)});function yn(tn,an,Kr){if(an.contains)return an.contains(Kr);if(an.includes)return an.includes(Kr);throw Error("The value of "+tn.sourceFor()+" does not have a contains or includes method on it")}function fn(tn,an,Kr){if(an.match)return!!an.match(Kr);if(an.matches)return an.matches(Kr);throw Error("The value of "+tn.sourceFor()+" does not have a match or matches method on it")}Tn.addGrammarElement("comparisonOperator",function(tn,an,Kr){var en=tn.parseElement("mathExpression",Kr),un=Kr.matchAnyOpToken("<",">","<=",">=","==","===","!=","!=="),on=un?un.value:null,cn=!0,sn=!1;if(on==null&&(Kr.matchToken("is")||Kr.matchToken("am")?Kr.matchToken("not")?Kr.matchToken("in")?on="not in":Kr.matchToken("a")||Kr.matchToken("an")?(on="not a",sn=!0):Kr.matchToken("empty")?(on="not empty",cn=!1):(Kr.matchToken("really")?on="!==":on="!=",Kr.matchToken("equal")&&Kr.matchToken("to")):Kr.matchToken("in")?on="in":Kr.matchToken("a")||Kr.matchToken("an")?(on="a",sn=!0):Kr.matchToken("empty")?(on="empty",cn=!1):Kr.matchToken("less")?(Kr.requireToken("than"),Kr.matchToken("or")?(Kr.requireToken("equal"),Kr.requireToken("to"),on="<="):on="<"):Kr.matchToken("greater")?(Kr.requireToken("than"),Kr.matchToken("or")?(Kr.requireToken("equal"),Kr.requireToken("to"),on=">="):on=">"):(Kr.matchToken("really")?on="===":on="==",Kr.matchToken("equal")&&Kr.matchToken("to")):Kr.matchToken("equals")?on="==":Kr.matchToken("really")?(Kr.requireToken("equals"),on="==="):Kr.matchToken("exist")||Kr.matchToken("exists")?(on="exist",cn=!1):Kr.matchToken("matches")||Kr.matchToken("match")?on="match":Kr.matchToken("contains")||Kr.matchToken("contain")?on="contain":Kr.matchToken("includes")||Kr.matchToken("include")?on="include":(Kr.matchToken("do")||Kr.matchToken("does"))&&(Kr.requireToken("not"),Kr.matchToken("matches")||Kr.matchToken("match")?on="not match":Kr.matchToken("contains")||Kr.matchToken("contain")?on="not contain":Kr.matchToken("exist")||Kr.matchToken("exist")?(on="not exist",cn=!1):Kr.matchToken("include")?on="not include":tn.raiseParseError(Kr,"Expected matches or contains"))),on){var pn,En,bn;sn?(pn=Kr.requireTokenType("IDENTIFIER"),En=!Kr.matchOpToken("!")):cn&&(bn=tn.requireElement("mathExpression",Kr),(on==="match"||on==="not match")&&(bn=bn.css?bn.css:bn));var Nn=en;en={type:"comparisonOperator",operator:on,typeName:pn,nullOk:En,lhs:en,rhs:bn,args:[en,bn],op:function(Hn,kn,Sn){if(on==="==")return kn==Sn;if(on==="!=")return kn!=Sn;if(on==="===")return kn===Sn;if(on==="!==")return kn!==Sn;if(on==="match")return kn!=null&&fn(Nn,kn,Sn);if(on==="not match")return kn==null||!fn(Nn,kn,Sn);if(on==="in")return Sn!=null&&yn(bn,Sn,kn);if(on==="not in")return Sn==null||!yn(bn,Sn,kn);if(on==="contain")return kn!=null&&yn(Nn,kn,Sn);if(on==="not contain")return kn==null||!yn(Nn,kn,Sn);if(on==="include")return kn!=null&&yn(Nn,kn,Sn);if(on==="not include")return kn==null||!yn(Nn,kn,Sn);if(on==="===")return kn===Sn;if(on==="!==")return kn!==Sn;if(on==="<")return kn<Sn;if(on===">")return kn>Sn;if(on==="<=")return kn<=Sn;if(on===">=")return kn>=Sn;if(on==="empty")return an.isEmpty(kn);if(on==="not empty")return!an.isEmpty(kn);if(on==="exist")return an.doesExist(kn);if(on==="not exist")return!an.doesExist(kn);if(on==="a")return an.typeCheck(kn,pn.value,En);if(on==="not a")return!an.typeCheck(kn,pn.value,En);throw"Unknown comparison : "+on},evaluate:function(Hn){return an.unifiedEval(this,Hn)}}}return en}),Tn.addGrammarElement("comparisonExpression",function(tn,an,Kr){return tn.parseAnyOf(["comparisonOperator","mathExpression"],Kr)}),Tn.addGrammarElement("logicalOperator",function(tn,an,Kr){var en=tn.parseElement("comparisonExpression",Kr),un,on=null;for(un=Kr.matchToken("and")||Kr.matchToken("or");un;){on=on||un,on.value!==un.value&&tn.raiseParseError(Kr,"You must parenthesize logical operations with different operators");var cn=tn.requireElement("comparisonExpression",Kr);let sn=un.value;en={type:"logicalOperator",operator:sn,lhs:en,rhs:cn,args:[en,cn],op:function(pn,En,bn){return sn==="and"?En&&bn:En||bn},evaluate:function(pn){return an.unifiedEval(this,pn,sn==="or")}},un=Kr.matchToken("and")||Kr.matchToken("or")}return en}),Tn.addGrammarElement("logicalExpression",function(tn,an,Kr){return tn.parseAnyOf(["logicalOperator","mathExpression"],Kr)}),Tn.addGrammarElement("asyncExpression",function(tn,an,Kr){if(Kr.matchToken("async")){var en=tn.requireElement("logicalExpression",Kr),un={type:"asyncExpression",value:en,evaluate:function(on){return{asyncWrapper:!0,value:this.value.evaluate(on)}}};return un}else return tn.parseElement("logicalExpression",Kr)}),Tn.addGrammarElement("expression",function(tn,an,Kr){return Kr.matchToken("the"),tn.parseElement("asyncExpression",Kr)}),Tn.addGrammarElement("assignableExpression",function(tn,an,Kr){Kr.matchToken("the");var en=tn.parseElement("primaryExpression",Kr);return en&&(en.type==="symbol"||en.type==="ofExpression"||en.type==="propertyAccess"||en.type==="attributeRefAccess"||en.type==="attributeRef"||en.type==="styleRef"||en.type==="arrayIndex"||en.type==="possessive")||tn.raiseParseError(Kr,"A target expression must be writable. The expression type '"+(en&&en.type)+"' is not."),en}),Tn.addGrammarElement("hyperscript",function(tn,an,Kr){var en=[];if(Kr.hasMore())for(;tn.featureStart(Kr.currentToken())||Kr.currentToken().value==="(";){var un=tn.requireElement("feature",Kr);en.push(un),Kr.matchToken("end")}return{type:"hyperscript",features:en,apply:function(on,cn,sn){for(let pn of en)pn.install(on,cn,sn)}}});var On=function(tn){var an=[];if(tn.token(0).value==="("&&(tn.token(1).value===")"||tn.token(2).value===","||tn.token(2).value===")")){tn.matchOpToken("(");do an.push(tn.requireTokenType("IDENTIFIER"));while(tn.matchOpToken(","));tn.requireOpToken(")")}return an};Tn.addFeature("on",function(tn,an,Kr){if(Kr.matchToken("on")){var en=!1;Kr.matchToken("every")&&(en=!0);var un=[],on=null;do{var cn=tn.requireElement("eventName",Kr,"Expected event name"),sn=cn.evaluate();on?on=on+" or "+sn:on="on "+sn;var pn=On(Kr),En=null;Kr.matchOpToken("[")&&(En=tn.requireElement("expression",Kr),Kr.requireOpToken("]"));var bn,Nn,Hn;if(Kr.currentToken().type==="NUMBER"){var kn=Kr.consumeToken();if(!kn.value)return;if(bn=parseInt(kn.value),Kr.matchToken("to")){var Sn=Kr.consumeToken();if(!Sn.value)return;Nn=parseInt(Sn.value)}else Kr.matchToken("and")&&(Hn=!0,Kr.requireToken("on"))}var Bn,_n;if(sn==="intersection"){if(Bn={},Kr.matchToken("with")&&(Bn.with=tn.requireElement("expression",Kr).evaluate()),Kr.matchToken("having"))do Kr.matchToken("margin")?Bn.rootMargin=tn.requireElement("stringLike",Kr).evaluate():Kr.matchToken("threshold")?Bn.threshold=tn.requireElement("expression",Kr).evaluate():tn.raiseParseError(Kr,"Unknown intersection config specification");while(Kr.matchToken("and"))}else if(sn==="mutation")if(_n={},Kr.matchToken("of"))do if(Kr.matchToken("anything"))_n.attributes=!0,_n.subtree=!0,_n.characterData=!0,_n.childList=!0;else if(Kr.matchToken("childList"))_n.childList=!0;else if(Kr.matchToken("attributes"))_n.attributes=!0,_n.attributeOldValue=!0;else if(Kr.matchToken("subtree"))_n.subtree=!0;else if(Kr.matchToken("characterData"))_n.characterData=!0,_n.characterDataOldValue=!0;else if(Kr.currentToken().type==="ATTRIBUTE_REF"){var ti=Kr.consumeToken();_n.attributeFilter==null&&(_n.attributeFilter=[]),ti.value.indexOf("@")==0?_n.attributeFilter.push(ti.value.substring(1)):tn.raiseParseError(Kr,"Only shorthand attribute references are allowed here")}else tn.raiseParseError(Kr,"Unknown mutation config specification");while(Kr.matchToken("or"));else _n.attributes=!0,_n.characterData=!0,_n.childList=!0;var ri=null,Si=!1;if(Kr.matchToken("from"))if(Kr.matchToken("elsewhere"))Si=!0;else{Kr.pushFollow("or");try{ri=tn.requireElement("expression",Kr)}finally{Kr.popFollow()}ri||tn.raiseParseError(Kr,'Expected either target value or "elsewhere".')}if(ri===null&&Si===!1&&Kr.matchToken("elsewhere")&&(Si=!0),Kr.matchToken("in"))var Ni=tn.parseElement("unaryExpression",Kr);if(Kr.matchToken("debounced")){Kr.requireToken("at");var oi=tn.requireElement("unaryExpression",Kr),Ei=oi.evaluate({})}else if(Kr.matchToken("throttled")){Kr.requireToken("at");var oi=tn.requireElement("unaryExpression",Kr),Di=oi.evaluate({})}un.push({execCount:0,every:en,on:sn,args:pn,filter:En,from:ri,inExpr:Ni,elsewhere:Si,startCount:bn,endCount:Nn,unbounded:Hn,debounceTime:Ei,throttleTime:Di,mutationSpec:_n,intersectionSpec:Bn,debounced:void 0,lastExec:void 0})}while(Kr.matchToken("or"));var bi=!0;if(!en&&Kr.matchToken("queue"))if(Kr.matchToken("all"))var Ci=!0,bi=!1;else if(Kr.matchToken("first"))var Ji=!0;else if(Kr.matchToken("none"))var la=!0;else Kr.requireToken("last");var xa=tn.requireElement("commandList",Kr);tn.ensureTerminated(xa);var Va,wa;if(Kr.matchToken("catch")&&(Va=Kr.requireTokenType("IDENTIFIER").value,wa=tn.requireElement("commandList",Kr),tn.ensureTerminated(wa)),Kr.matchToken("finally")){var go=tn.requireElement("commandList",Kr);tn.ensureTerminated(go)}var Li={displayName:on,events:un,start:xa,every:en,execCount:0,errorHandler:wa,errorSymbol:Va,execute:function(vi){let Xi=an.getEventQueueFor(vi.me,Li);if(Xi.executing&&en===!1){if(la||Ji&&Xi.queue.length>0)return;bi&&(Xi.queue.length=0),Xi.queue.push(vi);return}Li.execCount++,Xi.executing=!0,vi.meta.onHalt=function(){Xi.executing=!1;var Oi=Xi.queue.shift();Oi&&setTimeout(function(){Li.execute(Oi)},1)},vi.meta.reject=function(Oi){console.error(Oi.message?Oi.message:Oi);var $n=an.getHyperTrace(vi,Oi);$n&&$n.print(),an.triggerEvent(vi.me,"exception",{error:Oi})},xa.execute(vi)},install:function(vi,Xi){for(let $n of Li.events){var Oi;$n.elsewhere?Oi=[document]:$n.from?Oi=$n.from.evaluate(an.makeContext(vi,Li,vi,null)):Oi=[vi],an.implicitLoop(Oi,function(Mi){var Zi=$n.on;if(Mi==null){console.warn("'%s' feature ignored because target does not exists:",on,vi);return}if($n.mutationSpec&&(Zi="hyperscript:mutation",new MutationObserver(function(Vi,si){Li.executing||an.triggerEvent(Mi,Zi,{mutationList:Vi,observer:si})}).observe(Mi,$n.mutationSpec)),$n.intersectionSpec){Zi="hyperscript:intersection";let ua=new IntersectionObserver(function(Vi){for(let ka of Vi){var si={observer:ua};si=Object.assign(si,ka),si.intersecting=ka.isIntersecting,an.triggerEvent(Mi,Zi,si)}},$n.intersectionSpec);ua.observe(Mi)}var $o=Mi.addEventListener||Mi.on;$o.call(Mi,Zi,function ua(Vi){if(typeof Node<"u"&&vi instanceof Node&&Mi!==vi&&!vi.isConnected){Mi.removeEventListener(Zi,ua);return}var si=an.makeContext(vi,Li,vi,Vi);if(!($n.elsewhere&&vi.contains(Vi.target))){$n.from&&(si.result=Mi);for(let Sa of $n.args){let yo=si.event[Sa.value];yo!==void 0?si.locals[Sa.value]=yo:"detail"in si.event&&(si.locals[Sa.value]=si.event.detail[Sa.value])}if(si.meta.errorHandler=wa,si.meta.errorSymbol=Va,si.meta.finallyHandler=go,$n.filter){var ka=si.meta.context;si.meta.context=si.event;try{var Ko=$n.filter.evaluate(si);if(!Ko)return}finally{si.meta.context=ka}}if($n.inExpr){for(var ea=Vi.target;;)if(ea.matches&&ea.matches($n.inExpr.css)){si.result=ea;break}else if(ea=ea.parentElement,ea==null)return}if($n.execCount++,$n.startCount){if($n.endCount){if($n.execCount<$n.startCount||$n.execCount>$n.endCount)return}else if($n.unbounded){if($n.execCount<$n.startCount)return}else if($n.execCount!==$n.startCount)return}if($n.debounceTime){$n.debounced&&clearTimeout($n.debounced),$n.debounced=setTimeout(function(){Li.execute(si)},$n.debounceTime);return}if($n.throttleTime){if($n.lastExec&&Date.now()<$n.lastExec+$n.throttleTime)return;$n.lastExec=Date.now()}Li.execute(si)}})})}}};return tn.setParent(xa,Li),Li}}),Tn.addFeature("def",function(tn,an,Kr){if(Kr.matchToken("def")){var en=tn.requireElement("dotOrColonPath",Kr),un=en.evaluate(),on=un.split("."),cn=on.pop(),sn=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do sn.push(Kr.requireTokenType("IDENTIFIER"));while(Kr.matchOpToken(","));Kr.requireOpToken(")")}var pn=tn.requireElement("commandList",Kr),En,bn;if(Kr.matchToken("catch")&&(En=Kr.requireTokenType("IDENTIFIER").value,bn=tn.parseElement("commandList",Kr)),Kr.matchToken("finally")){var Nn=tn.requireElement("commandList",Kr);tn.ensureTerminated(Nn)}var Hn={displayName:cn+"("+sn.map(function(kn){return kn.value}).join(", ")+")",name:cn,args:sn,start:pn,errorHandler:bn,errorSymbol:En,finallyHandler:Nn,install:function(kn,Sn){var Bn=function(){var _n=an.makeContext(Sn,Hn,kn,null);_n.meta.errorHandler=bn,_n.meta.errorSymbol=En,_n.meta.finallyHandler=Nn;for(var ti=0;ti<sn.length;ti++){var ri=sn[ti],Si=arguments[ti];ri&&(_n.locals[ri.value]=Si)}_n.meta.caller=arguments[sn.length],_n.meta.caller&&(_n.meta.callingCommand=_n.meta.caller.meta.command);var Ni,oi=null,Ei=new Promise(function(Di,bi){Ni=Di,oi=bi});return pn.execute(_n),_n.meta.returned?_n.meta.returnValue:(_n.meta.resolve=Ni,_n.meta.reject=oi,Ei)};Bn.hyperfunc=!0,Bn.hypername=un,an.assignToNamespace(kn,on,cn,Bn)}};return tn.ensureTerminated(pn),bn&&tn.ensureTerminated(bn),tn.setParent(pn,Hn),Hn}}),Tn.addFeature("set",function(tn,an,Kr){let en=tn.parseElement("setCommand",Kr);if(en){en.target.scope!=="element"&&tn.raiseParseError(Kr,"variables declared at the feature level must be element scoped.");let un={start:en,install:function(on,cn){en&&en.execute(an.makeContext(on,un,on,null))}};return tn.ensureTerminated(en),un}}),Tn.addFeature("init",function(tn,an,Kr){if(Kr.matchToken("init")){var en=Kr.matchToken("immediately"),un=tn.requireElement("commandList",Kr),on={start:un,install:function(cn,sn){let pn=function(){un&&un.execute(an.makeContext(cn,on,cn,null))};en?pn():setTimeout(pn,0)}};return tn.ensureTerminated(un),tn.setParent(un,on),on}}),Tn.addFeature("worker",function(tn,an,Kr){if(Kr.matchToken("worker")){tn.raiseParseError(Kr,"In order to use the 'worker' feature, include the _hyperscript worker plugin. See https://hyperscript.org/features/worker/ for more info.");return}}),Tn.addFeature("behavior",function(tn,an,Kr){if(Kr.matchToken("behavior")){var en=tn.requireElement("dotOrColonPath",Kr).evaluate(),un=en.split("."),on=un.pop(),cn=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do cn.push(Kr.requireTokenType("IDENTIFIER").value);while(Kr.matchOpToken(","));Kr.requireOpToken(")")}for(var sn=tn.requireElement("hyperscript",Kr),pn=0;pn<sn.features.length;pn++){var En=sn.features[pn];En.behavior=en}return{install:function(bn,Nn){an.assignToNamespace(Gr.document&&Gr.document.body,un,on,function(Hn,kn,Sn){for(var Bn=an.getInternalData(Hn),_n=zn(Bn,en+"Scope"),ti=0;ti<cn.length;ti++)_n[cn[ti]]=Sn[cn[ti]];sn.apply(Hn,kn)})}}}}),Tn.addFeature("install",function(tn,an,Kr){if(Kr.matchToken("install")){var en=tn.requireElement("dotOrColonPath",Kr).evaluate(),un=en.split("."),on=tn.parseElement("namedArgumentList",Kr),cn;return cn={install:function(sn,pn){an.unifiedEval({args:[on],op:function(En,bn){for(var Nn=Gr,Hn=0;Hn<un.length;Hn++)if(Nn=Nn[un[Hn]],typeof Nn!="object"&&typeof Nn!="function")throw new Error("No such behavior defined as "+en);if(!(Nn instanceof Function))throw new Error(en+" is not a behavior");Nn(sn,pn,bn)}},an.makeContext(sn,cn,sn,null))}}}}),Tn.addGrammarElement("jsBody",function(tn,an,Kr){for(var en=Kr.currentToken().start,un=Kr.currentToken(),on=[],cn="",sn=!1;Kr.hasMore();){un=Kr.consumeToken();var pn=Kr.token(0,!0);if(pn.type==="IDENTIFIER"&&pn.value==="end")break;sn?un.type==="IDENTIFIER"||un.type==="NUMBER"?cn+=un.value:(cn!==""&&on.push(cn),cn="",sn=!1):un.type==="IDENTIFIER"&&un.value==="function"&&(sn=!0)}var En=un.end+1;return{type:"jsBody",exposedFunctionNames:on,jsSource:Kr.source.substring(en,En)}}),Tn.addFeature("js",function(tn,an,Kr){if(Kr.matchToken("js")){var en=tn.requireElement("jsBody",Kr),un=en.jsSource+`
14
-
return { `+en.exposedFunctionNames.map(function(cn){return cn+":"+cn}).join(",")+" } ",on=new Function(un);return{jsSource:un,function:on,exposedFunctionNames:en.exposedFunctionNames,install:function(){Object.assign(Gr,on())}}}}),Tn.addCommand("js",function(tn,an,Kr){if(Kr.matchToken("js")){var en=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do{var un=Kr.requireTokenType("IDENTIFIER");en.push(un.value)}while(Kr.matchOpToken(","));Kr.requireOpToken(")")}var on=tn.requireElement("jsBody",Kr);Kr.matchToken("end");var cn=gi(Function,en.concat([on.jsSource])),sn={jsSource:on.jsSource,function:cn,inputs:en,op:function(pn){var En=[];en.forEach(function(Nn){En.push(an.resolveSymbol(Nn,pn,"default"))});var bn=cn.apply(Gr,En);return bn&&typeof bn.then=="function"?new Promise(function(Nn){bn.then(function(Hn){pn.result=Hn,Nn(an.findNext(this,pn))})}):(pn.result=bn,an.findNext(this,pn))}};return sn}}),Tn.addCommand("async",function(tn,an,Kr){if(Kr.matchToken("async")){if(Kr.matchToken("do")){for(var en=tn.requireElement("commandList",Kr),un=en;un.next;)un=un.next;un.next=an.HALT,Kr.requireToken("end")}else var en=tn.requireElement("command",Kr);var on={body:en,op:function(cn){return setTimeout(function(){en.execute(cn)}),an.findNext(this,cn)}};return tn.setParent(en,on),on}}),Tn.addCommand("tell",function(tn,an,Kr){var en=Kr.currentToken();if(Kr.matchToken("tell")){var un=tn.requireElement("expression",Kr),on=tn.requireElement("commandList",Kr);Kr.hasMore()&&!tn.featureStart(Kr.currentToken())&&Kr.requireToken("end");var cn="tell_"+en.start,sn={value:un,body:on,args:[un],resolveNext:function(pn){var En=pn.meta.iterators[cn];return En.index<En.value.length?(pn.you=En.value[En.index++],on):(pn.you=En.originalYou,this.next?this.next:an.findNext(this.parent,pn))},op:function(pn,En){return En==null?En=[]:Array.isArray(En)||En instanceof NodeList||(En=[En]),pn.meta.iterators[cn]={originalYou:pn.you,index:0,value:En},this.resolveNext(pn)}};return tn.setParent(on,sn),sn}}),Tn.addCommand("wait",function(tn,an,Kr){if(Kr.matchToken("wait")){var en;if(Kr.matchToken("for")){Kr.matchToken("a");var un=[];do{var on=Kr.token(0);on.type==="NUMBER"||on.type==="L_PAREN"?un.push({time:tn.requireElement("expression",Kr).evaluate()}):un.push({name:tn.requireElement("dotOrColonPath",Kr,"Expected event name").evaluate(),args:On(Kr)})}while(Kr.matchToken("or"));if(Kr.matchToken("from"))var cn=tn.requireElement("expression",Kr);return en={event:un,on:cn,args:[cn],op:function(pn,En){var bn=En||pn.me;if(!(bn instanceof EventTarget))throw new Error("Not a valid event target: "+this.on.sourceFor());return new Promise(Nn=>{var Hn=!1;for(let Sn of un){var kn=Bn=>{if(pn.result=Bn,Sn.args)for(let _n of Sn.args)pn.locals[_n.value]=Bn[_n.value]||(Bn.detail?Bn.detail[_n.value]:null);Hn||(Hn=!0,Nn(an.findNext(this,pn)))};Sn.name?bn.addEventListener(Sn.name,kn,{once:!0}):Sn.time!=null&&setTimeout(kn,Sn.time,Sn.time)}})}},en}else{var sn;return Kr.matchToken("a")?(Kr.requireToken("tick"),sn=0):sn=tn.requireElement("expression",Kr),en={type:"waitCmd",time:sn,args:[sn],op:function(pn,En){return new Promise(bn=>{setTimeout(()=>{bn(an.findNext(this,pn))},En)})},execute:function(pn){return an.unifiedExec(this,pn)}},en}}}),Tn.addGrammarElement("dotOrColonPath",function(tn,an,Kr){var en=Kr.matchTokenType("IDENTIFIER");if(en){var un=[en.value],on=Kr.matchOpToken(".")||Kr.matchOpToken(":");if(on)do un.push(Kr.requireTokenType("IDENTIFIER","NUMBER").value);while(Kr.matchOpToken(on.value));return{type:"dotOrColonPath",path:un,evaluate:function(){return un.join(on?on.value:"")}}}}),Tn.addGrammarElement("eventName",function(tn,an,Kr){var en;return(en=Kr.matchTokenType("STRING"))?{evaluate:function(){return en.value}}:tn.parseElement("dotOrColonPath",Kr)});function Rn(tn,an,Kr,en){var un=an.requireElement("eventName",en),on=an.parseElement("namedArgumentList",en);if(tn==="send"&&en.matchToken("to")||tn==="trigger"&&en.matchToken("on"))var cn=an.requireElement("expression",en);else var cn=an.requireElement("implicitMeTarget",en);var sn={eventName:un,details:on,to:cn,args:[cn,un,on],op:function(pn,En,bn,Nn){return Kr.nullCheck(En,cn),Kr.implicitLoop(En,function(Hn){Kr.triggerEvent(Hn,bn,Nn,pn.me)}),Kr.findNext(sn,pn)}};return sn}Tn.addCommand("trigger",function(tn,an,Kr){if(Kr.matchToken("trigger"))return Rn("trigger",tn,an,Kr)}),Tn.addCommand("send",function(tn,an,Kr){if(Kr.matchToken("send"))return Rn("send",tn,an,Kr)});var Dn=function(tn,an,Kr,en){if(en)if(tn.commandBoundary(Kr.currentToken()))tn.raiseParseError(Kr,"'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.");else var un=tn.requireElement("expression",Kr);var on={value:un,args:[un],op:function(cn,sn){var pn=cn.meta.resolve;return cn.meta.returned=!0,cn.meta.returnValue=sn,pn&&(sn?pn(sn):pn()),an.HALT}};return on};Tn.addCommand("return",function(tn,an,Kr){if(Kr.matchToken("return"))return Dn(tn,an,Kr,!0)}),Tn.addCommand("exit",function(tn,an,Kr){if(Kr.matchToken("exit"))return Dn(tn,an,Kr,!1)}),Tn.addCommand("halt",function(tn,an,Kr){if(Kr.matchToken("halt")){if(Kr.matchToken("the")){Kr.requireToken("event"),Kr.matchOpToken("'")&&Kr.requireToken("s");var en=!0}if(Kr.matchToken("bubbling"))var un=!0;else if(Kr.matchToken("default"))var on=!0;var cn=Dn(tn,an,Kr,!1),sn={keepExecuting:!0,bubbling:un,haltDefault:on,exit:cn,op:function(pn){if(pn.event)return un?pn.event.stopPropagation():(on||pn.event.stopPropagation(),pn.event.preventDefault()),en?an.findNext(this,pn):cn}};return sn}}),Tn.addCommand("log",function(tn,an,Kr){if(Kr.matchToken("log")){for(var en=[tn.parseElement("expression",Kr)];Kr.matchOpToken(",");)en.push(tn.requireElement("expression",Kr));if(Kr.matchToken("with"))var un=tn.requireElement("expression",Kr);var on={exprs:en,withExpr:un,args:[un,en],op:function(cn,sn,pn){return sn?sn.apply(null,pn):console.log.apply(null,pn),an.findNext(this,cn)}};return on}}),Tn.addCommand("beep!",function(tn,an,Kr){if(Kr.matchToken("beep!")){for(var en=[tn.parseElement("expression",Kr)];Kr.matchOpToken(",");)en.push(tn.requireElement("expression",Kr));var un={exprs:en,args:[en],op:function(on,cn){for(let sn=0;sn<en.length;sn++){let pn=en[sn],En=cn[sn];an.beepValueToConsole(on.me,pn,En)}return an.findNext(this,on)}};return un}}),Tn.addCommand("throw",function(tn,an,Kr){if(Kr.matchToken("throw")){var en=tn.requireElement("expression",Kr),un={expr:en,args:[en],op:function(on,cn){throw an.registerHyperTrace(on,cn),cn}};return un}});var In=function(tn,an,Kr){var en=tn.requireElement("expression",Kr),un={expr:en,args:[en],op:function(on,cn){return on.result=cn,an.findNext(un,on)}};return un};Tn.addCommand("call",function(tn,an,Kr){if(Kr.matchToken("call")){var en=In(tn,an,Kr);return en.expr&&en.expr.type!=="functionCall"&&tn.raiseParseError(Kr,"Must be a function invocation"),en}}),Tn.addCommand("get",function(tn,an,Kr){if(Kr.matchToken("get"))return In(tn,an,Kr)}),Tn.addCommand("make",function(tn,an,Kr){if(Kr.matchToken("make")){Kr.matchToken("a")||Kr.matchToken("an");var en=tn.requireElement("expression",Kr),un=[];if(en.type!=="queryRef"&&Kr.matchToken("from"))do un.push(tn.requireElement("expression",Kr));while(Kr.matchOpToken(","));if(Kr.matchToken("called"))var on=tn.requireElement("symbol",Kr);var cn;return en.type==="queryRef"?(cn={op:function(sn){for(var pn,En="div",bn,Nn=[],Hn=/(?:(^|#|\.)([^#\. ]+))/g;pn=Hn.exec(en.css);)pn[1]===""?En=pn[2].trim():pn[1]==="#"?bn=pn[2].trim():Nn.push(pn[2].trim());var kn=document.createElement(En);bn!==void 0&&(kn.id=bn);for(var Sn=0;Sn<Nn.length;Sn++){var Bn=Nn[Sn];kn.classList.add(Bn)}return sn.result=kn,on&&an.setSymbol(on.name,sn,on.scope,kn),an.findNext(this,sn)}},cn):(cn={args:[en,un],op:function(sn,pn,En){return sn.result=gi(pn,En),on&&an.setSymbol(on.name,sn,on.scope,sn.result),an.findNext(this,sn)}},cn)}}),Tn.addGrammarElement("pseudoCommand",function(tn,an,Kr){let en=Kr.token(1);if(!(en&&en.op&&(en.value==="."||en.value==="(")))return null;for(var un=tn.requireElement("primaryExpression",Kr),on=un.root,cn=un;on.root!=null;)cn=cn.root,on=on.root;if(un.type!=="functionCall"&&tn.raiseParseError(Kr,"Pseudo-commands must be function calls"),cn.type==="functionCall"&&cn.root.root==null){if(Kr.matchAnyToken("the","to","on","with","into","from","at"))var sn=tn.requireElement("expression",Kr);else if(Kr.matchToken("me"))var sn=tn.requireElement("implicitMeTarget",Kr)}var pn;return sn?pn={type:"pseudoCommand",root:sn,argExressions:cn.argExressions,args:[sn,cn.argExressions],op:function(En,bn,Nn){an.nullCheck(bn,sn);var Hn=bn[cn.root.name];return an.nullCheck(Hn,cn),Hn.hyperfunc&&Nn.push(En),En.result=Hn.apply(bn,Nn),an.findNext(pn,En)},execute:function(En){return an.unifiedExec(this,En)}}:pn={type:"pseudoCommand",expr:un,args:[un],op:function(En,bn){return En.result=bn,an.findNext(pn,En)},execute:function(En){return an.unifiedExec(this,En)}},pn});var qn=function(tn,an,Kr,en,un){var on=en.type==="symbol",cn=en.type==="attributeRef",sn=en.type==="styleRef",pn=en.type==="arrayIndex";!(cn||sn||on)&&en.root==null&&tn.raiseParseError(Kr,"Can only put directly into symbols, not references");var En=null,bn=null;if(!on)if(cn||sn){En=tn.requireElement("implicitMeTarget",Kr);var Nn=en}else if(pn)bn=en.firstIndex,En=en.root;else{bn=en.prop?en.prop.value:null;var Nn=en.attribute;En=en.root}var Hn={target:en,symbolWrite:on,value:un,args:[En,bn,un],op:function(kn,Sn,Bn,_n){return on?an.setSymbol(en.name,kn,en.scope,_n):(an.nullCheck(Sn,En),pn?Sn[Bn]=_n:an.implicitLoop(Sn,function(ti){Nn?Nn.type==="attributeRef"?_n==null?ti.removeAttribute(Nn.name):ti.setAttribute(Nn.name,_n):ti.style[Nn.name]=_n:ti[Bn]=_n})),an.findNext(this,kn)}};return Hn};Tn.addCommand("default",function(tn,an,Kr){if(Kr.matchToken("default")){var en=tn.requireElement("assignableExpression",Kr);Kr.requireToken("to");var un=tn.requireElement("expression",Kr),on=qn(tn,an,Kr,en,un),cn={target:en,value:un,setter:on,args:[en],op:function(sn,pn){return pn?an.findNext(this,sn):on}};return on.parent=cn,cn}}),Tn.addCommand("set",function(tn,an,Kr){if(Kr.matchToken("set")){if(Kr.currentToken().type==="L_BRACE"){var en=tn.requireElement("objectLiteral",Kr);Kr.requireToken("on");var un=tn.requireElement("expression",Kr),on={objectLiteral:en,target:un,args:[en,un],op:function(sn,pn,En){return Object.assign(En,pn),an.findNext(this,sn)}};return on}try{Kr.pushFollow("to");var un=tn.requireElement("assignableExpression",Kr)}finally{Kr.popFollow()}Kr.requireToken("to");var cn=tn.requireElement("expression",Kr);return qn(tn,an,Kr,un,cn)}}),Tn.addCommand("if",function(tn,an,Kr){if(!Kr.matchToken("if"))return;var en=tn.requireElement("expression",Kr);Kr.matchToken("then");var un=tn.parseElement("commandList",Kr),on=!1;let cn=Kr.matchToken("else")||Kr.matchToken("otherwise");if(cn){let En=Kr.peekToken("if");if(on=En!=null&&En.line===cn.line,on)var sn=tn.parseElement("command",Kr);else var sn=tn.parseElement("commandList",Kr)}Kr.hasMore()&&!on&&Kr.requireToken("end");var pn={expr:en,trueBranch:un,falseBranch:sn,args:[en],op:function(En,bn){return bn?un:sn||an.findNext(this,En)}};return tn.setParent(un,pn),tn.setParent(sn,pn),pn});var Mn=function(tn,an,Kr,en){var un=an.currentToken(),on;if(an.matchToken("for")||en){var cn=an.requireTokenType("IDENTIFIER");on=cn.value,an.requireToken("in");var sn=tn.requireElement("expression",an)}else if(an.matchToken("in")){on="it";var sn=tn.requireElement("expression",an)}else if(an.matchToken("while"))var pn=tn.requireElement("expression",an);else if(an.matchToken("until")){var En=!0;if(an.matchToken("event")){var bn=tn.requireElement("dotOrColonPath",an,"Expected event name");if(an.matchToken("from"))var Nn=tn.requireElement("expression",an)}else var pn=tn.requireElement("expression",an)}else if(!tn.commandBoundary(an.currentToken())&&an.currentToken().value!=="forever"){var Hn=tn.requireElement("expression",an);an.requireToken("times")}else{an.matchToken("forever");var kn=!0}if(an.matchToken("index"))var cn=an.requireTokenType("IDENTIFIER"),Sn=cn.value;else if(an.matchToken("indexed")){an.requireToken("by");var cn=an.requireTokenType("IDENTIFIER"),Sn=cn.value}var Bn=tn.parseElement("commandList",an);if(Bn&&bn){for(var _n=Bn;_n.next;)_n=_n.next;var ti={type:"waitATick",op:function(){return new Promise(function(oi){setTimeout(function(){oi(Kr.findNext(ti))},0)})}};_n.next=ti}if(an.hasMore()&&an.requireToken("end"),on==null){on="_implicit_repeat_"+un.start;var ri=on}else var ri=on+"_"+un.start;var Si={identifier:on,indexIdentifier:Sn,slot:ri,expression:sn,forever:kn,times:Hn,until:En,event:bn,on:Nn,whileExpr:pn,resolveNext:function(){return this},loop:Bn,args:[pn,Hn],op:function(oi,Ei,Di){var bi=oi.meta.iterators[ri],Ci=!1,Ji=null;if(this.forever)Ci=!0;else if(this.until)bn?Ci=oi.meta.iterators[ri].eventFired===!1:Ci=Ei!==!0;else if(pn)Ci=Ei;else if(Di)Ci=bi.index<Di;else{var la=bi.iterator.next();Ci=!la.done,Ji=la.value}return Ci?(bi.value?oi.result=oi.locals[on]=Ji:oi.result=bi.index,Sn&&(oi.locals[Sn]=bi.index),bi.index++,Bn):(oi.meta.iterators[ri]=null,Kr.findNext(this.parent,oi))}};tn.setParent(Bn,Si);var Ni={name:"repeatInit",args:[sn,bn,Nn],op:function(oi,Ei,Di,bi){var Ci={index:0,value:Ei,eventFired:!1};if(oi.meta.iterators[ri]=Ci,Ei&&Ei[Symbol.iterator]&&(Ci.iterator=Ei[Symbol.iterator]()),bn){var Ji=bi||oi.me;Ji.addEventListener(Di,function(la){oi.meta.iterators[ri].eventFired=!0},{once:!0})}return Si},execute:function(oi){return Kr.unifiedExec(this,oi)}};return tn.setParent(Si,Ni),Ni};Tn.addCommand("repeat",function(tn,an,Kr){if(Kr.matchToken("repeat"))return Mn(tn,Kr,an,!1)}),Tn.addCommand("for",function(tn,an,Kr){if(Kr.matchToken("for"))return Mn(tn,Kr,an,!0)}),Tn.addCommand("continue",function(tn,an,Kr){if(Kr.matchToken("continue")){var en={op:function(un){for(var on=this.parent;;on=on.parent)if(on==null&&tn.raiseParseError(Kr,"Command `continue` cannot be used outside of a `repeat` loop."),on.loop!=null)return on.resolveNext(un)}};return en}}),Tn.addCommand("break",function(tn,an,Kr){if(Kr.matchToken("break")){var en={op:function(un){for(var on=this.parent;;on=on.parent)if(on==null&&tn.raiseParseError(Kr,"Command `continue` cannot be used outside of a `repeat` loop."),on.loop!=null)return an.findNext(on.parent,un)}};return en}}),Tn.addGrammarElement("stringLike",function(tn,an,Kr){return tn.parseAnyOf(["string","nakedString"],Kr)}),Tn.addCommand("append",function(tn,an,Kr){if(Kr.matchToken("append")){var en=null,un=tn.requireElement("expression",Kr),on={type:"symbol",evaluate:function(pn){return an.resolveSymbol("result",pn)}};Kr.matchToken("to")?en=tn.requireElement("expression",Kr):en=on;var cn=null;(en.type==="symbol"||en.type==="attributeRef"||en.root!=null)&&(cn=qn(tn,an,Kr,en,on));var sn={value:un,target:en,args:[en,un],op:function(pn,En,bn){if(Array.isArray(En))return En.push(bn),an.findNext(this,pn);if(En instanceof Element)return bn instanceof Element?En.insertAdjacentElement("beforeend",bn):En.insertAdjacentHTML("beforeend",bn),an.processNode(En),an.findNext(this,pn);if(cn)return pn.result=(En||"")+bn,cn;throw Error("Unable to append a value!")},execute:function(pn){return an.unifiedExec(this,pn)}};return cn!=null&&(cn.parent=sn),sn}});function Ln(tn,an,Kr){Kr.matchToken("at")||Kr.matchToken("from");let en={includeStart:!0,includeEnd:!1};return en.from=Kr.matchToken("start")?0:tn.requireElement("expression",Kr),(Kr.matchToken("to")||Kr.matchOpToken(".."))&&(Kr.matchToken("end")?en.toEnd=!0:en.to=tn.requireElement("expression",Kr)),Kr.matchToken("inclusive")?en.includeEnd=!0:Kr.matchToken("exclusive")&&(en.includeStart=!1),en}class Un{constructor(an,Kr){this.re=an,this.str=Kr}next(){let an=this.re.exec(this.str);return an===null?{done:!0}:{value:an}}}class Xn{constructor(an,Kr,en){this.re=an,this.flags=Kr,this.str=en}[Symbol.iterator](){return new Un(new RegExp(this.re,this.flags),this.str)}}Tn.addCommand("pick",(tn,an,Kr)=>{if(Kr.matchToken("pick")){if(Kr.matchToken("the"),Kr.matchToken("item")||Kr.matchToken("items")||Kr.matchToken("character")||Kr.matchToken("characters")){let en=Ln(tn,an,Kr);return Kr.requireToken("from"),{args:[tn.requireElement("expression",Kr),en.from,en.to],op(on,cn,sn,pn){return en.toEnd&&(pn=cn.length),en.includeStart||sn++,en.includeEnd&&pn++,(pn==null||pn==null)&&(pn=sn+1),on.result=cn.slice(sn,pn),an.findNext(this,on)}}}if(Kr.matchToken("match")){Kr.matchToken("of");let en=tn.parseElement("expression",Kr),un="";return Kr.matchOpToken("|")&&(un=Kr.requireTokenType("IDENTIFIER").value),Kr.requireToken("from"),{args:[tn.parseElement("expression",Kr),en],op(cn,sn,pn){return cn.result=new RegExp(pn,un).exec(sn),an.findNext(this,cn)}}}if(Kr.matchToken("matches")){Kr.matchToken("of");let en=tn.parseElement("expression",Kr),un="gu";return Kr.matchOpToken("|")&&(un="g"+Kr.requireTokenType("IDENTIFIER").value.replace("g","")),Kr.requireToken("from"),{args:[tn.parseElement("expression",Kr),en],op(cn,sn,pn){return cn.result=new Xn(pn,un,sn),an.findNext(this,cn)}}}}}),Tn.addCommand("increment",function(tn,an,Kr){if(Kr.matchToken("increment")){var en,un=tn.parseElement("assignableExpression",Kr);Kr.matchToken("by")&&(en=tn.requireElement("expression",Kr));var on={type:"implicitIncrementOp",target:un,args:[un,en],op:function(cn,sn,pn){sn=sn?parseFloat(sn):0,pn=en?parseFloat(pn):1;var En=sn+pn;return cn.result=En,En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return qn(tn,an,Kr,un,on)}}),Tn.addCommand("decrement",function(tn,an,Kr){if(Kr.matchToken("decrement")){var en,un=tn.parseElement("assignableExpression",Kr);Kr.matchToken("by")&&(en=tn.requireElement("expression",Kr));var on={type:"implicitDecrementOp",target:un,args:[un,en],op:function(cn,sn,pn){sn=sn?parseFloat(sn):0,pn=en?parseFloat(pn):1;var En=sn-pn;return cn.result=En,En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return qn(tn,an,Kr,un,on)}});function Gn(tn,an){var Kr="text",en;return tn.matchToken("a")||tn.matchToken("an"),tn.matchToken("json")||tn.matchToken("Object")?Kr="json":tn.matchToken("response")?Kr="response":tn.matchToken("html")?Kr="html":tn.matchToken("text")||(en=an.requireElement("dotOrColonPath",tn).evaluate()),{type:Kr,conversion:en}}Tn.addCommand("fetch",function(tn,an,Kr){if(Kr.matchToken("fetch")){var en=tn.requireElement("stringLike",Kr);if(Kr.matchToken("as"))var un=Gn(Kr,tn);if(Kr.matchToken("with")&&Kr.currentToken().value!=="{")var on=tn.parseElement("nakedNamedArgumentList",Kr);else var on=tn.parseElement("objectLiteral",Kr);un==null&&Kr.matchToken("as")&&(un=Gn(Kr,tn));var cn=un?un.type:"text",sn=un?un.conversion:null,pn={url:en,argExpressions:on,args:[en,on],op:function(En,bn,Nn){var Hn=Nn||{};Hn.sender=En.me,Hn.headers=Hn.headers||{};var kn=new AbortController;let Sn=En.me.addEventListener("fetch:abort",function(){kn.abort()},{once:!0});Hn.signal=kn.signal,an.triggerEvent(En.me,"hyperscript:beforeFetch",Hn),an.triggerEvent(En.me,"fetch:beforeRequest",Hn),Nn=Hn;var Bn=!1;return Nn.timeout&&setTimeout(function(){Bn||kn.abort()},Nn.timeout),fetch(bn,Nn).then(function(_n){let ti={response:_n};return an.triggerEvent(En.me,"fetch:afterResponse",ti),_n=ti.response,cn==="response"?(En.result=_n,an.triggerEvent(En.me,"fetch:afterRequest",{result:_n}),Bn=!0,an.findNext(pn,En)):cn==="json"?_n.json().then(function(ri){return En.result=ri,an.triggerEvent(En.me,"fetch:afterRequest",{result:ri}),Bn=!0,an.findNext(pn,En)}):_n.text().then(function(ri){return sn&&(ri=an.convertValue(ri,sn)),cn==="html"&&(ri=an.convertValue(ri,"Fragment")),En.result=ri,an.triggerEvent(En.me,"fetch:afterRequest",{result:ri}),Bn=!0,an.findNext(pn,En)})}).catch(function(_n){throw an.triggerEvent(En.me,"fetch:error",{reason:_n}),_n}).finally(function(){En.me.removeEventListener("fetch:abort",Sn)})}};return pn}})}function ai(Tn){Tn.addCommand("settle",function(vn,yn,fn){if(fn.matchToken("settle")){if(vn.commandBoundary(fn.currentToken()))var On=vn.requireElement("implicitMeTarget",fn);else var On=vn.requireElement("expression",fn);var Rn={type:"settleCmd",args:[On],op:function(Dn,In){yn.nullCheck(In,On);var qn=null,Mn=!1,Ln=!1,Un=new Promise(function(Xn){qn=Xn});return In.addEventListener("transitionstart",function(){Ln=!0},{once:!0}),setTimeout(function(){!Ln&&!Mn&&qn(yn.findNext(Rn,Dn))},500),In.addEventListener("transitionend",function(){Mn||qn(yn.findNext(Rn,Dn))},{once:!0}),Un},execute:function(Dn){return yn.unifiedExec(this,Dn)}};return Rn}}),Tn.addCommand("add",function(vn,yn,fn){if(fn.matchToken("add")){var On=vn.parseElement("classRef",fn),Rn=null,Dn=null;if(On==null)Rn=vn.parseElement("attributeRef",fn),Rn==null&&(Dn=vn.parseElement("styleLiteral",fn),Dn==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression"));else for(var In=[On];On=vn.parseElement("classRef",fn);)In.push(On);if(fn.matchToken("to"))var qn=vn.requireElement("expression",fn);else var qn=vn.requireElement("implicitMeTarget",fn);if(fn.matchToken("when")){Dn&&vn.raiseParseError(fn,"Only class and properties are supported with a when clause");var Mn=vn.requireElement("expression",fn)}return In?{classRefs:In,to:qn,args:[qn,In],op:function(Ln,Un,Xn){return yn.nullCheck(Un,qn),yn.forEach(Xn,function(Gn){yn.implicitLoop(Un,function(tn){Mn?(Ln.result=tn,yn.evaluateNoPromise(Mn,Ln)?tn instanceof Element&&tn.classList.add(Gn.className):tn instanceof Element&&tn.classList.remove(Gn.className),Ln.result=null):tn instanceof Element&&tn.classList.add(Gn.className)})}),yn.findNext(this,Ln)}}:Rn?{type:"addCmd",attributeRef:Rn,to:qn,args:[qn],op:function(Ln,Un,Xn){return yn.nullCheck(Un,qn),yn.implicitLoop(Un,function(Gn){Mn?(Ln.result=Gn,yn.evaluateNoPromise(Mn,Ln)?Gn.setAttribute(Rn.name,Rn.value):Gn.removeAttribute(Rn.name),Ln.result=null):Gn.setAttribute(Rn.name,Rn.value)}),yn.findNext(this,Ln)},execute:function(Ln){return yn.unifiedExec(this,Ln)}}:{type:"addCmd",cssDeclaration:Dn,to:qn,args:[qn,Dn],op:function(Ln,Un,Xn){return yn.nullCheck(Un,qn),yn.implicitLoop(Un,function(Gn){Gn.style.cssText+=Xn}),yn.findNext(this,Ln)},execute:function(Ln){return yn.unifiedExec(this,Ln)}}}}),Tn.addGrammarElement("styleLiteral",function(vn,yn,fn){if(fn.matchOpToken("{")){for(var On=[""],Rn=[];fn.hasMore();){if(fn.matchOpToken("\\"))fn.consumeToken();else{if(fn.matchOpToken("}"))break;if(fn.matchToken("$")){var Dn=fn.matchOpToken("{"),In=vn.parseElement("expression",fn);Dn&&fn.requireOpToken("}"),Rn.push(In),On.push("")}else{var qn=fn.consumeToken();On[On.length-1]+=fn.source.substring(qn.start,qn.end)}}On[On.length-1]+=fn.lastWhitespace()}return{type:"styleLiteral",args:[Rn],op:function(Mn,Ln){var Un="";return On.forEach(function(Xn,Gn){Un+=Xn,Gn in Ln&&(Un+=Ln[Gn])}),Un},evaluate:function(Mn){return yn.unifiedEval(this,Mn)}}}}),Tn.addCommand("remove",function(vn,yn,fn){if(fn.matchToken("remove")){var On=vn.parseElement("classRef",fn),Rn=null,Dn=null;if(On==null)Rn=vn.parseElement("attributeRef",fn),Rn==null&&(Dn=vn.parseElement("expression",fn),Dn==null&&vn.raiseParseError(fn,"Expected either a class reference, attribute expression or value expression"));else for(var In=[On];On=vn.parseElement("classRef",fn);)In.push(On);if(fn.matchToken("from"))var qn=vn.requireElement("expression",fn);else if(Dn==null)var qn=vn.requireElement("implicitMeTarget",fn);return Dn?{elementExpr:Dn,from:qn,args:[Dn,qn],op:function(Mn,Ln,Un){return yn.nullCheck(Ln,Dn),yn.implicitLoop(Ln,function(Xn){Xn.parentElement&&(Un==null||Un.contains(Xn))&&Xn.parentElement.removeChild(Xn)}),yn.findNext(this,Mn)}}:{classRefs:In,attributeRef:Rn,elementExpr:Dn,from:qn,args:[In,qn],op:function(Mn,Ln,Un){return yn.nullCheck(Un,qn),Ln?yn.forEach(Ln,function(Xn){yn.implicitLoop(Un,function(Gn){Gn.classList.remove(Xn.className)})}):yn.implicitLoop(Un,function(Xn){Xn.removeAttribute(Rn.name)}),yn.findNext(this,Mn)}}}}),Tn.addCommand("toggle",function(vn,yn,fn){if(fn.matchToken("toggle")){if(fn.matchAnyToken("the","my"),fn.currentToken().type==="STYLE_REF"){var On=fn.consumeToken().value.substr(1),Rn=!0,Dn=hn(vn,fn,On);if(fn.matchToken("of")){fn.pushFollow("with");try{var In=vn.requireElement("expression",fn)}finally{fn.popFollow()}}else var In=vn.requireElement("implicitMeTarget",fn)}else if(fn.matchToken("between")){var qn=!0,Mn=vn.parseElement("classRef",fn);fn.requireToken("and");var Ln=vn.requireElement("classRef",fn)}else{var Mn=vn.parseElement("classRef",fn),Un=null;if(Mn==null)Un=vn.parseElement("attributeRef",fn),Un==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression");else for(var Xn=[Mn];Mn=vn.parseElement("classRef",fn);)Xn.push(Mn)}if(Rn!==!0)if(fn.matchToken("on"))var In=vn.requireElement("expression",fn);else var In=vn.requireElement("implicitMeTarget",fn);if(fn.matchToken("for"))var Gn=vn.requireElement("expression",fn);else if(fn.matchToken("until")){var tn=vn.requireElement("dotOrColonPath",fn,"Expected event name");if(fn.matchToken("from"))var an=vn.requireElement("expression",fn)}var Kr={classRef:Mn,classRef2:Ln,classRefs:Xn,attributeRef:Un,on:In,time:Gn,evt:tn,from:an,toggle:function(en,un,on,cn){yn.nullCheck(en,In),Rn?yn.implicitLoop(en,function(sn){Dn("toggle",sn)}):qn?yn.implicitLoop(en,function(sn){sn.classList.contains(un.className)?(sn.classList.remove(un.className),sn.classList.add(on.className)):(sn.classList.add(un.className),sn.classList.remove(on.className))}):cn?yn.forEach(cn,function(sn){yn.implicitLoop(en,function(pn){pn.classList.toggle(sn.className)})}):yn.implicitLoop(en,function(sn){sn.hasAttribute(Un.name)?sn.removeAttribute(Un.name):sn.setAttribute(Un.name,Un.value)})},args:[In,Gn,tn,an,Mn,Ln,Xn],op:function(en,un,on,cn,sn,pn,En,bn){return on?new Promise(function(Nn){Kr.toggle(un,pn,En,bn),setTimeout(function(){Kr.toggle(un,pn,En,bn),Nn(yn.findNext(Kr,en))},on)}):cn?new Promise(function(Nn){var Hn=sn||en.me;Hn.addEventListener(cn,function(){Kr.toggle(un,pn,En,bn),Nn(yn.findNext(Kr,en))},{once:!0}),Kr.toggle(un,pn,En,bn)}):(this.toggle(un,pn,En,bn),yn.findNext(Kr,en))}};return Kr}});var Zr={display:function(vn,yn,fn){if(fn)yn.style.display=fn;else if(vn==="toggle")getComputedStyle(yn).display==="none"?Zr.display("show",yn,fn):Zr.display("hide",yn,fn);else if(vn==="hide"){let On=Tn.runtime.getInternalData(yn);On.originalDisplay==null&&(On.originalDisplay=yn.style.display),yn.style.display="none"}else{let On=Tn.runtime.getInternalData(yn);On.originalDisplay&&On.originalDisplay!=="none"?yn.style.display=On.originalDisplay:yn.style.removeProperty("display")}},visibility:function(vn,yn,fn){fn?yn.style.visibility=fn:vn==="toggle"?getComputedStyle(yn).visibility==="hidden"?Zr.visibility("show",yn,fn):Zr.visibility("hide",yn,fn):vn==="hide"?yn.style.visibility="hidden":yn.style.visibility="visible"},opacity:function(vn,yn,fn){fn?yn.style.opacity=fn:vn==="toggle"?getComputedStyle(yn).opacity==="0"?Zr.opacity("show",yn,fn):Zr.opacity("hide",yn,fn):vn==="hide"?yn.style.opacity="0":yn.style.opacity="1"}},nn=function(vn,yn,fn){var On,Rn=fn.currentToken();return Rn.value==="when"||Rn.value==="with"||vn.commandBoundary(Rn)?On=vn.parseElement("implicitMeTarget",fn):On=vn.parseElement("expression",fn),On},hn=function(vn,yn,fn){var On=Qr.defaultHideShowStrategy,Rn=Zr;Qr.hideShowStrategies&&(Rn=Object.assign(Rn,Qr.hideShowStrategies)),fn=fn||On||"display";var Dn=Rn[fn];return Dn==null&&vn.raiseParseError(yn,"Unknown show/hide strategy : "+fn),Dn};Tn.addCommand("hide",function(vn,yn,fn){if(fn.matchToken("hide")){var On=nn(vn,yn,fn),Rn=null;fn.matchToken("with")&&(Rn=fn.requireTokenType("IDENTIFIER","STYLE_REF").value,Rn.indexOf("*")===0&&(Rn=Rn.substr(1)));var Dn=hn(vn,fn,Rn);return{target:On,args:[On],op:function(In,qn){return yn.nullCheck(qn,On),yn.implicitLoop(qn,function(Mn){Dn("hide",Mn)}),yn.findNext(this,In)}}}}),Tn.addCommand("show",function(vn,yn,fn){if(fn.matchToken("show")){var On=nn(vn,yn,fn),Rn=null;fn.matchToken("with")&&(Rn=fn.requireTokenType("IDENTIFIER","STYLE_REF").value,Rn.indexOf("*")===0&&(Rn=Rn.substr(1)));var Dn=null;if(fn.matchOpToken(":")){var In=fn.consumeUntilWhitespace();fn.matchTokenType("WHITESPACE"),Dn=In.map(function(Ln){return Ln.value}).join("")}if(fn.matchToken("when"))var qn=vn.requireElement("expression",fn);var Mn=hn(vn,fn,Rn);return{target:On,when:qn,args:[On],op:function(Ln,Un){return yn.nullCheck(Un,On),yn.implicitLoop(Un,function(Xn){qn?(Ln.result=Xn,yn.evaluateNoPromise(qn,Ln)?Mn("show",Xn,Dn):Mn("hide",Xn),Ln.result=null):Mn("show",Xn,Dn)}),yn.findNext(this,Ln)}}}}),Tn.addCommand("take",function(vn,yn,fn){if(fn.matchToken("take")){let Mn=null,Ln=[];for(;Mn=vn.parseElement("classRef",fn);)Ln.push(Mn);var On=null,Rn=null;let Un=Ln.length>0;if(Un||(On=vn.parseElement("attributeRef",fn),On==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression"),fn.matchToken("with")&&(Rn=vn.requireElement("expression",fn))),fn.matchToken("from"))var Dn=vn.requireElement("expression",fn);if(fn.matchToken("for"))var In=vn.requireElement("expression",fn);else var In=vn.requireElement("implicitMeTarget",fn);if(Un){var qn={classRefs:Ln,from:Dn,forElt:In,args:[Ln,Dn,In],op:function(Xn,Gn,tn,an){return yn.nullCheck(an,In),yn.implicitLoop(Gn,function(Kr){var en=Kr.className;tn?yn.implicitLoop(tn,function(un){un.classList.remove(en)}):yn.implicitLoop(Kr,function(un){un.classList.remove(en)}),yn.implicitLoop(an,function(un){un.classList.add(en)})}),yn.findNext(this,Xn)}};return qn}else{var qn={attributeRef:On,from:Dn,forElt:In,args:[Dn,In,Rn],op:function(Gn,tn,an,Kr){return yn.nullCheck(tn,Dn),yn.nullCheck(an,In),yn.implicitLoop(tn,function(en){Kr?en.setAttribute(On.name,Kr):en.removeAttribute(On.name)}),yn.implicitLoop(an,function(en){en.setAttribute(On.name,On.value||"")}),yn.findNext(this,Gn)}};return qn}}});function dn(vn,yn,fn,On){if(fn!=null)var Rn=vn.resolveSymbol(fn,yn);else var Rn=yn;if(Rn instanceof Element||Rn instanceof HTMLDocument){for(;Rn.firstChild;)Rn.removeChild(Rn.firstChild);Rn.append(Tn.runtime.convertValue(On,"Fragment")),vn.processNode(Rn)}else if(fn!=null)vn.setSymbol(fn,yn,null,On);else throw"Don't know how to put a value into "+typeof yn}Tn.addCommand("put",function(vn,yn,fn){if(fn.matchToken("put")){var On=vn.requireElement("expression",fn),Rn=fn.matchAnyToken("into","before","after");Rn==null&&fn.matchToken("at")&&(fn.matchToken("the"),Rn=fn.matchAnyToken("start","end"),fn.requireToken("of")),Rn==null&&vn.raiseParseError(fn,"Expected one of 'into', 'before', 'at start of', 'at end of', 'after'");var Dn=vn.requireElement("expression",fn),In=Rn.value,qn=!1,Mn=!1,Ln=null,Un=null;if(Dn.type==="arrayIndex"&&In==="into")qn=!0,Un=Dn.prop,Ln=Dn.root;else if(Dn.prop&&Dn.root&&In==="into")Un=Dn.prop.value,Ln=Dn.root;else if(Dn.type==="symbol"&&In==="into")Mn=!0,Un=Dn.name;else if(Dn.type==="attributeRef"&&In==="into"){var Xn=!0;Un=Dn.name,Ln=vn.requireElement("implicitMeTarget",fn)}else if(Dn.type==="styleRef"&&In==="into"){var Gn=!0;Un=Dn.name,Ln=vn.requireElement("implicitMeTarget",fn)}else if(Dn.attribute&&In==="into"){var Xn=Dn.attribute.type==="attributeRef",Gn=Dn.attribute.type==="styleRef";Un=Dn.attribute.name,Ln=Dn.root}else Ln=Dn;var tn={target:Dn,operation:In,symbolWrite:Mn,value:On,args:[Ln,Un,On],op:function(an,Kr,en,un){if(Mn)dn(yn,an,en,un);else if(yn.nullCheck(Kr,Ln),In==="into")Xn?yn.implicitLoop(Kr,function(cn){cn.setAttribute(en,un)}):Gn?yn.implicitLoop(Kr,function(cn){cn.style[en]=un}):qn?Kr[en]=un:yn.implicitLoop(Kr,function(cn){dn(yn,cn,en,un)});else{var on=In==="before"?Element.prototype.before:In==="after"?Element.prototype.after:In==="start"?Element.prototype.prepend:Element.prototype.append;yn.implicitLoop(Kr,function(cn){on.call(cn,un instanceof Node?un:yn.convertValue(un,"Fragment")),cn.parentElement?yn.processNode(cn.parentElement):yn.processNode(cn)})}return yn.findNext(this,an)}};return tn}});function xn(vn,yn,fn){var On;if(fn.matchToken("the")||fn.matchToken("element")||fn.matchToken("elements")||fn.currentToken().type==="CLASS_REF"||fn.currentToken().type==="ID_REF"||fn.currentToken().op&&fn.currentToken().value==="<"){vn.possessivesDisabled=!0;try{On=vn.parseElement("expression",fn)}finally{delete vn.possessivesDisabled}fn.matchOpToken("'")&&fn.requireToken("s")}else if(fn.currentToken().type==="IDENTIFIER"&&fn.currentToken().value==="its"){var Rn=fn.matchToken("its");On={type:"pseudopossessiveIts",token:Rn,name:Rn.value,evaluate:function(Dn){return yn.resolveSymbol("it",Dn)}}}else fn.matchToken("my")||fn.matchToken("me"),On=vn.parseElement("implicitMeTarget",fn);return On}Tn.addCommand("transition",function(vn,yn,fn){if(fn.matchToken("transition")){for(var On=xn(vn,yn,fn),Rn=[],Dn=[],In=[],qn=fn.currentToken();!vn.commandBoundary(qn)&&qn.value!=="over"&&qn.value!=="using";){if(fn.currentToken().type==="STYLE_REF"){let Gn=fn.consumeToken().value.substr(1);Rn.push({type:"styleRefValue",evaluate:function(){return Gn}})}else Rn.push(vn.requireElement("stringLike",fn));fn.matchToken("from")?Dn.push(vn.requireElement("expression",fn)):Dn.push(null),fn.requireToken("to"),fn.matchToken("initial")?In.push({type:"initial_literal",evaluate:function(){return"initial"}}):In.push(vn.requireElement("expression",fn)),qn=fn.currentToken()}if(fn.matchToken("over"))var Mn=vn.requireElement("expression",fn);else if(fn.matchToken("using"))var Ln=vn.requireElement("expression",fn);var Un={to:In,args:[On,Rn,Dn,In,Ln,Mn],op:function(Xn,Gn,tn,an,Kr,en,un){yn.nullCheck(Gn,On);var on=[];return yn.implicitLoop(Gn,function(cn){var sn=new Promise(function(pn,En){var bn=cn.style.transition;un?cn.style.transition="all "+un+"ms ease-in":en?cn.style.transition=en:cn.style.transition=Qr.defaultTransition;for(var Nn=yn.getInternalData(cn),Hn=getComputedStyle(cn),kn={},Sn=0;Sn<Hn.length;Sn++){var Bn=Hn[Sn],_n=Hn[Bn];kn[Bn]=_n}Nn.initialStyles||(Nn.initialStyles=kn);for(var Sn=0;Sn<tn.length;Sn++){var ti=tn[Sn],ri=an[Sn];ri==="computed"||ri==null?cn.style[ti]=kn[ti]:cn.style[ti]=ri}var Si=!1,Ni=!1;cn.addEventListener("transitionend",function(){Ni||(cn.style.transition=bn,Ni=!0,pn())},{once:!0}),cn.addEventListener("transitionstart",function(){Si=!0},{once:!0}),setTimeout(function(){!Ni&&!Si&&(cn.style.transition=bn,Ni=!0,pn())},100),setTimeout(function(){for(var oi=[],Ei=0;Ei<tn.length;Ei++){var Di=tn[Ei],bi=Kr[Ei];if(bi==="initial"){var Ci=Nn.initialStyles[Di];cn.style[Di]=Ci}else cn.style[Di]=bi}},0)});on.push(sn)}),Promise.all(on).then(function(){return yn.findNext(Un,Xn)})}};return Un}}),Tn.addCommand("measure",function(vn,yn,fn){if(fn.matchToken("measure")){var On=xn(vn,yn,fn),Rn=[];if(!vn.commandBoundary(fn.currentToken()))do Rn.push(fn.matchTokenType("IDENTIFIER").value);while(fn.matchOpToken(","));return{properties:Rn,args:[On],op:function(Dn,In){yn.nullCheck(In,On),0 in In&&(In=In[0]);var qn=In.getBoundingClientRect(),Mn={top:In.scrollTop,left:In.scrollLeft,topMax:In.scrollTopMax,leftMax:In.scrollLeftMax,height:In.scrollHeight,width:In.scrollWidth};return Dn.result={x:qn.x,y:qn.y,left:qn.left,top:qn.top,right:qn.right,bottom:qn.bottom,width:qn.width,height:qn.height,bounds:qn,scrollLeft:Mn.left,scrollTop:Mn.top,scrollLeftMax:Mn.leftMax,scrollTopMax:Mn.topMax,scrollWidth:Mn.width,scrollHeight:Mn.height,scroll:Mn},yn.forEach(Rn,function(Ln){if(Ln in Dn.result)Dn.locals[Ln]=Dn.result[Ln];else throw"No such measurement as "+Ln}),yn.findNext(this,Dn)}}}}),Tn.addLeafExpression("closestExpr",function(vn,yn,fn){if(fn.matchToken("closest")){if(fn.matchToken("parent"))var On=!0;var Rn=null;if(fn.currentToken().type==="ATTRIBUTE_REF"){var Dn=vn.requireElement("attributeRefAccess",fn,null);Rn="["+Dn.attribute.name+"]"}if(Rn==null){var In=vn.requireElement("expression",fn);In.css==null?vn.raiseParseError(fn,"Expected a CSS expression"):Rn=In.css}if(fn.matchToken("to"))var qn=vn.parseElement("expression",fn);else var qn=vn.parseElement("implicitMeTarget",fn);var Mn={type:"closestExpr",parentSearch:On,expr:In,css:Rn,to:qn,args:[qn],op:function(Ln,Un){if(Un==null)return null;{let Xn=[];return yn.implicitLoop(Un,function(Gn){On?Xn.push(Gn.parentElement?Gn.parentElement.closest(Rn):null):Xn.push(Gn.closest(Rn))}),yn.shouldAutoIterate(Un)?Xn:Xn[0]}},evaluate:function(Ln){return yn.unifiedEval(this,Ln)}};return Dn?(Dn.root=Mn,Dn.args=[Mn],Dn):Mn}}),Tn.addCommand("go",function(vn,yn,fn){if(fn.matchToken("go")){if(fn.matchToken("back"))var On=!0;else if(fn.matchToken("to"),fn.matchToken("url")){var Rn=vn.requireElement("stringLike",fn),Dn=!0;if(fn.matchToken("in")){fn.requireToken("new"),fn.requireToken("window");var In=!0}}else{fn.matchToken("the");var qn=fn.matchAnyToken("top","middle","bottom"),Mn=fn.matchAnyToken("left","center","right");(qn||Mn)&&fn.requireToken("of");var Rn=vn.requireElement("unaryExpression",fn),Ln=fn.matchAnyOpToken("+","-");if(Ln){fn.pushFollow("px");try{var Un=vn.requireElement("expression",fn)}finally{fn.popFollow()}}fn.matchToken("px");var Xn=fn.matchAnyToken("smoothly","instantly"),Gn={block:"start",inline:"nearest"};qn&&(qn.value==="top"?Gn.block="start":qn.value==="bottom"?Gn.block="end":qn.value==="middle"&&(Gn.block="center")),Mn&&(Mn.value==="left"?Gn.inline="start":Mn.value==="center"?Gn.inline="center":Mn.value==="right"&&(Gn.inline="end")),Xn&&(Xn.value==="smoothly"?Gn.behavior="smooth":Xn.value==="instantly"&&(Gn.behavior="instant"))}var tn={target:Rn,args:[Rn,Un],op:function(an,Kr,en){return On?window.history.back():Dn?Kr&&(In?window.open(Kr):window.location.href=Kr):yn.implicitLoop(Kr,function(un){if(un===window&&(un=document.body),Ln){let on=un.getBoundingClientRect(),cn=document.createElement("div"),sn=Ln.value==="+"?en:en*-1,pn=Gn.inline=="start"||Gn.inline=="end"?sn:0,En=Gn.block=="start"||Gn.block=="end"?sn:0;cn.style.position="absolute",cn.style.top=on.top+window.scrollY+En+"px",cn.style.left=on.left+window.scrollX+pn+"px",cn.style.height=on.height+"px",cn.style.width=on.width+"px",cn.style.zIndex=""+Number.MIN_SAFE_INTEGER,cn.style.opacity="0",document.body.appendChild(cn),setTimeout(function(){document.body.removeChild(cn)},100),un=cn}un.scrollIntoView(Gn)}),yn.findNext(tn,an)}};return tn}}),Qr.conversions.dynamicResolvers.push(function(vn,yn){if(!(vn==="Values"||vn.indexOf("Values:")===0))return;var fn=vn.split(":")[1],On={},Rn=Tn.runtime.implicitLoop.bind(Tn.runtime);if(Rn(yn,function(qn){var Mn=In(qn);if(Mn!==void 0){On[Mn.name]=Mn.value;return}if(qn.querySelectorAll!=null){var Ln=qn.querySelectorAll("input,select,textarea");Ln.forEach(Dn)}}),fn){if(fn==="JSON")return JSON.stringify(On);if(fn==="Form")return new URLSearchParams(On).toString();throw"Unknown conversion: "+fn}else return On;function Dn(qn){var Mn=In(qn);if(Mn!=null){if(On[Mn.name]==null){On[Mn.name]=Mn.value;return}if(Array.isArray(On[Mn.name])&&Array.isArray(Mn.value)){On[Mn.name]=[].concat(On[Mn.name],Mn.value);return}}}function In(qn){try{var Mn={name:qn.name,value:qn.value};if(Mn.name==null||Mn.value==null||qn.type=="radio"&&qn.checked==!1)return;if(qn.type=="checkbox"&&(qn.checked==!1?Mn.value=void 0:typeof Mn.value=="string"&&(Mn.value=[Mn.value])),qn.type=="select-multiple"){var Ln=qn.querySelectorAll("option[selected]");Mn.value=[];for(var Un=0;Un<Ln.length;Un++)Mn.value.push(Ln[Un].value)}return Mn}catch{return}}}),Qr.conversions.HTML=function(vn){var yn=function(fn){if(fn instanceof Array)return fn.map(function(In){return yn(In)}).join("");if(fn instanceof HTMLElement)return fn.outerHTML;if(fn instanceof NodeList){for(var On="",Rn=0;Rn<fn.length;Rn++){var Dn=fn[Rn];Dn instanceof HTMLElement&&(On+=Dn.outerHTML)}return On}return fn.toString?fn.toString():""};return yn(vn)},Qr.conversions.Fragment=function(vn){var yn=document.createDocumentFragment();return Tn.runtime.implicitLoop(vn,function(fn){if(fn instanceof Node)yn.append(fn);else{var On=document.createElement("template");On.innerHTML=fn,yn.append(On.content)}}),yn}}let Kn=new ln,hi=Kn.lexer,ii=Kn.parser;function Ri(Tn,Zr){return Kn.evaluate(Tn,Zr)}function di(){var Tn=Array.from(Gr.document.querySelectorAll("script[type='text/hyperscript'][src]"));Promise.all(Tn.map(function(dn){return fetch(dn.src).then(function(xn){return xn.text()})})).then(dn=>dn.forEach(xn=>ei(xn))).then(()=>Zr(function(){hn(),Kn.processNode(document.documentElement),document.dispatchEvent(new Event("hyperscript:ready")),Gr.document.addEventListener("htmx:load",function(dn){Kn.processNode(dn.detail.elt)})}));function Zr(dn){document.readyState!=="loading"?setTimeout(dn):document.addEventListener("DOMContentLoaded",dn)}function nn(){var dn=document.querySelector('meta[name="htmx-config"]');return dn?Wn(dn.content):null}function hn(){var dn=nn();dn&&Object.assign(Qr,dn)}}let ei=Object.assign(Ri,{config:Qr,use(Tn){Tn(ei)},internals:{lexer:hi,parser:ii,runtime:Kn,Lexer:Yr,Tokens:Jr,Parser:rn,Runtime:ln},ElementCollection:Pn,addFeature:ii.addFeature.bind(ii),addCommand:ii.addCommand.bind(ii),addLeafExpression:ii.addLeafExpression.bind(ii),addIndirectExpression:ii.addIndirectExpression.bind(ii),evaluate:Kn.evaluate.bind(Kn),parse:Kn.parse.bind(Kn),processNode:Kn.processNode.bind(Kn),version:"0.9.14",browserInit:di});return ei})});var mo=Ca(Oa()),vo=Ca(To());function xo(Gr,Wr){var Qr=Object.keys(Gr);if(Object.getOwnPropertySymbols){var Yr=Object.getOwnPropertySymbols(Gr);Wr&&(Yr=Yr.filter(function(Jr){return Object.getOwnPropertyDescriptor(Gr,Jr).enumerable})),Qr.push.apply(Qr,Yr)}return Qr}function Hi(Gr){for(var Wr=1;Wr<arguments.length;Wr++){var Qr=arguments[Wr]!=null?arguments[Wr]:{};Wr%2?xo(Object(Qr),!0).forEach(function(Yr){as(Gr,Yr,Qr[Yr])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Gr,Object.getOwnPropertyDescriptors(Qr)):xo(Object(Qr)).forEach(function(Yr){Object.defineProperty(Gr,Yr,Object.getOwnPropertyDescriptor(Qr,Yr))})}return Gr}function qa(Gr){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qa=function(Wr){return typeof Wr}:qa=function(Wr){return Wr&&typeof Symbol=="function"&&Wr.constructor===Symbol&&Wr!==Symbol.prototype?"symbol":typeof Wr},qa(Gr)}function as(Gr,Wr,Qr){return Wr in Gr?Object.defineProperty(Gr,Wr,{value:Qr,enumerable:!0,configurable:!0,writable:!0}):Gr[Wr]=Qr,Gr}function Gi(){return Gi=Object.assign||function(Gr){for(var Wr=1;Wr<arguments.length;Wr++){var Qr=arguments[Wr];for(var Yr in Qr)Object.prototype.hasOwnProperty.call(Qr,Yr)&&(Gr[Yr]=Qr[Yr])}return Gr},Gi.apply(this,arguments)}function os(Gr,Wr){if(Gr==null)return{};var Qr={},Yr=Object.keys(Gr),Jr,rn;for(rn=0;rn<Yr.length;rn++)Jr=Yr[rn],!(Wr.indexOf(Jr)>=0)&&(Qr[Jr]=Gr[Jr]);return Qr}function ss(Gr,Wr){if(Gr==null)return{};var Qr=os(Gr,Wr),Yr,Jr;if(Object.getOwnPropertySymbols){var rn=Object.getOwnPropertySymbols(Gr);for(Jr=0;Jr<rn.length;Jr++)Yr=rn[Jr],!(Wr.indexOf(Yr)>=0)&&Object.prototype.propertyIsEnumerable.call(Gr,Yr)&&(Qr[Yr]=Gr[Yr])}return Qr}var ls="1.15.6";function Bi(Gr){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(Gr)}var ji=Bi(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),ya=Bi(/Edge/i),wo=Bi(/firefox/i),da=Bi(/safari/i)&&!Bi(/chrome/i)&&!Bi(/android/i),uo=Bi(/iP(ad|od|hone)/i),No=Bi(/chrome/i)&&Bi(/android/i),Do={capture:!1,passive:!1};function Zn(Gr,Wr,Qr){Gr.addEventListener(Wr,Qr,!ji&&Do)}function Jn(Gr,Wr,Qr){Gr.removeEventListener(Wr,Qr,!ji&&Do)}function _a(Gr,Wr){if(Wr){if(Wr[0]===">"&&(Wr=Wr.substring(1)),Gr)try{if(Gr.matches)return Gr.matches(Wr);if(Gr.msMatchesSelector)return Gr.msMatchesSelector(Wr);if(Gr.webkitMatchesSelector)return Gr.webkitMatchesSelector(Wr)}catch{return!1}return!1}}function qo(Gr){return Gr.host&&Gr!==document&&Gr.host.nodeType?Gr.host:Gr.parentNode}function Fi(Gr,Wr,Qr,Yr){if(Gr){Qr=Qr||document;do{if(Wr!=null&&(Wr[0]===">"?Gr.parentNode===Qr&&_a(Gr,Wr):_a(Gr,Wr))||Yr&&Gr===Qr)return Gr;if(Gr===Qr)break}while(Gr=qo(Gr))}return null}var ko=/\s+/g;function Ai(Gr,Wr,Qr){if(Gr&&Wr)if(Gr.classList)Gr.classList[Qr?"add":"remove"](Wr);else{var Yr=(" "+Gr.className+" ").replace(ko," ").replace(" "+Wr+" "," ");Gr.className=(Yr+(Qr?" "+Wr:"")).replace(ko," ")}}function Qn(Gr,Wr,Qr){var Yr=Gr&&Gr.style;if(Yr){if(Qr===void 0)return document.defaultView&&document.defaultView.getComputedStyle?Qr=document.defaultView.getComputedStyle(Gr,""):Gr.currentStyle&&(Qr=Gr.currentStyle),Wr===void 0?Qr:Qr[Wr];!(Wr in Yr)&&Wr.indexOf("webkit")===-1&&(Wr="-webkit-"+Wr),Yr[Wr]=Qr+(typeof Qr=="string"?"":"px")}}function aa(Gr,Wr){var Qr="";if(typeof Gr=="string")Qr=Gr;else do{var Yr=Qn(Gr,"transform");Yr&&Yr!=="none"&&(Qr=Yr+" "+Qr)}while(!Wr&&(Gr=Gr.parentNode));var Jr=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return Jr&&new Jr(Qr)}function Lo(Gr,Wr,Qr){if(Gr){var Yr=Gr.getElementsByTagName(Wr),Jr=0,rn=Yr.length;if(Qr)for(;Jr<rn;Jr++)Qr(Yr[Jr],Jr);return Yr}return[]}function _i(){var Gr=document.scrollingElement;return Gr||document.documentElement}function mi(Gr,Wr,Qr,Yr,Jr){if(!(!Gr.getBoundingClientRect&&Gr!==window)){var rn,ln,mn,gn,wn,Cn,An;if(Gr!==window&&Gr.parentNode&&Gr!==_i()?(rn=Gr.getBoundingClientRect(),ln=rn.top,mn=rn.left,gn=rn.bottom,wn=rn.right,Cn=rn.height,An=rn.width):(ln=0,mn=0,gn=window.innerHeight,wn=window.innerWidth,Cn=window.innerHeight,An=window.innerWidth),(Wr||Qr)&&Gr!==window&&(Jr=Jr||Gr.parentNode,!ji))do if(Jr&&Jr.getBoundingClientRect&&(Qn(Jr,"transform")!=="none"||Qr&&Qn(Jr,"position")!=="static")){var Pn=Jr.getBoundingClientRect();ln-=Pn.top+parseInt(Qn(Jr,"border-top-width")),mn-=Pn.left+parseInt(Qn(Jr,"border-left-width")),gn=ln+rn.height,wn=mn+rn.width;break}while(Jr=Jr.parentNode);if(Yr&&Gr!==window){var jn=aa(Jr||Gr),zn=jn&&jn.a,Wn=jn&&jn.d;jn&&(ln/=Wn,mn/=zn,An/=zn,Cn/=Wn,gn=ln+Cn,wn=mn+An)}return{top:ln,left:mn,bottom:gn,right:wn,width:An,height:Cn}}}function So(Gr,Wr,Qr){for(var Yr=Qi(Gr,!0),Jr=mi(Gr)[Wr];Yr;){var rn=mi(Yr)[Qr],ln=void 0;if(Qr==="top"||Qr==="left"?ln=Jr>=rn:ln=Jr<=rn,!ln)return Yr;if(Yr===_i())break;Yr=Qi(Yr,!1)}return!1}function oa(Gr,Wr,Qr,Yr){for(var Jr=0,rn=0,ln=Gr.children;rn<ln.length;){if(ln[rn].style.display!=="none"&&ln[rn]!==Vn.ghost&&(Yr||ln[rn]!==Vn.dragged)&&Fi(ln[rn],Qr.draggable,Gr,!1)){if(Jr===Wr)return ln[rn];Jr++}rn++}return null}function co(Gr,Wr){for(var Qr=Gr.lastElementChild;Qr&&(Qr===Vn.ghost||Qn(Qr,"display")==="none"||Wr&&!_a(Qr,Wr));)Qr=Qr.previousElementSibling;return Qr||null}function qi(Gr,Wr){var Qr=0;if(!Gr||!Gr.parentNode)return-1;for(;Gr=Gr.previousElementSibling;)Gr.nodeName.toUpperCase()!=="TEMPLATE"&&Gr!==Vn.clone&&(!Wr||_a(Gr,Wr))&&Qr++;return Qr}function Co(Gr){var Wr=0,Qr=0,Yr=_i();if(Gr)do{var Jr=aa(Gr),rn=Jr.a,ln=Jr.d;Wr+=Gr.scrollLeft*rn,Qr+=Gr.scrollTop*ln}while(Gr!==Yr&&(Gr=Gr.parentNode));return[Wr,Qr]}function us(Gr,Wr){for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){for(var Yr in Wr)if(Wr.hasOwnProperty(Yr)&&Wr[Yr]===Gr[Qr][Yr])return Number(Qr)}return-1}function Qi(Gr,Wr){if(!Gr||!Gr.getBoundingClientRect)return _i();var Qr=Gr,Yr=!1;do if(Qr.clientWidth<Qr.scrollWidth||Qr.clientHeight<Qr.scrollHeight){var Jr=Qn(Qr);if(Qr.clientWidth<Qr.scrollWidth&&(Jr.overflowX=="auto"||Jr.overflowX=="scroll")||Qr.clientHeight<Qr.scrollHeight&&(Jr.overflowY=="auto"||Jr.overflowY=="scroll")){if(!Qr.getBoundingClientRect||Qr===document.body)return _i();if(Yr||Wr)return Qr;Yr=!0}}while(Qr=Qr.parentNode);return _i()}function cs(Gr,Wr){if(Gr&&Wr)for(var Qr in Wr)Wr.hasOwnProperty(Qr)&&(Gr[Qr]=Wr[Qr]);return Gr}function $a(Gr,Wr){return Math.round(Gr.top)===Math.round(Wr.top)&&Math.round(Gr.left)===Math.round(Wr.left)&&Math.round(Gr.height)===Math.round(Wr.height)&&Math.round(Gr.width)===Math.round(Wr.width)}var pa;function Mo(Gr,Wr){return function(){if(!pa){var Qr=arguments,Yr=this;Qr.length===1?Gr.call(Yr,Qr[0]):Gr.apply(Yr,Qr),pa=setTimeout(function(){pa=void 0},Wr)}}}function fs(){clearTimeout(pa),pa=void 0}function Po(Gr,Wr,Qr){Gr.scrollLeft+=Wr,Gr.scrollTop+=Qr}function Fo(Gr){var Wr=window.Polymer,Qr=window.jQuery||window.Zepto;return Wr&&Wr.dom?Wr.dom(Gr).cloneNode(!0):Qr?Qr(Gr).clone(!0)[0]:Gr.cloneNode(!0)}function _o(Gr,Wr,Qr){var Yr={};return Array.from(Gr.children).forEach(function(Jr){var rn,ln,mn,gn;if(!(!Fi(Jr,Wr.draggable,Gr,!1)||Jr.animated||Jr===Qr)){var wn=mi(Jr);Yr.left=Math.min((rn=Yr.left)!==null&&rn!==void 0?rn:1/0,wn.left),Yr.top=Math.min((ln=Yr.top)!==null&&ln!==void 0?ln:1/0,wn.top),Yr.right=Math.max((mn=Yr.right)!==null&&mn!==void 0?mn:-1/0,wn.right),Yr.bottom=Math.max((gn=Yr.bottom)!==null&&gn!==void 0?gn:-1/0,wn.bottom)}}),Yr.width=Yr.right-Yr.left,Yr.height=Yr.bottom-Yr.top,Yr.x=Yr.left,Yr.y=Yr.top,Yr}var ki="Sortable"+new Date().getTime();function hs(){var Gr=[],Wr;return{captureAnimationState:function(){if(Gr=[],!!this.options.animation){var Yr=[].slice.call(this.el.children);Yr.forEach(function(Jr){if(!(Qn(Jr,"display")==="none"||Jr===Vn.ghost)){Gr.push({target:Jr,rect:mi(Jr)});var rn=Hi({},Gr[Gr.length-1].rect);if(Jr.thisAnimationDuration){var ln=aa(Jr,!0);ln&&(rn.top-=ln.f,rn.left-=ln.e)}Jr.fromRect=rn}})}},addAnimationState:function(Yr){Gr.push(Yr)},removeAnimationState:function(Yr){Gr.splice(us(Gr,{target:Yr}),1)},animateAll:function(Yr){var Jr=this;if(!this.options.animation){clearTimeout(Wr),typeof Yr=="function"&&Yr();return}var rn=!1,ln=0;Gr.forEach(function(mn){var gn=0,wn=mn.target,Cn=wn.fromRect,An=mi(wn),Pn=wn.prevFromRect,jn=wn.prevToRect,zn=mn.rect,Wn=aa(wn,!0);Wn&&(An.top-=Wn.f,An.left-=Wn.e),wn.toRect=An,wn.thisAnimationDuration&&$a(Pn,An)&&!$a(Cn,An)&&(zn.top-An.top)/(zn.left-An.left)===(Cn.top-An.top)/(Cn.left-An.left)&&(gn=ps(zn,Pn,jn,Jr.options)),$a(An,Cn)||(wn.prevFromRect=Cn,wn.prevToRect=An,gn||(gn=Jr.options.animation),Jr.animate(wn,zn,An,gn)),gn&&(rn=!0,ln=Math.max(ln,gn),clearTimeout(wn.animationResetTimer),wn.animationResetTimer=setTimeout(function(){wn.animationTime=0,wn.prevFromRect=null,wn.fromRect=null,wn.prevToRect=null,wn.thisAnimationDuration=null},gn),wn.thisAnimationDuration=gn)}),clearTimeout(Wr),rn?Wr=setTimeout(function(){typeof Yr=="function"&&Yr()},ln):typeof Yr=="function"&&Yr(),Gr=[]},animate:function(Yr,Jr,rn,ln){if(ln){Qn(Yr,"transition",""),Qn(Yr,"transform","");var mn=aa(this.el),gn=mn&&mn.a,wn=mn&&mn.d,Cn=(Jr.left-rn.left)/(gn||1),An=(Jr.top-rn.top)/(wn||1);Yr.animatingX=!!Cn,Yr.animatingY=!!An,Qn(Yr,"transform","translate3d("+Cn+"px,"+An+"px,0)"),this.forRepaintDummy=ds(Yr),Qn(Yr,"transition","transform "+ln+"ms"+(this.options.easing?" "+this.options.easing:"")),Qn(Yr,"transform","translate3d(0,0,0)"),typeof Yr.animated=="number"&&clearTimeout(Yr.animated),Yr.animated=setTimeout(function(){Qn(Yr,"transition",""),Qn(Yr,"transform",""),Yr.animated=!1,Yr.animatingX=!1,Yr.animatingY=!1},ln)}}}}function ds(Gr){return Gr.offsetWidth}function ps(Gr,Wr,Qr,Yr){return Math.sqrt(Math.pow(Wr.top-Gr.top,2)+Math.pow(Wr.left-Gr.left,2))/Math.sqrt(Math.pow(Wr.top-Qr.top,2)+Math.pow(Wr.left-Qr.left,2))*Yr.animation}var ta=[],Ka={initializeByDefault:!0},Ea={mount:function(Wr){for(var Qr in Ka)Ka.hasOwnProperty(Qr)&&!(Qr in Wr)&&(Wr[Qr]=Ka[Qr]);ta.forEach(function(Yr){if(Yr.pluginName===Wr.pluginName)throw"Sortable: Cannot mount plugin ".concat(Wr.pluginName," more than once")}),ta.push(Wr)},pluginEvent:function(Wr,Qr,Yr){var Jr=this;this.eventCanceled=!1,Yr.cancel=function(){Jr.eventCanceled=!0};var rn=Wr+"Global";ta.forEach(function(ln){Qr[ln.pluginName]&&(Qr[ln.pluginName][rn]&&Qr[ln.pluginName][rn](Hi({sortable:Qr},Yr)),Qr.options[ln.pluginName]&&Qr[ln.pluginName][Wr]&&Qr[ln.pluginName][Wr](Hi({sortable:Qr},Yr)))})},initializePlugins:function(Wr,Qr,Yr,Jr){ta.forEach(function(mn){var gn=mn.pluginName;if(!(!Wr.options[gn]&&!mn.initializeByDefault)){var wn=new mn(Wr,Qr,Wr.options);wn.sortable=Wr,wn.options=Wr.options,Wr[gn]=wn,Gi(Yr,wn.defaults)}});for(var rn in Wr.options)if(Wr.options.hasOwnProperty(rn)){var ln=this.modifyOption(Wr,rn,Wr.options[rn]);typeof ln<"u"&&(Wr.options[rn]=ln)}},getEventProperties:function(Wr,Qr){var Yr={};return ta.forEach(function(Jr){typeof Jr.eventProperties=="function"&&Gi(Yr,Jr.eventProperties.call(Qr[Jr.pluginName],Wr))}),Yr},modifyOption:function(Wr,Qr,Yr){var Jr;return ta.forEach(function(rn){Wr[rn.pluginName]&&rn.optionListeners&&typeof rn.optionListeners[Qr]=="function"&&(Jr=rn.optionListeners[Qr].call(Wr[rn.pluginName],Yr))}),Jr}};function ms(Gr){var Wr=Gr.sortable,Qr=Gr.rootEl,Yr=Gr.name,Jr=Gr.targetEl,rn=Gr.cloneEl,ln=Gr.toEl,mn=Gr.fromEl,gn=Gr.oldIndex,wn=Gr.newIndex,Cn=Gr.oldDraggableIndex,An=Gr.newDraggableIndex,Pn=Gr.originalEvent,jn=Gr.putSortable,zn=Gr.extraEventProperties;if(Wr=Wr||Qr&&Qr[ki],!!Wr){var Wn,ni=Wr.options,gi="on"+Yr.charAt(0).toUpperCase()+Yr.substr(1);window.CustomEvent&&!ji&&!ya?Wn=new CustomEvent(Yr,{bubbles:!0,cancelable:!0}):(Wn=document.createEvent("Event"),Wn.initEvent(Yr,!0,!0)),Wn.to=ln||Qr,Wn.from=mn||Qr,Wn.item=Jr||Qr,Wn.clone=rn,Wn.oldIndex=gn,Wn.newIndex=wn,Wn.oldDraggableIndex=Cn,Wn.newDraggableIndex=An,Wn.originalEvent=Pn,Wn.pullMode=jn?jn.lastPutMode:void 0;var ci=Hi(Hi({},zn),Ea.getEventProperties(Yr,Wr));for(var ai in ci)Wn[ai]=ci[ai];Qr&&Qr.dispatchEvent(Wn),ni[gi]&&ni[gi].call(Wr,Wn)}}var vs=["evt"],wi=function(Wr,Qr){var Yr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Jr=Yr.evt,rn=ss(Yr,vs);Ea.pluginEvent.bind(Vn)(Wr,Qr,Hi({dragEl:Fn,parentEl:fi,ghostEl:Yn,rootEl:li,nextEl:Ki,lastDownEl:La,cloneEl:ui,cloneHidden:Wi,dragStarted:ca,putSortable:yi,activeSortable:Vn.active,originalEvent:Jr,oldIndex:ia,oldDraggableIndex:ma,newIndex:Ii,newDraggableIndex:zi,hideGhostForTarget:Go,unhideGhostForTarget:jo,cloneNowHidden:function(){Wi=!0},cloneNowShown:function(){Wi=!1},dispatchSortableEvent:function(mn){xi({sortable:Qr,name:mn,originalEvent:Jr})}},rn))};function xi(Gr){ms(Hi({putSortable:yi,cloneEl:ui,targetEl:Fn,rootEl:li,oldIndex:ia,oldDraggableIndex:ma,newIndex:Ii,newDraggableIndex:zi},Gr))}var Fn,fi,Yn,li,Ki,La,ui,Wi,ia,Ii,ma,zi,Ia,yi,na=!1,Ha=!1,Ua=[],Yi,Pi,Ja,Za,Oo,Ao,ca,ra,va,ga=!1,Ra=!1,Ma,Ti,eo=[],ao=!1,Ba=[],ja=typeof document<"u",Na=uo,Io=ya||ji?"cssFloat":"float",gs=ja&&!No&&!uo&&"draggable"in document.createElement("div"),Ho=function(){if(ja){if(ji)return!1;var Gr=document.createElement("x");return Gr.style.cssText="pointer-events:auto",Gr.style.pointerEvents==="auto"}}(),Uo=function(Wr,Qr){var Yr=Qn(Wr),Jr=parseInt(Yr.width)-parseInt(Yr.paddingLeft)-parseInt(Yr.paddingRight)-parseInt(Yr.borderLeftWidth)-parseInt(Yr.borderRightWidth),rn=oa(Wr,0,Qr),ln=oa(Wr,1,Qr),mn=rn&&Qn(rn),gn=ln&&Qn(ln),wn=mn&&parseInt(mn.marginLeft)+parseInt(mn.marginRight)+mi(rn).width,Cn=gn&&parseInt(gn.marginLeft)+parseInt(gn.marginRight)+mi(ln).width;if(Yr.display==="flex")return Yr.flexDirection==="column"||Yr.flexDirection==="column-reverse"?"vertical":"horizontal";if(Yr.display==="grid")return Yr.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(rn&&mn.float&&mn.float!=="none"){var An=mn.float==="left"?"left":"right";return ln&&(gn.clear==="both"||gn.clear===An)?"vertical":"horizontal"}return rn&&(mn.display==="block"||mn.display==="flex"||mn.display==="table"||mn.display==="grid"||wn>=Jr&&Yr[Io]==="none"||ln&&Yr[Io]==="none"&&wn+Cn>Jr)?"vertical":"horizontal"},ys=function(Wr,Qr,Yr){var Jr=Yr?Wr.left:Wr.top,rn=Yr?Wr.right:Wr.bottom,ln=Yr?Wr.width:Wr.height,mn=Yr?Qr.left:Qr.top,gn=Yr?Qr.right:Qr.bottom,wn=Yr?Qr.width:Qr.height;return Jr===mn||rn===gn||Jr+ln/2===mn+wn/2},Es=function(Wr,Qr){var Yr;return Ua.some(function(Jr){var rn=Jr[ki].options.emptyInsertThreshold;if(!(!rn||co(Jr))){var ln=mi(Jr),mn=Wr>=ln.left-rn&&Wr<=ln.right+rn,gn=Qr>=ln.top-rn&&Qr<=ln.bottom+rn;if(mn&&gn)return Yr=Jr}}),Yr},Bo=function(Wr){function Qr(rn,ln){return function(mn,gn,wn,Cn){var An=mn.options.group.name&&gn.options.group.name&&mn.options.group.name===gn.options.group.name;if(rn==null&&(ln||An))return!0;if(rn==null||rn===!1)return!1;if(ln&&rn==="clone")return rn;if(typeof rn=="function")return Qr(rn(mn,gn,wn,Cn),ln)(mn,gn,wn,Cn);var Pn=(ln?mn:gn).options.group.name;return rn===!0||typeof rn=="string"&&rn===Pn||rn.join&&rn.indexOf(Pn)>-1}}var Yr={},Jr=Wr.group;(!Jr||qa(Jr)!="object")&&(Jr={name:Jr}),Yr.name=Jr.name,Yr.checkPull=Qr(Jr.pull,!0),Yr.checkPut=Qr(Jr.put),Yr.revertClone=Jr.revertClone,Wr.group=Yr},Go=function(){!Ho&&Yn&&Qn(Yn,"display","none")},jo=function(){!Ho&&Yn&&Qn(Yn,"display","")};ja&&!No&&document.addEventListener("click",function(Gr){if(Ha)return Gr.preventDefault(),Gr.stopPropagation&&Gr.stopPropagation(),Gr.stopImmediatePropagation&&Gr.stopImmediatePropagation(),Ha=!1,!1},!0);var $i=function(Wr){if(Fn){Wr=Wr.touches?Wr.touches[0]:Wr;var Qr=Es(Wr.clientX,Wr.clientY);if(Qr){var Yr={};for(var Jr in Wr)Wr.hasOwnProperty(Jr)&&(Yr[Jr]=Wr[Jr]);Yr.target=Yr.rootEl=Qr,Yr.preventDefault=void 0,Yr.stopPropagation=void 0,Qr[ki]._onDragOver(Yr)}}},bs=function(Wr){Fn&&Fn.parentNode[ki]._isOutsideThisEl(Wr.target)};function Vn(Gr,Wr){if(!(Gr&&Gr.nodeType&&Gr.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(Gr));this.el=Gr,this.options=Wr=Gi({},Wr),Gr[ki]=this;var Qr={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(Gr.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Uo(Gr,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(ln,mn){ln.setData("Text",mn.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Vn.supportPointer!==!1&&"PointerEvent"in window&&(!da||uo),emptyInsertThreshold:5};Ea.initializePlugins(this,Gr,Qr);for(var Yr in Qr)!(Yr in Wr)&&(Wr[Yr]=Qr[Yr]);Bo(Wr);for(var Jr in this)Jr.charAt(0)==="_"&&typeof this[Jr]=="function"&&(this[Jr]=this[Jr].bind(this));this.nativeDraggable=Wr.forceFallback?!1:gs,this.nativeDraggable&&(this.options.touchStartThreshold=1),Wr.supportPointer?Zn(Gr,"pointerdown",this._onTapStart):(Zn(Gr,"mousedown",this._onTapStart),Zn(Gr,"touchstart",this._onTapStart)),this.nativeDraggable&&(Zn(Gr,"dragover",this),Zn(Gr,"dragenter",this)),Ua.push(this.el),Wr.store&&Wr.store.get&&this.sort(Wr.store.get(this)||[]),Gi(this,hs())}Vn.prototype={constructor:Vn,_isOutsideThisEl:function(Wr){!this.el.contains(Wr)&&Wr!==this.el&&(ra=null)},_getDirection:function(Wr,Qr){return typeof this.options.direction=="function"?this.options.direction.call(this,Wr,Qr,Fn):this.options.direction},_onTapStart:function(Wr){if(Wr.cancelable){var Qr=this,Yr=this.el,Jr=this.options,rn=Jr.preventOnFilter,ln=Wr.type,mn=Wr.touches&&Wr.touches[0]||Wr.pointerType&&Wr.pointerType==="touch"&&Wr,gn=(mn||Wr).target,wn=Wr.target.shadowRoot&&(Wr.path&&Wr.path[0]||Wr.composedPath&&Wr.composedPath()[0])||gn,Cn=Jr.filter;if(As(Yr),!Fn&&!(/mousedown|pointerdown/.test(ln)&&Wr.button!==0||Jr.disabled)&&!wn.isContentEditable&&!(!this.nativeDraggable&&da&&gn&&gn.tagName.toUpperCase()==="SELECT")&&(gn=Fi(gn,Jr.draggable,Yr,!1),!(gn&&gn.animated)&&La!==gn)){if(ia=qi(gn),ma=qi(gn,Jr.draggable),typeof Cn=="function"){if(Cn.call(this,Wr,gn,this)){xi({sortable:Qr,rootEl:wn,name:"filter",targetEl:gn,toEl:Yr,fromEl:Yr}),wi("filter",Qr,{evt:Wr}),rn&&Wr.preventDefault();return}}else if(Cn&&(Cn=Cn.split(",").some(function(An){if(An=Fi(wn,An.trim(),Yr,!1),An)return xi({sortable:Qr,rootEl:An,name:"filter",targetEl:gn,fromEl:Yr,toEl:Yr}),wi("filter",Qr,{evt:Wr}),!0}),Cn)){rn&&Wr.preventDefault();return}Jr.handle&&!Fi(wn,Jr.handle,Yr,!1)||this._prepareDragStart(Wr,mn,gn)}}},_prepareDragStart:function(Wr,Qr,Yr){var Jr=this,rn=Jr.el,ln=Jr.options,mn=rn.ownerDocument,gn;if(Yr&&!Fn&&Yr.parentNode===rn){var wn=mi(Yr);if(li=rn,Fn=Yr,fi=Fn.parentNode,Ki=Fn.nextSibling,La=Yr,Ia=ln.group,Vn.dragged=Fn,Yi={target:Fn,clientX:(Qr||Wr).clientX,clientY:(Qr||Wr).clientY},Oo=Yi.clientX-wn.left,Ao=Yi.clientY-wn.top,this._lastX=(Qr||Wr).clientX,this._lastY=(Qr||Wr).clientY,Fn.style["will-change"]="all",gn=function(){if(wi("delayEnded",Jr,{evt:Wr}),Vn.eventCanceled){Jr._onDrop();return}Jr._disableDelayedDragEvents(),!wo&&Jr.nativeDraggable&&(Fn.draggable=!0),Jr._triggerDragStart(Wr,Qr),xi({sortable:Jr,name:"choose",originalEvent:Wr}),Ai(Fn,ln.chosenClass,!0)},ln.ignore.split(",").forEach(function(Cn){Lo(Fn,Cn.trim(),to)}),Zn(mn,"dragover",$i),Zn(mn,"mousemove",$i),Zn(mn,"touchmove",$i),ln.supportPointer?(Zn(mn,"pointerup",Jr._onDrop),!this.nativeDraggable&&Zn(mn,"pointercancel",Jr._onDrop)):(Zn(mn,"mouseup",Jr._onDrop),Zn(mn,"touchend",Jr._onDrop),Zn(mn,"touchcancel",Jr._onDrop)),wo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Fn.draggable=!0),wi("delayStart",this,{evt:Wr}),ln.delay&&(!ln.delayOnTouchOnly||Qr)&&(!this.nativeDraggable||!(ya||ji))){if(Vn.eventCanceled){this._onDrop();return}ln.supportPointer?(Zn(mn,"pointerup",Jr._disableDelayedDrag),Zn(mn,"pointercancel",Jr._disableDelayedDrag)):(Zn(mn,"mouseup",Jr._disableDelayedDrag),Zn(mn,"touchend",Jr._disableDelayedDrag),Zn(mn,"touchcancel",Jr._disableDelayedDrag)),Zn(mn,"mousemove",Jr._delayedDragTouchMoveHandler),Zn(mn,"touchmove",Jr._delayedDragTouchMoveHandler),ln.supportPointer&&Zn(mn,"pointermove",Jr._delayedDragTouchMoveHandler),Jr._dragStartTimer=setTimeout(gn,ln.delay)}else gn()}},_delayedDragTouchMoveHandler:function(Wr){var Qr=Wr.touches?Wr.touches[0]:Wr;Math.max(Math.abs(Qr.clientX-this._lastX),Math.abs(Qr.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Fn&&to(Fn),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var Wr=this.el.ownerDocument;Jn(Wr,"mouseup",this._disableDelayedDrag),Jn(Wr,"touchend",this._disableDelayedDrag),Jn(Wr,"touchcancel",this._disableDelayedDrag),Jn(Wr,"pointerup",this._disableDelayedDrag),Jn(Wr,"pointercancel",this._disableDelayedDrag),Jn(Wr,"mousemove",this._delayedDragTouchMoveHandler),Jn(Wr,"touchmove",this._delayedDragTouchMoveHandler),Jn(Wr,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(Wr,Qr){Qr=Qr||Wr.pointerType=="touch"&&Wr,!this.nativeDraggable||Qr?this.options.supportPointer?Zn(document,"pointermove",this._onTouchMove):Qr?Zn(document,"touchmove",this._onTouchMove):Zn(document,"mousemove",this._onTouchMove):(Zn(Fn,"dragend",this),Zn(li,"dragstart",this._onDragStart));try{document.selection?Pa(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(Wr,Qr){if(na=!1,li&&Fn){wi("dragStarted",this,{evt:Qr}),this.nativeDraggable&&Zn(document,"dragover",bs);var Yr=this.options;!Wr&&Ai(Fn,Yr.dragClass,!1),Ai(Fn,Yr.ghostClass,!0),Vn.active=this,Wr&&this._appendGhost(),xi({sortable:this,name:"start",originalEvent:Qr})}else this._nulling()},_emulateDragOver:function(){if(Pi){this._lastX=Pi.clientX,this._lastY=Pi.clientY,Go();for(var Wr=document.elementFromPoint(Pi.clientX,Pi.clientY),Qr=Wr;Wr&&Wr.shadowRoot&&(Wr=Wr.shadowRoot.elementFromPoint(Pi.clientX,Pi.clientY),Wr!==Qr);)Qr=Wr;if(Fn.parentNode[ki]._isOutsideThisEl(Wr),Qr)do{if(Qr[ki]){var Yr=void 0;if(Yr=Qr[ki]._onDragOver({clientX:Pi.clientX,clientY:Pi.clientY,target:Wr,rootEl:Qr}),Yr&&!this.options.dragoverBubble)break}Wr=Qr}while(Qr=qo(Qr));jo()}},_onTouchMove:function(Wr){if(Yi){var Qr=this.options,Yr=Qr.fallbackTolerance,Jr=Qr.fallbackOffset,rn=Wr.touches?Wr.touches[0]:Wr,ln=Yn&&aa(Yn,!0),mn=Yn&&ln&&ln.a,gn=Yn&&ln&&ln.d,wn=Na&&Ti&&Co(Ti),Cn=(rn.clientX-Yi.clientX+Jr.x)/(mn||1)+(wn?wn[0]-eo[0]:0)/(mn||1),An=(rn.clientY-Yi.clientY+Jr.y)/(gn||1)+(wn?wn[1]-eo[1]:0)/(gn||1);if(!Vn.active&&!na){if(Yr&&Math.max(Math.abs(rn.clientX-this._lastX),Math.abs(rn.clientY-this._lastY))<Yr)return;this._onDragStart(Wr,!0)}if(Yn){ln?(ln.e+=Cn-(Ja||0),ln.f+=An-(Za||0)):ln={a:1,b:0,c:0,d:1,e:Cn,f:An};var Pn="matrix(".concat(ln.a,",").concat(ln.b,",").concat(ln.c,",").concat(ln.d,",").concat(ln.e,",").concat(ln.f,")");Qn(Yn,"webkitTransform",Pn),Qn(Yn,"mozTransform",Pn),Qn(Yn,"msTransform",Pn),Qn(Yn,"transform",Pn),Ja=Cn,Za=An,Pi=rn}Wr.cancelable&&Wr.preventDefault()}},_appendGhost:function(){if(!Yn){var Wr=this.options.fallbackOnBody?document.body:li,Qr=mi(Fn,!0,Na,!0,Wr),Yr=this.options;if(Na){for(Ti=Wr;Qn(Ti,"position")==="static"&&Qn(Ti,"transform")==="none"&&Ti!==document;)Ti=Ti.parentNode;Ti!==document.body&&Ti!==document.documentElement?(Ti===document&&(Ti=_i()),Qr.top+=Ti.scrollTop,Qr.left+=Ti.scrollLeft):Ti=_i(),eo=Co(Ti)}Yn=Fn.cloneNode(!0),Ai(Yn,Yr.ghostClass,!1),Ai(Yn,Yr.fallbackClass,!0),Ai(Yn,Yr.dragClass,!0),Qn(Yn,"transition",""),Qn(Yn,"transform",""),Qn(Yn,"box-sizing","border-box"),Qn(Yn,"margin",0),Qn(Yn,"top",Qr.top),Qn(Yn,"left",Qr.left),Qn(Yn,"width",Qr.width),Qn(Yn,"height",Qr.height),Qn(Yn,"opacity","0.8"),Qn(Yn,"position",Na?"absolute":"fixed"),Qn(Yn,"zIndex","100000"),Qn(Yn,"pointerEvents","none"),Vn.ghost=Yn,Wr.appendChild(Yn),Qn(Yn,"transform-origin",Oo/parseInt(Yn.style.width)*100+"% "+Ao/parseInt(Yn.style.height)*100+"%")}},_onDragStart:function(Wr,Qr){var Yr=this,Jr=Wr.dataTransfer,rn=Yr.options;if(wi("dragStart",this,{evt:Wr}),Vn.eventCanceled){this._onDrop();return}wi("setupClone",this),Vn.eventCanceled||(ui=Fo(Fn),ui.removeAttribute("id"),ui.draggable=!1,ui.style["will-change"]="",this._hideClone(),Ai(ui,this.options.chosenClass,!1),Vn.clone=ui),Yr.cloneId=Pa(function(){wi("clone",Yr),!Vn.eventCanceled&&(Yr.options.removeCloneOnHide||li.insertBefore(ui,Fn),Yr._hideClone(),xi({sortable:Yr,name:"clone"}))}),!Qr&&Ai(Fn,rn.dragClass,!0),Qr?(Ha=!0,Yr._loopId=setInterval(Yr._emulateDragOver,50)):(Jn(document,"mouseup",Yr._onDrop),Jn(document,"touchend",Yr._onDrop),Jn(document,"touchcancel",Yr._onDrop),Jr&&(Jr.effectAllowed="move",rn.setData&&rn.setData.call(Yr,Jr,Fn)),Zn(document,"drop",Yr),Qn(Fn,"transform","translateZ(0)")),na=!0,Yr._dragStartId=Pa(Yr._dragStarted.bind(Yr,Qr,Wr)),Zn(document,"selectstart",Yr),ca=!0,window.getSelection().removeAllRanges(),da&&Qn(document.body,"user-select","none")},_onDragOver:function(Wr){var Qr=this.el,Yr=Wr.target,Jr,rn,ln,mn=this.options,gn=mn.group,wn=Vn.active,Cn=Ia===gn,An=mn.sort,Pn=yi||wn,jn,zn=this,Wn=!1;if(ao)return;function ni(fn,On){wi(fn,zn,Hi({evt:Wr,isOwner:Cn,axis:jn?"vertical":"horizontal",revert:ln,dragRect:Jr,targetRect:rn,canSort:An,fromSortable:Pn,target:Yr,completed:ci,onMove:function(Dn,In){return Da(li,Qr,Fn,Jr,Dn,mi(Dn),Wr,In)},changed:ai},On))}function gi(){ni("dragOverAnimationCapture"),zn.captureAnimationState(),zn!==Pn&&Pn.captureAnimationState()}function ci(fn){return ni("dragOverCompleted",{insertion:fn}),fn&&(Cn?wn._hideClone():wn._showClone(zn),zn!==Pn&&(Ai(Fn,yi?yi.options.ghostClass:wn.options.ghostClass,!1),Ai(Fn,mn.ghostClass,!0)),yi!==zn&&zn!==Vn.active?yi=zn:zn===Vn.active&&yi&&(yi=null),Pn===zn&&(zn._ignoreWhileAnimating=Yr),zn.animateAll(function(){ni("dragOverAnimationComplete"),zn._ignoreWhileAnimating=null}),zn!==Pn&&(Pn.animateAll(),Pn._ignoreWhileAnimating=null)),(Yr===Fn&&!Fn.animated||Yr===Qr&&!Yr.animated)&&(ra=null),!mn.dragoverBubble&&!Wr.rootEl&&Yr!==document&&(Fn.parentNode[ki]._isOutsideThisEl(Wr.target),!fn&&$i(Wr)),!mn.dragoverBubble&&Wr.stopPropagation&&Wr.stopPropagation(),Wn=!0}function ai(){Ii=qi(Fn),zi=qi(Fn,mn.draggable),xi({sortable:zn,name:"change",toEl:Qr,newIndex:Ii,newDraggableIndex:zi,originalEvent:Wr})}if(Wr.preventDefault!==void 0&&Wr.cancelable&&Wr.preventDefault(),Yr=Fi(Yr,mn.draggable,Qr,!0),ni("dragOver"),Vn.eventCanceled)return Wn;if(Fn.contains(Wr.target)||Yr.animated&&Yr.animatingX&&Yr.animatingY||zn._ignoreWhileAnimating===Yr)return ci(!1);if(Ha=!1,wn&&!mn.disabled&&(Cn?An||(ln=fi!==li):yi===this||(this.lastPutMode=Ia.checkPull(this,wn,Fn,Wr))&&gn.checkPut(this,wn,Fn,Wr))){if(jn=this._getDirection(Wr,Yr)==="vertical",Jr=mi(Fn),ni("dragOverValid"),Vn.eventCanceled)return Wn;if(ln)return fi=li,gi(),this._hideClone(),ni("revert"),Vn.eventCanceled||(Ki?li.insertBefore(Fn,Ki):li.appendChild(Fn)),ci(!0);var Kn=co(Qr,mn.draggable);if(!Kn||ks(Wr,jn,this)&&!Kn.animated){if(Kn===Fn)return ci(!1);if(Kn&&Qr===Wr.target&&(Yr=Kn),Yr&&(rn=mi(Yr)),Da(li,Qr,Fn,Jr,Yr,rn,Wr,!!Yr)!==!1)return gi(),Kn&&Kn.nextSibling?Qr.insertBefore(Fn,Kn.nextSibling):Qr.appendChild(Fn),fi=Qr,ai(),ci(!0)}else if(Kn&&ws(Wr,jn,this)){var hi=oa(Qr,0,mn,!0);if(hi===Fn)return ci(!1);if(Yr=hi,rn=mi(Yr),Da(li,Qr,Fn,Jr,Yr,rn,Wr,!1)!==!1)return gi(),Qr.insertBefore(Fn,hi),fi=Qr,ai(),ci(!0)}else if(Yr.parentNode===Qr){rn=mi(Yr);var ii=0,Ri,di=Fn.parentNode!==Qr,ei=!ys(Fn.animated&&Fn.toRect||Jr,Yr.animated&&Yr.toRect||rn,jn),Tn=jn?"top":"left",Zr=So(Yr,"top","top")||So(Fn,"top","top"),nn=Zr?Zr.scrollTop:void 0;ra!==Yr&&(Ri=rn[Tn],ga=!1,Ra=!ei&&mn.invertSwap||di),ii=Ss(Wr,Yr,rn,jn,ei?1:mn.swapThreshold,mn.invertedSwapThreshold==null?mn.swapThreshold:mn.invertedSwapThreshold,Ra,ra===Yr);var hn;if(ii!==0){var dn=qi(Fn);do dn-=ii,hn=fi.children[dn];while(hn&&(Qn(hn,"display")==="none"||hn===Yn))}if(ii===0||hn===Yr)return ci(!1);ra=Yr,va=ii;var xn=Yr.nextElementSibling,vn=!1;vn=ii===1;var yn=Da(li,Qr,Fn,Jr,Yr,rn,Wr,vn);if(yn!==!1)return(yn===1||yn===-1)&&(vn=yn===1),ao=!0,setTimeout(xs,30),gi(),vn&&!xn?Qr.appendChild(Fn):Yr.parentNode.insertBefore(Fn,vn?xn:Yr),Zr&&Po(Zr,0,nn-Zr.scrollTop),fi=Fn.parentNode,Ri!==void 0&&!Ra&&(Ma=Math.abs(Ri-mi(Yr)[Tn])),ai(),ci(!0)}if(Qr.contains(Fn))return ci(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){Jn(document,"mousemove",this._onTouchMove),Jn(document,"touchmove",this._onTouchMove),Jn(document,"pointermove",this._onTouchMove),Jn(document,"dragover",$i),Jn(document,"mousemove",$i),Jn(document,"touchmove",$i)},_offUpEvents:function(){var Wr=this.el.ownerDocument;Jn(Wr,"mouseup",this._onDrop),Jn(Wr,"touchend",this._onDrop),Jn(Wr,"pointerup",this._onDrop),Jn(Wr,"pointercancel",this._onDrop),Jn(Wr,"touchcancel",this._onDrop),Jn(document,"selectstart",this)},_onDrop:function(Wr){var Qr=this.el,Yr=this.options;if(Ii=qi(Fn),zi=qi(Fn,Yr.draggable),wi("drop",this,{evt:Wr}),fi=Fn&&Fn.parentNode,Ii=qi(Fn),zi=qi(Fn,Yr.draggable),Vn.eventCanceled){this._nulling();return}na=!1,Ra=!1,ga=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),oo(this.cloneId),oo(this._dragStartId),this.nativeDraggable&&(Jn(document,"drop",this),Jn(Qr,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),da&&Qn(document.body,"user-select",""),Qn(Fn,"transform",""),Wr&&(ca&&(Wr.cancelable&&Wr.preventDefault(),!Yr.dropBubble&&Wr.stopPropagation()),Yn&&Yn.parentNode&&Yn.parentNode.removeChild(Yn),(li===fi||yi&&yi.lastPutMode!=="clone")&&ui&&ui.parentNode&&ui.parentNode.removeChild(ui),Fn&&(this.nativeDraggable&&Jn(Fn,"dragend",this),to(Fn),Fn.style["will-change"]="",ca&&!na&&Ai(Fn,yi?yi.options.ghostClass:this.options.ghostClass,!1),Ai(Fn,this.options.chosenClass,!1),xi({sortable:this,name:"unchoose",toEl:fi,newIndex:null,newDraggableIndex:null,originalEvent:Wr}),li!==fi?(Ii>=0&&(xi({rootEl:fi,name:"add",toEl:fi,fromEl:li,originalEvent:Wr}),xi({sortable:this,name:"remove",toEl:fi,originalEvent:Wr}),xi({rootEl:fi,name:"sort",toEl:fi,fromEl:li,originalEvent:Wr}),xi({sortable:this,name:"sort",toEl:fi,originalEvent:Wr})),yi&&yi.save()):Ii!==ia&&Ii>=0&&(xi({sortable:this,name:"update",toEl:fi,originalEvent:Wr}),xi({sortable:this,name:"sort",toEl:fi,originalEvent:Wr})),Vn.active&&((Ii==null||Ii===-1)&&(Ii=ia,zi=ma),xi({sortable:this,name:"end",toEl:fi,originalEvent:Wr}),this.save()))),this._nulling()},_nulling:function(){wi("nulling",this),li=Fn=fi=Yn=Ki=ui=La=Wi=Yi=Pi=ca=Ii=zi=ia=ma=ra=va=yi=Ia=Vn.dragged=Vn.ghost=Vn.clone=Vn.active=null,Ba.forEach(function(Wr){Wr.checked=!0}),Ba.length=Ja=Za=0},handleEvent:function(Wr){switch(Wr.type){case"drop":case"dragend":this._onDrop(Wr);break;case"dragenter":case"dragover":Fn&&(this._onDragOver(Wr),Ts(Wr));break;case"selectstart":Wr.preventDefault();break}},toArray:function(){for(var Wr=[],Qr,Yr=this.el.children,Jr=0,rn=Yr.length,ln=this.options;Jr<rn;Jr++)Qr=Yr[Jr],Fi(Qr,ln.draggable,this.el,!1)&&Wr.push(Qr.getAttribute(ln.dataIdAttr)||Os(Qr));return Wr},sort:function(Wr,Qr){var Yr={},Jr=this.el;this.toArray().forEach(function(rn,ln){var mn=Jr.children[ln];Fi(mn,this.options.draggable,Jr,!1)&&(Yr[rn]=mn)},this),Qr&&this.captureAnimationState(),Wr.forEach(function(rn){Yr[rn]&&(Jr.removeChild(Yr[rn]),Jr.appendChild(Yr[rn]))}),Qr&&this.animateAll()},save:function(){var Wr=this.options.store;Wr&&Wr.set&&Wr.set(this)},closest:function(Wr,Qr){return Fi(Wr,Qr||this.options.draggable,this.el,!1)},option:function(Wr,Qr){var Yr=this.options;if(Qr===void 0)return Yr[Wr];var Jr=Ea.modifyOption(this,Wr,Qr);typeof Jr<"u"?Yr[Wr]=Jr:Yr[Wr]=Qr,Wr==="group"&&Bo(Yr)},destroy:function(){wi("destroy",this);var Wr=this.el;Wr[ki]=null,Jn(Wr,"mousedown",this._onTapStart),Jn(Wr,"touchstart",this._onTapStart),Jn(Wr,"pointerdown",this._onTapStart),this.nativeDraggable&&(Jn(Wr,"dragover",this),Jn(Wr,"dragenter",this)),Array.prototype.forEach.call(Wr.querySelectorAll("[draggable]"),function(Qr){Qr.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ua.splice(Ua.indexOf(this.el),1),this.el=Wr=null},_hideClone:function(){if(!Wi){if(wi("hideClone",this),Vn.eventCanceled)return;Qn(ui,"display","none"),this.options.removeCloneOnHide&&ui.parentNode&&ui.parentNode.removeChild(ui),Wi=!0}},_showClone:function(Wr){if(Wr.lastPutMode!=="clone"){this._hideClone();return}if(Wi){if(wi("showClone",this),Vn.eventCanceled)return;Fn.parentNode==li&&!this.options.group.revertClone?li.insertBefore(ui,Fn):Ki?li.insertBefore(ui,Ki):li.appendChild(ui),this.options.group.revertClone&&this.animate(Fn,ui),Qn(ui,"display",""),Wi=!1}}};function Ts(Gr){Gr.dataTransfer&&(Gr.dataTransfer.dropEffect="move"),Gr.cancelable&&Gr.preventDefault()}function Da(Gr,Wr,Qr,Yr,Jr,rn,ln,mn){var gn,wn=Gr[ki],Cn=wn.options.onMove,An;return window.CustomEvent&&!ji&&!ya?gn=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(gn=document.createEvent("Event"),gn.initEvent("move",!0,!0)),gn.to=Wr,gn.from=Gr,gn.dragged=Qr,gn.draggedRect=Yr,gn.related=Jr||Wr,gn.relatedRect=rn||mi(Wr),gn.willInsertAfter=mn,gn.originalEvent=ln,Gr.dispatchEvent(gn),Cn&&(An=Cn.call(wn,gn,ln)),An}function to(Gr){Gr.draggable=!1}function xs(){ao=!1}function ws(Gr,Wr,Qr){var Yr=mi(oa(Qr.el,0,Qr.options,!0)),Jr=_o(Qr.el,Qr.options,Yn),rn=10;return Wr?Gr.clientX<Jr.left-rn||Gr.clientY<Yr.top&&Gr.clientX<Yr.right:Gr.clientY<Jr.top-rn||Gr.clientY<Yr.bottom&&Gr.clientX<Yr.left}function ks(Gr,Wr,Qr){var Yr=mi(co(Qr.el,Qr.options.draggable)),Jr=_o(Qr.el,Qr.options,Yn),rn=10;return Wr?Gr.clientX>Jr.right+rn||Gr.clientY>Yr.bottom&&Gr.clientX>Yr.left:Gr.clientY>Jr.bottom+rn||Gr.clientX>Yr.right&&Gr.clientY>Yr.top}function Ss(Gr,Wr,Qr,Yr,Jr,rn,ln,mn){var gn=Yr?Gr.clientY:Gr.clientX,wn=Yr?Qr.height:Qr.width,Cn=Yr?Qr.top:Qr.left,An=Yr?Qr.bottom:Qr.right,Pn=!1;if(!ln){if(mn&&Ma<wn*Jr){if(!ga&&(va===1?gn>Cn+wn*rn/2:gn<An-wn*rn/2)&&(ga=!0),ga)Pn=!0;else if(va===1?gn<Cn+Ma:gn>An-Ma)return-va}else if(gn>Cn+wn*(1-Jr)/2&&gn<An-wn*(1-Jr)/2)return Cs(Wr)}return Pn=Pn||ln,Pn&&(gn<Cn+wn*rn/2||gn>An-wn*rn/2)?gn>Cn+wn/2?1:-1:0}function Cs(Gr){return qi(Fn)<qi(Gr)?1:-1}function Os(Gr){for(var Wr=Gr.tagName+Gr.className+Gr.src+Gr.href+Gr.textContent,Qr=Wr.length,Yr=0;Qr--;)Yr+=Wr.charCodeAt(Qr);return Yr.toString(36)}function As(Gr){Ba.length=0;for(var Wr=Gr.getElementsByTagName("input"),Qr=Wr.length;Qr--;){var Yr=Wr[Qr];Yr.checked&&Ba.push(Yr)}}function Pa(Gr){return setTimeout(Gr,0)}function oo(Gr){return clearTimeout(Gr)}ja&&Zn(document,"touchmove",function(Gr){(Vn.active||na)&&Gr.cancelable&&Gr.preventDefault()});Vn.utils={on:Zn,off:Jn,css:Qn,find:Lo,is:function(Wr,Qr){return!!Fi(Wr,Qr,Wr,!1)},extend:cs,throttle:Mo,closest:Fi,toggleClass:Ai,clone:Fo,index:qi,nextTick:Pa,cancelNextTick:oo,detectDirection:Uo,getChild:oa,expando:ki};Vn.get=function(Gr){return Gr[ki]};Vn.mount=function(){for(var Gr=arguments.length,Wr=new Array(Gr),Qr=0;Qr<Gr;Qr++)Wr[Qr]=arguments[Qr];Wr[0].constructor===Array&&(Wr=Wr[0]),Wr.forEach(function(Yr){if(!Yr.prototype||!Yr.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(Yr));Yr.utils&&(Vn.utils=Hi(Hi({},Vn.utils),Yr.utils)),Ea.mount(Yr)})};Vn.create=function(Gr,Wr){return new Vn(Gr,Wr)};Vn.version=ls;var pi=[],fa,so,lo=!1,ro,no,Ga,ha;function Is(){function Gr(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var Wr in this)Wr.charAt(0)==="_"&&typeof this[Wr]=="function"&&(this[Wr]=this[Wr].bind(this))}return Gr.prototype={dragStarted:function(Qr){var Yr=Qr.originalEvent;this.sortable.nativeDraggable?Zn(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Zn(document,"pointermove",this._handleFallbackAutoScroll):Yr.touches?Zn(document,"touchmove",this._handleFallbackAutoScroll):Zn(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(Qr){var Yr=Qr.originalEvent;!this.options.dragOverBubble&&!Yr.rootEl&&this._handleAutoScroll(Yr)},drop:function(){this.sortable.nativeDraggable?Jn(document,"dragover",this._handleAutoScroll):(Jn(document,"pointermove",this._handleFallbackAutoScroll),Jn(document,"touchmove",this._handleFallbackAutoScroll),Jn(document,"mousemove",this._handleFallbackAutoScroll)),Ro(),Fa(),fs()},nulling:function(){Ga=so=fa=lo=ha=ro=no=null,pi.length=0},_handleFallbackAutoScroll:function(Qr){this._handleAutoScroll(Qr,!0)},_handleAutoScroll:function(Qr,Yr){var Jr=this,rn=(Qr.touches?Qr.touches[0]:Qr).clientX,ln=(Qr.touches?Qr.touches[0]:Qr).clientY,mn=document.elementFromPoint(rn,ln);if(Ga=Qr,Yr||this.options.forceAutoScrollFallback||ya||ji||da){io(Qr,this.options,mn,Yr);var gn=Qi(mn,!0);lo&&(!ha||rn!==ro||ln!==no)&&(ha&&Ro(),ha=setInterval(function(){var wn=Qi(document.elementFromPoint(rn,ln),!0);wn!==gn&&(gn=wn,Fa()),io(Qr,Jr.options,wn,Yr)},10),ro=rn,no=ln)}else{if(!this.options.bubbleScroll||Qi(mn,!0)===_i()){Fa();return}io(Qr,this.options,Qi(mn,!1),!1)}}},Gi(Gr,{pluginName:"scroll",initializeByDefault:!0})}function Fa(){pi.forEach(function(Gr){clearInterval(Gr.pid)}),pi=[]}function Ro(){clearInterval(ha)}var io=Mo(function(Gr,Wr,Qr,Yr){if(Wr.scroll){var Jr=(Gr.touches?Gr.touches[0]:Gr).clientX,rn=(Gr.touches?Gr.touches[0]:Gr).clientY,ln=Wr.scrollSensitivity,mn=Wr.scrollSpeed,gn=_i(),wn=!1,Cn;so!==Qr&&(so=Qr,Fa(),fa=Wr.scroll,Cn=Wr.scrollFn,fa===!0&&(fa=Qi(Qr,!0)));var An=0,Pn=fa;do{var jn=Pn,zn=mi(jn),Wn=zn.top,ni=zn.bottom,gi=zn.left,ci=zn.right,ai=zn.width,Kn=zn.height,hi=void 0,ii=void 0,Ri=jn.scrollWidth,di=jn.scrollHeight,ei=Qn(jn),Tn=jn.scrollLeft,Zr=jn.scrollTop;jn===gn?(hi=ai<Ri&&(ei.overflowX==="auto"||ei.overflowX==="scroll"||ei.overflowX==="visible"),ii=Kn<di&&(ei.overflowY==="auto"||ei.overflowY==="scroll"||ei.overflowY==="visible")):(hi=ai<Ri&&(ei.overflowX==="auto"||ei.overflowX==="scroll"),ii=Kn<di&&(ei.overflowY==="auto"||ei.overflowY==="scroll"));var nn=hi&&(Math.abs(ci-Jr)<=ln&&Tn+ai<Ri)-(Math.abs(gi-Jr)<=ln&&!!Tn),hn=ii&&(Math.abs(ni-rn)<=ln&&Zr+Kn<di)-(Math.abs(Wn-rn)<=ln&&!!Zr);if(!pi[An])for(var dn=0;dn<=An;dn++)pi[dn]||(pi[dn]={});(pi[An].vx!=nn||pi[An].vy!=hn||pi[An].el!==jn)&&(pi[An].el=jn,pi[An].vx=nn,pi[An].vy=hn,clearInterval(pi[An].pid),(nn!=0||hn!=0)&&(wn=!0,pi[An].pid=setInterval(function(){Yr&&this.layer===0&&Vn.active._onTouchMove(Ga);var xn=pi[this.layer].vy?pi[this.layer].vy*mn:0,vn=pi[this.layer].vx?pi[this.layer].vx*mn:0;typeof Cn=="function"&&Cn.call(Vn.dragged.parentNode[ki],vn,xn,Gr,Ga,pi[this.layer].el)!=="continue"||Po(pi[this.layer].el,vn,xn)}.bind({layer:An}),24))),An++}while(Wr.bubbleScroll&&Pn!==gn&&(Pn=Qi(Pn,!1)));lo=wn}},30),Xo=function(Wr){var Qr=Wr.originalEvent,Yr=Wr.putSortable,Jr=Wr.dragEl,rn=Wr.activeSortable,ln=Wr.dispatchSortableEvent,mn=Wr.hideGhostForTarget,gn=Wr.unhideGhostForTarget;if(Qr){var wn=Yr||rn;mn();var Cn=Qr.changedTouches&&Qr.changedTouches.length?Qr.changedTouches[0]:Qr,An=document.elementFromPoint(Cn.clientX,Cn.clientY);gn(),wn&&!wn.el.contains(An)&&(ln("spill"),this.onSpill({dragEl:Jr,putSortable:Yr}))}};function fo(){}fo.prototype={startIndex:null,dragStart:function(Wr){var Qr=Wr.oldDraggableIndex;this.startIndex=Qr},onSpill:function(Wr){var Qr=Wr.dragEl,Yr=Wr.putSortable;this.sortable.captureAnimationState(),Yr&&Yr.captureAnimationState();var Jr=oa(this.sortable.el,this.startIndex,this.options);Jr?this.sortable.el.insertBefore(Qr,Jr):this.sortable.el.appendChild(Qr),this.sortable.animateAll(),Yr&&Yr.animateAll()},drop:Xo};Gi(fo,{pluginName:"revertOnSpill"});function ho(){}ho.prototype={onSpill:function(Wr){var Qr=Wr.dragEl,Yr=Wr.putSortable,Jr=Yr||this.sortable;Jr.captureAnimationState(),Qr.parentNode&&Qr.parentNode.removeChild(Qr),Jr.animateAll()},drop:Xo};Gi(ho,{pluginName:"removeOnSpill"});Vn.mount(new Is);Vn.mount(ho,fo);var zo=Vn;var Xa=class{observerInitialized=!1;layoutMode;containerSelector;spacing;masonryBreakpoint;constructor(Wr={}){this.layoutMode=Wr.layoutMode??"justified",this.containerSelector=Wr.containerSelector??"#gallery-container",this.spacing=Wr.spacing??8,this.masonryBreakpoint=Wr.masonryBreakpoint??640}setLayoutMode(Wr){console.log(`Setting layout mode to: ${Wr} (current: ${this.layoutMode})`),this.layoutMode=Wr,this.computeLayout()}computeLayout(){this.layoutMode==="masonry"?this.computeMasonry():this.computeJustified()}computeMasonry(){let Wr=document.querySelector(this.containerSelector);if(!Wr)return;let Qr=this.spacing,Yr=Wr.offsetWidth;if(Yr===0){requestAnimationFrame(()=>this.computeMasonry());return}let Jr=Yr<this.masonryBreakpoint?1:3,rn=(Yr+Qr)/Jr-Qr,ln=new Array(Jr).fill(0);Wr.querySelectorAll(".gallery-item").forEach(gn=>{let wn=parseFloat(gn.dataset.width),Cn=parseFloat(gn.dataset.height);if(!wn||!Cn)return;let Pn=Cn/wn*rn,jn=0;for(let ni=1;ni<Jr;ni++)ln[ni]<ln[jn]&&(jn=ni);let zn=(rn+Qr)*jn,Wn=ln[jn];Object.assign(gn.style,{position:"absolute",width:`${rn}px`,height:`${Pn}px`,left:`${zn}px`,top:`${Wn}px`}),ln[jn]=Wn+Pn+Qr}),Wr.style.height=`${Math.max(...ln)}px`}computeJustified(){let Wr=document.querySelector(this.containerSelector);if(!Wr)return;let Qr=this.spacing,Yr=Wr.offsetWidth;if(Yr===0){requestAnimationFrame(()=>this.computeJustified());return}let Jr=Array.from(Wr.querySelectorAll(".gallery-item")),rn=[],ln=0,mn=0;Jr.forEach(gn=>{Object.assign(gn.style,{position:"absolute",left:"0px",top:"0px",width:"auto",height:"auto"})});for(let gn=0;gn<Jr.length;gn++){let wn=Jr[gn],Cn=parseFloat(wn.dataset.width),An=parseFloat(wn.dataset.height);if(!Cn||!An)continue;let Pn=Cn/An;rn.push({tile:wn,aspectRatio:Pn,imgW:Cn,imgH:An}),ln+=Pn;let jn=(Yr-(rn.length-1)*Qr)/ln;if(jn<300||gn===Jr.length-1){let zn=0;for(let Wn of rn){let ni=jn*Wn.aspectRatio;Object.assign(Wn.tile.style,{position:"absolute",top:`${mn}px`,left:`${zn}px`,width:`${ni}px`,height:`${jn}px`}),zn+=ni+Qr}mn+=jn+Qr,rn=[],ln=0}}Wr.style.position="relative",Wr.style.height=`${mn}px`}observe(){if(this.observerInitialized)return;this.observerInitialized=!0;let Wr=document.querySelector(this.containerSelector);if(!Wr)return;if(typeof ResizeObserver<"u"){let Yr=new ResizeObserver(()=>this.computeLayout());Wr.parentElement&&Yr.observe(Wr.parentElement)}new MutationObserver(()=>{this.computeLayout()}).observe(Wr,{childList:!0,subtree:!0})}init(Wr={}){document.addEventListener("DOMContentLoaded",()=>{let Qr=document.querySelector(Wr.containerSelector??"#gallery-container");console.log("Initializing GalleryLayout for container:",Qr),Qr&&(this.computeLayout(),this.observe())})}};var za=class Gr{startX=0;threshold=50;observer;static initialized=!1;static id="photo-dialog";constructor(){this.observer=new MutationObserver(this.handleMutation.bind(this))}connect(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),console.log("PhotoDialog: Connected touch event handlers.")}static maybeInitForElement(Wr){if(Wr.id!==Gr.id||Gr.initialized)return;let Qr=new Gr;Qr.connect(),document&&document.body?(document.body.addEventListener("touchstart",Qr.onTouchStart),document.body.addEventListener("touchend",Qr.onTouchEnd),Qr.observe(),Gr.initialized=!0):console.warn("document.body not available for PhotoDialog event listeners")}onTouchStart(Wr){this.startX=Wr.touches[0].clientX}onTouchEnd(Wr){let Yr=Wr.changedTouches[0].clientX-this.startX;if(Math.abs(Yr)>this.threshold){let Jr=Yr>0?"swiperight":"swipeleft";Wr.target.dispatchEvent(new CustomEvent(Jr,{bubbles:!0}))}}observe(){this.observer.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect(),document.body.removeEventListener("touchstart",this.onTouchStart),document.body.removeEventListener("touchend",this.onTouchEnd),Gr.initialized=!1}handleMutation(){document.getElementById(Gr.id)||(console.log("PhotoDialog not found, removing event listeners"),this.disconnect())}};var po={};ns(po,{dataURLToBlob:()=>ba,doResize:()=>Ta,readFileAsDataURL:()=>sa});function sa(Gr){return new Promise((Wr,Qr)=>{let Yr=new FileReader;Yr.onload=()=>Wr(Yr.result),Yr.onerror=Qr,Yr.readAsDataURL(Gr)})}function ba(Gr){let[Wr,Qr]=Gr.split(","),Yr=/:(.*?);/.exec(Wr);if(!Yr)throw new Error("Invalid data URL");let Jr=Yr[1],rn=atob(Qr),ln=new Uint8Array(rn.length);for(let mn=0;mn<rn.length;mn++)ln[mn]=rn.charCodeAt(mn);return new Blob([ln],{type:Jr})}function Wo(Gr){let Wr=Gr.split(",")[1];return Math.ceil(Wr.length*3/4)}function Rs(Gr,Wr){return new Promise((Qr,Yr)=>{let Jr=new Image;Jr.onload=()=>{let rn;Wr.mode==="cover"?rn=Math.max(Wr.width/Jr.width,Wr.height/Jr.height):Wr.mode==="contain"?rn=Math.min(Wr.width/Jr.width,Wr.height/Jr.height):rn=1;let ln=Math.round(Jr.width*rn),mn=Math.round(Jr.height*rn),gn=document.createElement("canvas");gn.width=ln,gn.height=mn;let wn=gn.getContext("2d");if(!wn)return Yr(new Error("Failed to get canvas context"));wn.fillStyle="#fff",wn.fillRect(0,0,ln,mn),wn.imageSmoothingEnabled=!0,wn.imageSmoothingQuality="high",wn.drawImage(Jr,0,0,ln,mn),Qr({dataUrl:gn.toDataURL("image/jpeg",Wr.quality),width:ln,height:mn})},Jr.onerror=rn=>Yr(rn),Jr.src=Gr})}async function Ta(Gr,Wr){let Qr=null,Yr=0,Jr=101;for(;Jr-Yr>1;){let rn=Math.round((Yr+Jr)/2),ln=await Rs(Gr,{width:Wr.width,height:Wr.height,quality:rn/100,mode:Wr.mode});Wo(ln.dataUrl)<Wr.maxSize?(Yr=rn,Qr=ln):Jr=rn}if(!Qr)throw new Error("Failed to compress image");return{path:Qr.dataUrl,mime:"image/jpeg",size:Wo(Qr.dataUrl),width:Qr.width,height:Qr.height}}var Qo=Ca(Oa());var Wa=class{handleAvatarImageSelect(Wr){let Qr=Wr.files?.[0];Qr&&sa(Qr).then(Yr=>{let Jr=document.createElement("img");typeof Yr=="string"?Jr.src=Yr:(console.error("Expected dataUrl to be a string, got:",typeof Yr),Jr.src=""),Jr.className="rounded-full w-full h-full object-cover",Jr.alt="Avatar preview";let rn=Wr.closest("form")?.querySelector("#image-preview");rn&&(rn.innerHTML="",rn.appendChild(Jr))})}async updateProfile(Wr){let Qr=new FormData(Wr),Yr=Qr.get("file");if(Yr instanceof File&&Yr?.type?.startsWith?.("image/"))try{let Jr=await sa(Yr);if(!Jr||typeof Jr!="string"){console.error("Failed to read file as data URL");return}let rn=await Ta(Jr,{width:2e3,height:2e3,maxSize:1e3*1e3,mode:"contain"}),ln=ba(rn.path);Qr.set("file",ln,Yr.name)}catch(Jr){console.error("Error resizing image:",Jr),Qr.delete("file")}Qo.default.ajax("PUT","/actions/profile",{swap:"none",values:Object.fromEntries(Qr),source:Wr})}};var Vo=Ca(Oa());var Qa=class{async uploadPhotos(Wr){let Qr=Array.from(Wr.files??[]);if(Qr.length>10){alert("You can only upload 10 photos at a time");return}let Yr=Qr.map(async Jr=>{try{let rn=await sa(Jr);if(!rn||typeof rn!="string"){console.error("Failed to read file as data URL");return}let ln=await Ta(rn,{width:2e3,height:2e3,maxSize:1e3*1e3,mode:"contain"}),mn=ba(ln.path),gn=new FormData;gn.append("file",mn,Jr.name),gn.append("width",String(ln.width)),gn.append("height",String(ln.height)),Vo.default.ajax("POST","/actions/photo",{swap:"afterbegin",target:"#image-preview",values:Object.fromEntries(gn),source:Wr})}catch(rn){console.error("Error uploading photo:",rn),alert("Error uploading photo")}});await Promise.all(Yr),Wr.value=""}};var Yo=new Xa({layoutMode:"justified"});Yo.init();mo.default.onLoad(function(Gr){if(za.maybeInitForElement(Gr),Gr.id==="gallery-sort-dialog"){let Wr=Gr.querySelectorAll(".sortable");for(let Qr of Array.from(Wr))new zo(Qr,{animation:150})}});vo.default.browserInit();var Ui=globalThis;Ui.htmx=Ui.htmx??mo.default;Ui._hyperscript=Ui._hyperscript??vo.default;Ui.Grain=Ui.Grain??{};Ui.Grain.uploadPage=new Qa;Ui.Grain.profileDialog=new Wa;Ui.Grain.galleryLayout=Yo;Ui.Grain.photoManip=po;
13
+
`,yn.message,yn.stack)}}}}internalDataMap=new WeakMap;getInternalData(Zr){var nn=this.internalDataMap.get(Zr);return typeof nn>"u"&&this.internalDataMap.set(Zr,nn={}),nn}typeCheck(Zr,nn,hn){if(Zr==null&&hn)return!0;var dn=Object.prototype.toString.call(Zr).slice(8,-1);return dn===nn}getElementScope(Zr){var nn=Zr.meta&&Zr.meta.owner;if(nn){var hn=this.getInternalData(nn),dn="elementScope";Zr.meta.feature&&Zr.meta.feature.behavior&&(dn=Zr.meta.feature.behavior+"Scope");var wn=Xn(hn,dn);return wn}else return{}}isReservedWord(Zr){return["meta","it","result","locals","event","target","detail","sender","body"].includes(Zr)}isHyperscriptContext(Zr){return Zr instanceof On}resolveSymbol(Zr,nn,hn){if(Zr==="me"||Zr==="my"||Zr==="I")return nn.me;if(Zr==="it"||Zr==="its"||Zr==="result")return nn.result;if(Zr==="you"||Zr==="your"||Zr==="yourself")return nn.you;if(hn==="global")return Gr[Zr];if(hn==="element"){var dn=this.getElementScope(nn);return dn[Zr]}else{if(hn==="local")return nn.locals[Zr];if(nn.meta&&nn.meta.context){var wn=nn.meta.context[Zr];if(typeof wn<"u"||nn.meta.context.detail&&(wn=nn.meta.context.detail[Zr],typeof wn<"u"))return wn}if(this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr))var vn=nn.locals[Zr];else var vn=nn[Zr];if(typeof vn<"u")return vn;var dn=this.getElementScope(nn);return vn=dn[Zr],typeof vn<"u"?vn:Gr[Zr]}}setSymbol(Zr,nn,hn,dn){if(hn==="global")Gr[Zr]=dn;else if(hn==="element"){var wn=this.getElementScope(nn);wn[Zr]=dn}else if(hn==="local")nn.locals[Zr]=dn;else if(this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr)&&typeof nn.locals[Zr]<"u")nn.locals[Zr]=dn;else{var wn=this.getElementScope(nn),vn=wn[Zr];typeof vn<"u"?wn[Zr]=dn:this.isHyperscriptContext(nn)&&!this.isReservedWord(Zr)?nn.locals[Zr]=dn:nn[Zr]=dn}}findNext(Zr,nn){if(Zr)return Zr.resolveNext?Zr.resolveNext(nn):Zr.next?Zr.next:this.findNext(Zr.parent,nn)}flatGet(Zr,nn,hn){if(Zr!=null){var dn=hn(Zr,nn);if(typeof dn<"u")return dn;if(this.shouldAutoIterate(Zr)){var wn=[];for(var vn of Zr){var yn=hn(vn,nn);wn.push(yn)}return wn}}}resolveProperty(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn[dn])}resolveAttribute(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn.getAttribute&&hn.getAttribute(dn))}resolveStyle(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>hn.style&&hn.style[dn])}resolveComputedStyle(Zr,nn){return this.flatGet(Zr,nn,(hn,dn)=>getComputedStyle(hn).getPropertyValue(dn))}assignToNamespace(Zr,nn,hn,dn){let wn;typeof document<"u"&&Zr===document.body?wn=Gr:wn=this.getHyperscriptFeatures(Zr);for(var vn;(vn=nn.shift())!==void 0;){var yn=wn[vn];yn==null&&(yn={},wn[vn]=yn),wn=yn}wn[hn]=dn}getHyperTrace(Zr,nn){for(var hn=[],dn=Zr;dn.meta.caller;)dn=dn.meta.caller;if(dn.meta.traceMap)return dn.meta.traceMap.get(nn,hn)}registerHyperTrace(Zr,nn){for(var hn=[],dn=null;Zr!=null;)hn.push(Zr),dn=Zr,Zr=Zr.meta.caller;if(dn.meta.traceMap==null&&(dn.meta.traceMap=new Map),!dn.meta.traceMap.get(nn)){var wn={trace:hn,print:function(vn){vn=vn||console.error,vn("hypertrace /// ");for(var yn=0,fn=0;fn<hn.length;fn++)yn=Math.max(yn,hn[fn].meta.feature.displayName.length);for(var fn=0;fn<hn.length;fn++){var An=hn[fn];vn(" ->",An.meta.feature.displayName.padEnd(yn+2),"-",An.meta.owner)}}};dn.meta.traceMap.set(nn,wn)}}escapeSelector(Zr){return Zr.replace(/[:&()\[\]\/]/g,function(nn){return"\\"+nn})}nullCheck(Zr,nn){if(Zr==null)throw new Error("'"+nn.sourceFor()+"' is null")}isEmpty(Zr){return Zr==null||Zr.length===0}doesExist(Zr){if(Zr==null)return!1;if(this.shouldAutoIterate(Zr)){for(let nn of Zr)return!0;return!1}return!0}getRootNode(Zr){if(Zr&&Zr instanceof Node){var nn=Zr.getRootNode();if(nn instanceof Document||nn instanceof ShadowRoot)return nn}return document}getEventQueueFor(Zr,nn){let hn=this.getInternalData(Zr);var dn=hn.eventQueues;dn==null&&(dn=new Map,hn.eventQueues=dn);var wn=dn.get(nn);return wn==null&&(wn={queue:[],executing:!1},dn.set(nn,wn)),wn}beepValueToConsole(Zr,nn,hn){if(this.triggerEvent(Zr,"hyperscript:beep",{element:Zr,expression:nn,value:hn})){var dn;hn?hn instanceof Pn?dn="ElementCollection":hn.constructor?dn=hn.constructor.name:dn="unknown":dn="object (null)";var wn=hn;dn==="String"?wn='"'+wn+'"':hn instanceof Pn&&(wn=Array.from(hn)),console.log("///_ BEEP! The expression ("+Jr.sourceFor.call(nn).replace("beep! ","")+") evaluates to:",wn,"of type "+dn)}}hyperscriptUrl="document"in Gr&&document.currentScript?document.currentScript.src:null}function mn(){return document.cookie.split("; ").map(Zr=>{let nn=Zr.split("=");return{name:nn[0],value:decodeURIComponent(nn[1])}})}function gn(Tn){document.cookie=Tn+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"}function xn(){for(let Tn of mn())gn(Tn.name)}let Cn=new Proxy({},{get(Tn,Zr){if(Zr==="then"||Zr==="asyncWrapper")return null;if(Zr==="length")return mn().length;if(Zr==="clear")return gn;if(Zr==="clearAll")return xn;if(typeof Zr=="string")if(isNaN(Zr)){let nn=document.cookie.split("; ").find(hn=>hn.startsWith(Zr+"="))?.split("=")[1];if(nn)return decodeURIComponent(nn)}else return mn()[parseInt(Zr)];else if(Zr===Symbol.iterator)return mn()[Zr]},set(Tn,Zr,nn){var hn=null;return typeof nn=="string"?(hn=encodeURIComponent(nn),hn+=";samesite=lax"):(hn=encodeURIComponent(nn.value),nn.expires&&(hn+=";expires="+nn.maxAge),nn.maxAge&&(hn+=";max-age="+nn.maxAge),nn.partitioned&&(hn+=";partitioned="+nn.partitioned),nn.path&&(hn+=";path="+nn.path),nn.samesite&&(hn+=";samesite="+nn.path),nn.secure&&(hn+=";secure="+nn.path)),document.cookie=Zr+"="+hn,!0}});class On{constructor(Zr,nn,hn,dn,wn){this.meta={parser:wn.parser,lexer:wn.lexer,runtime:wn,owner:Zr,feature:nn,iterators:{},ctx:this},this.locals={cookies:Cn},this.me=hn,this.you=void 0,this.result=void 0,this.event=dn,this.target=dn?dn.target:null,this.detail=dn?dn.detail:null,this.sender=dn&&dn.detail?dn.detail.sender:null,this.body="document"in Gr?document.body:null,wn.addFeatures(Zr,this)}}class Pn{constructor(Zr,nn,hn){this._css=Zr,this.relativeToElement=nn,this.escape=hn,this[Gn]=!0}get css(){return this.escape?ln.prototype.escapeSelector(this._css):this._css}get className(){return this._css.substr(1)}get id(){return this.className()}contains(Zr){for(let nn of this)if(nn.contains(Zr))return!0;return!1}get length(){return this.selectMatches().length}[Symbol.iterator](){return this.selectMatches()[Symbol.iterator]()}selectMatches(){return ln.prototype.getRootNode(this.relativeToElement).querySelectorAll(this.css)}}let Gn=Symbol();function Xn(Tn,Zr){var nn=Tn[Zr];if(nn)return nn;var hn={};return Tn[Zr]=hn,hn}function zn(Tn){try{return JSON.parse(Tn)}catch(Zr){return ni(Zr),null}}function ni(Tn){console.error?console.error(Tn):console.log&&console.log("ERROR: ",Tn)}function gi(Tn,Zr){return new(Tn.bind.apply(Tn,[Tn].concat(Zr)))}function ci(Tn){Tn.addLeafExpression("parenthesized",function(tn,an,Kr){if(Kr.matchOpToken("(")){var en=Kr.clearFollows();try{var un=tn.requireElement("expression",Kr)}finally{Kr.restoreFollows(en)}return Kr.requireOpToken(")"),un}}),Tn.addLeafExpression("string",function(tn,an,Kr){var en=Kr.matchTokenType("STRING");if(en){var un=en.value,on;if(en.template){var cn=Yr.tokenize(un,!0);on=tn.parseStringTemplate(cn)}else on=[];return{type:"string",token:en,args:on,op:function(sn){for(var pn="",En=1;En<arguments.length;En++){var bn=arguments[En];bn!==void 0&&(pn+=bn)}return pn},evaluate:function(sn){return on.length===0?un:an.unifiedEval(this,sn)}}}}),Tn.addGrammarElement("nakedString",function(tn,an,Kr){if(Kr.hasMore()){var en=Kr.consumeUntilWhitespace();return Kr.matchTokenType("WHITESPACE"),{type:"nakedString",tokens:en,evaluate:function(un){return en.map(function(on){return on.value}).join("")}}}}),Tn.addLeafExpression("number",function(tn,an,Kr){var en=Kr.matchTokenType("NUMBER");if(en){var un=en,on=parseFloat(en.value);return{type:"number",value:on,numberToken:un,evaluate:function(){return on}}}}),Tn.addLeafExpression("idRef",function(tn,an,Kr){var en=Kr.matchTokenType("ID_REF");if(en&&en.value)if(en.template){var un=en.value.substring(2),on=Yr.tokenize(un),cn=tn.requireElement("expression",on);return{type:"idRefTemplate",args:[cn],op:function(sn,pn){return an.getRootNode(sn.me).getElementById(pn)},evaluate:function(sn){return an.unifiedEval(this,sn)}}}else{let sn=en.value.substring(1);return{type:"idRef",css:en.value,value:sn,evaluate:function(pn){return an.getRootNode(pn.me).getElementById(sn)}}}}),Tn.addLeafExpression("classRef",function(tn,an,Kr){var en=Kr.matchTokenType("CLASS_REF");if(en&&en.value)if(en.template){var un=en.value.substring(2),on=Yr.tokenize(un),cn=tn.requireElement("expression",on);return{type:"classRefTemplate",args:[cn],op:function(sn,pn){return new Pn("."+pn,sn.me,!0)},evaluate:function(sn){return an.unifiedEval(this,sn)}}}else{let sn=en.value;return{type:"classRef",css:sn,evaluate:function(pn){return new Pn(sn,pn.me,!0)}}}});class Zr extends Pn{constructor(an,Kr,en){super(an,Kr),this.templateParts=en,this.elements=en.filter(un=>un instanceof Element)}get css(){let an="",Kr=0;for(let en of this.templateParts)en instanceof Element?an+="[data-hs-query-id='"+Kr+++"']":an+=en;return an}[Symbol.iterator](){this.elements.forEach((Kr,en)=>Kr.dataset.hsQueryId=en);let an=super[Symbol.iterator]();return this.elements.forEach(Kr=>Kr.removeAttribute("data-hs-query-id")),an}}Tn.addLeafExpression("queryRef",function(tn,an,Kr){var en=Kr.matchOpToken("<");if(en){var un=Kr.consumeUntil("/");Kr.requireOpToken("/"),Kr.requireOpToken(">");var on=un.map(function(En){return En.type==="STRING"?'"'+En.value+'"':En.value}).join(""),cn,sn,pn;return/\$[^=]/.test(on)&&(cn=!0,sn=Yr.tokenize(on,!0),pn=tn.parseStringTemplate(sn)),{type:"queryRef",css:on,args:pn,op:function(En,...bn){return cn?new Zr(on,En.me,bn):new Pn(on,En.me)},evaluate:function(En){return an.unifiedEval(this,En)}}}}),Tn.addLeafExpression("attributeRef",function(tn,an,Kr){var en=Kr.matchTokenType("ATTRIBUTE_REF");if(en&&en.value){var un=en.value;if(un.indexOf("[")===0)var on=un.substring(2,un.length-1);else var on=un.substring(1);var cn="["+on+"]",sn=on.split("="),pn=sn[0],En=sn[1];return En&&En.indexOf('"')===0&&(En=En.substring(1,En.length-1)),{type:"attributeRef",name:pn,css:cn,value:En,op:function(bn){var Nn=bn.you||bn.me;if(Nn)return Nn.getAttribute(pn)},evaluate:function(bn){return an.unifiedEval(this,bn)}}}}),Tn.addLeafExpression("styleRef",function(tn,an,Kr){var en=Kr.matchTokenType("STYLE_REF");if(en&&en.value){var un=en.value.substr(1);return un.startsWith("computed-")?(un=un.substr(9),{type:"computedStyleRef",name:un,op:function(on){var cn=on.you||on.me;if(cn)return an.resolveComputedStyle(cn,un)},evaluate:function(on){return an.unifiedEval(this,on)}}):{type:"styleRef",name:un,op:function(on){var cn=on.you||on.me;if(cn)return an.resolveStyle(cn,un)},evaluate:function(on){return an.unifiedEval(this,on)}}}}),Tn.addGrammarElement("objectKey",function(tn,an,Kr){var en;if(en=Kr.matchTokenType("STRING"))return{type:"objectKey",key:en.value,evaluate:function(){return en.value}};if(Kr.matchOpToken("[")){var un=tn.parseElement("expression",Kr);return Kr.requireOpToken("]"),{type:"objectKey",expr:un,args:[un],op:function(cn,sn){return sn},evaluate:function(cn){return an.unifiedEval(this,cn)}}}else{var on="";do en=Kr.matchTokenType("IDENTIFIER")||Kr.matchOpToken("-"),en&&(on+=en.value);while(en);return{type:"objectKey",key:on,evaluate:function(){return on}}}}),Tn.addLeafExpression("objectLiteral",function(tn,an,Kr){if(Kr.matchOpToken("{")){var en=[],un=[];if(!Kr.matchOpToken("}")){do{var on=tn.requireElement("objectKey",Kr);Kr.requireOpToken(":");var cn=tn.requireElement("expression",Kr);un.push(cn),en.push(on)}while(Kr.matchOpToken(",")&&!Kr.peekToken("}",0,"R_BRACE"));Kr.requireOpToken("}")}return{type:"objectLiteral",args:[en,un],op:function(sn,pn,En){for(var bn={},Nn=0;Nn<pn.length;Nn++)bn[pn[Nn]]=En[Nn];return bn},evaluate:function(sn){return an.unifiedEval(this,sn)}}}}),Tn.addGrammarElement("nakedNamedArgumentList",function(tn,an,Kr){var en=[],un=[];if(Kr.currentToken().type==="IDENTIFIER")do{var on=Kr.requireTokenType("IDENTIFIER");Kr.requireOpToken(":");var cn=tn.requireElement("expression",Kr);un.push(cn),en.push({name:on,value:cn})}while(Kr.matchOpToken(","));return{type:"namedArgumentList",fields:en,args:[un],op:function(sn,pn){for(var En={_namedArgList_:!0},bn=0;bn<pn.length;bn++){var Nn=en[bn];En[Nn.name.value]=pn[bn]}return En},evaluate:function(sn){return an.unifiedEval(this,sn)}}}),Tn.addGrammarElement("namedArgumentList",function(tn,an,Kr){if(Kr.matchOpToken("(")){var en=tn.requireElement("nakedNamedArgumentList",Kr);return Kr.requireOpToken(")"),en}}),Tn.addGrammarElement("symbol",function(tn,an,Kr){var en="default";Kr.matchToken("global")?en="global":Kr.matchToken("element")||Kr.matchToken("module")?(en="element",Kr.matchOpToken("'")&&Kr.requireToken("s")):Kr.matchToken("local")&&(en="local");let un=Kr.matchOpToken(":"),on=Kr.matchTokenType("IDENTIFIER");if(on&&on.value){var cn=on.value;return un&&(cn=":"+cn),en==="default"&&(cn.indexOf("$")===0&&(en="global"),cn.indexOf(":")===0&&(en="element")),{type:"symbol",token:on,scope:en,name:cn,evaluate:function(sn){return an.resolveSymbol(cn,sn,en)}}}}),Tn.addGrammarElement("implicitMeTarget",function(tn,an,Kr){return{type:"implicitMeTarget",evaluate:function(en){return en.you||en.me}}}),Tn.addLeafExpression("boolean",function(tn,an,Kr){var en=Kr.matchToken("true")||Kr.matchToken("false");if(!en)return;let un=en.value==="true";return{type:"boolean",evaluate:function(on){return un}}}),Tn.addLeafExpression("null",function(tn,an,Kr){if(Kr.matchToken("null"))return{type:"null",evaluate:function(en){return null}}}),Tn.addLeafExpression("arrayLiteral",function(tn,an,Kr){if(Kr.matchOpToken("[")){var en=[];if(!Kr.matchOpToken("]")){do{var un=tn.requireElement("expression",Kr);en.push(un)}while(Kr.matchOpToken(","));Kr.requireOpToken("]")}return{type:"arrayLiteral",values:en,args:[en],op:function(on,cn){return cn},evaluate:function(on){return an.unifiedEval(this,on)}}}}),Tn.addLeafExpression("blockLiteral",function(tn,an,Kr){if(Kr.matchOpToken("\\")){var en=[],un=Kr.matchTokenType("IDENTIFIER");if(un)for(en.push(un);Kr.matchOpToken(",");)en.push(Kr.requireTokenType("IDENTIFIER"));Kr.requireOpToken("-"),Kr.requireOpToken(">");var on=tn.requireElement("expression",Kr);return{type:"blockLiteral",args:en,expr:on,evaluate:function(cn){var sn=function(){for(var pn=0;pn<en.length;pn++)cn.locals[en[pn].value]=arguments[pn];return on.evaluate(cn)};return sn}}}}),Tn.addIndirectExpression("propertyAccess",function(tn,an,Kr,en){if(Kr.matchOpToken(".")){var un=Kr.requireTokenType("IDENTIFIER"),on={type:"propertyAccess",root:en,prop:un,args:[en],op:function(cn,sn){var pn=an.resolveProperty(sn,un.value);return pn},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("of",function(tn,an,Kr,en){if(Kr.matchToken("of")){for(var un=tn.requireElement("unaryExpression",Kr),on=null,cn=en;cn.root;)on=cn,cn=cn.root;cn.type!=="symbol"&&cn.type!=="attributeRef"&&cn.type!=="styleRef"&&cn.type!=="computedStyleRef"&&tn.raiseParseError(Kr,"Cannot take a property of a non-symbol: "+cn.type);var sn=cn.type==="attributeRef",pn=cn.type==="styleRef"||cn.type==="computedStyleRef";if(sn||pn)var En=cn;var bn=cn.name,Nn={type:"ofExpression",prop:cn.token,root:un,attribute:En,expression:en,args:[un],op:function(Hn,kn){return sn?an.resolveAttribute(kn,bn):pn?cn.type==="computedStyleRef"?an.resolveComputedStyle(kn,bn):an.resolveStyle(kn,bn):an.resolveProperty(kn,bn)},evaluate:function(Hn){return an.unifiedEval(this,Hn)}};return cn.type==="attributeRef"&&(Nn.attribute=cn),on?(on.root=Nn,on.args=[Nn]):en=Nn,tn.parseElement("indirectExpression",Kr,en)}}),Tn.addIndirectExpression("possessive",function(tn,an,Kr,en){if(!tn.possessivesDisabled){var un=Kr.matchOpToken("'");if(un||en.type==="symbol"&&(en.name==="my"||en.name==="its"||en.name==="your")&&(Kr.currentToken().type==="IDENTIFIER"||Kr.currentToken().type==="ATTRIBUTE_REF"||Kr.currentToken().type==="STYLE_REF")){un&&Kr.requireToken("s");var on,cn,sn;on=tn.parseElement("attributeRef",Kr),on==null&&(cn=tn.parseElement("styleRef",Kr),cn==null&&(sn=Kr.requireTokenType("IDENTIFIER")));var pn={type:"possessive",root:en,attribute:on||cn,prop:sn,args:[en],op:function(En,bn){if(on)var Nn=an.resolveAttribute(bn,on.name);else if(cn){var Nn;cn.type==="computedStyleRef"?Nn=an.resolveComputedStyle(bn,cn.name):Nn=an.resolveStyle(bn,cn.name)}else var Nn=an.resolveProperty(bn,sn.value);return Nn},evaluate:function(En){return an.unifiedEval(this,En)}};return tn.parseElement("indirectExpression",Kr,pn)}}}),Tn.addIndirectExpression("inExpression",function(tn,an,Kr,en){if(Kr.matchToken("in")){var un=tn.requireElement("unaryExpression",Kr),on={type:"inExpression",root:en,args:[en,un],op:function(cn,sn,pn){var En=[];if(sn.css)an.implicitLoop(pn,function(Nn){for(var Hn=Nn.querySelectorAll(sn.css),kn=0;kn<Hn.length;kn++)En.push(Hn[kn])});else if(sn instanceof Element){var bn=!1;if(an.implicitLoop(pn,function(Nn){Nn.contains(sn)&&(bn=!0)}),bn)return sn}else an.implicitLoop(sn,function(Nn){an.implicitLoop(pn,function(Hn){Nn===Hn&&En.push(Nn)})});return En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("asExpression",function(tn,an,Kr,en){if(Kr.matchToken("as")){Kr.matchToken("a")||Kr.matchToken("an");var un=tn.requireElement("dotOrColonPath",Kr).evaluate(),on={type:"asExpression",root:en,args:[en],op:function(cn,sn){return an.convertValue(sn,un)},evaluate:function(cn){return an.unifiedEval(this,cn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("functionCall",function(tn,an,Kr,en){if(Kr.matchOpToken("(")){var un=[];if(!Kr.matchOpToken(")")){do un.push(tn.requireElement("expression",Kr));while(Kr.matchOpToken(","));Kr.requireOpToken(")")}if(en.root)var on={type:"functionCall",root:en,argExressions:un,args:[en.root,un],op:function(cn,sn,pn){an.nullCheck(sn,en.root);var En=sn[en.prop.value];return an.nullCheck(En,en),En.hyperfunc&&pn.push(cn),En.apply(sn,pn)},evaluate:function(cn){return an.unifiedEval(this,cn)}};else var on={type:"functionCall",root:en,argExressions:un,args:[en,un],op:function(sn,pn,En){an.nullCheck(pn,en),pn.hyperfunc&&En.push(sn);var bn=pn.apply(null,En);return bn},evaluate:function(sn){return an.unifiedEval(this,sn)}};return tn.parseElement("indirectExpression",Kr,on)}}),Tn.addIndirectExpression("attributeRefAccess",function(tn,an,Kr,en){var un=tn.parseElement("attributeRef",Kr);if(un){var on={type:"attributeRefAccess",root:en,attribute:un,args:[en],op:function(cn,sn){var pn=an.resolveAttribute(sn,un.name);return pn},evaluate:function(cn){return an.unifiedEval(this,cn)}};return on}}),Tn.addIndirectExpression("arrayIndex",function(tn,an,Kr,en){if(Kr.matchOpToken("[")){var un=!1,on=!1,cn=null,sn=null;if(Kr.matchOpToken(".."))un=!0,cn=tn.requireElement("expression",Kr);else if(cn=tn.requireElement("expression",Kr),Kr.matchOpToken("..")){on=!0;var pn=Kr.currentToken();pn.type!=="R_BRACKET"&&(sn=tn.parseElement("expression",Kr))}Kr.requireOpToken("]");var En={type:"arrayIndex",root:en,prop:cn,firstIndex:cn,secondIndex:sn,args:[en,cn,sn],op:function(bn,Nn,Hn,kn){return Nn==null?null:un?(Hn<0&&(Hn=Nn.length+Hn),Nn.slice(0,Hn+1)):on?kn!=null?(kn<0&&(kn=Nn.length+kn),Nn.slice(Hn,kn+1)):Nn.slice(Hn):Nn[Hn]},evaluate:function(bn){return an.unifiedEval(this,bn)}};return tn.parseElement("indirectExpression",Kr,En)}});var nn=["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","pc","pt","px"];Tn.addGrammarElement("postfixExpression",function(tn,an,Kr){var en=tn.parseElement("negativeNumber",Kr);let un=Kr.matchAnyToken.apply(Kr,nn)||Kr.matchOpToken("%");if(un)return{type:"stringPostfix",postfix:un.value,args:[en],op:function(pn,En){return""+En+un.value},evaluate:function(pn){return an.unifiedEval(this,pn)}};var on=null;if(Kr.matchToken("s")||Kr.matchToken("seconds")?on=1e3:(Kr.matchToken("ms")||Kr.matchToken("milliseconds"))&&(on=1),on)return{type:"timeExpression",time:en,factor:on,args:[en],op:function(pn,En){return En*on},evaluate:function(pn){return an.unifiedEval(this,pn)}};if(Kr.matchOpToken(":")){var cn=Kr.requireTokenType("IDENTIFIER");if(!cn.value)return;var sn=!Kr.matchOpToken("!");return{type:"typeCheck",typeName:cn,nullOk:sn,args:[en],op:function(pn,En){var bn=an.typeCheck(En,this.typeName.value,sn);if(bn)return En;throw new Error("Typecheck failed! Expected: "+cn.value)},evaluate:function(pn){return an.unifiedEval(this,pn)}}}else return en}),Tn.addGrammarElement("logicalNot",function(tn,an,Kr){if(Kr.matchToken("not")){var en=tn.requireElement("unaryExpression",Kr);return{type:"logicalNot",root:en,args:[en],op:function(un,on){return!on},evaluate:function(un){return an.unifiedEval(this,un)}}}}),Tn.addGrammarElement("noExpression",function(tn,an,Kr){if(Kr.matchToken("no")){var en=tn.requireElement("unaryExpression",Kr);return{type:"noExpression",root:en,args:[en],op:function(un,on){return an.isEmpty(on)},evaluate:function(un){return an.unifiedEval(this,un)}}}}),Tn.addLeafExpression("some",function(tn,an,Kr){if(Kr.matchToken("some")){var en=tn.requireElement("expression",Kr);return{type:"noExpression",root:en,args:[en],op:function(un,on){return!an.isEmpty(on)},evaluate(un){return an.unifiedEval(this,un)}}}}),Tn.addGrammarElement("negativeNumber",function(tn,an,Kr){if(Kr.matchOpToken("-")){var en=tn.requireElement("negativeNumber",Kr);return{type:"negativeNumber",root:en,args:[en],op:function(un,on){return-1*on},evaluate:function(un){return an.unifiedEval(this,un)}}}else return tn.requireElement("primaryExpression",Kr)}),Tn.addGrammarElement("unaryExpression",function(tn,an,Kr){return Kr.matchToken("the"),tn.parseAnyOf(["beepExpression","logicalNot","relativePositionalExpression","positionalExpression","noExpression","postfixExpression"],Kr)}),Tn.addGrammarElement("beepExpression",function(tn,an,Kr){if(Kr.matchToken("beep!")){var en=tn.parseElement("unaryExpression",Kr);if(en){en.booped=!0;var un=en.evaluate;return en.evaluate=function(on){let cn=un.apply(en,arguments),sn=on.me;return an.beepValueToConsole(sn,en,cn),cn},en}}});var hn=function(tn,an,Kr,en){for(var un=an.querySelectorAll(Kr),on=0;on<un.length;on++){var cn=un[on];if(cn.compareDocumentPosition(tn)===Node.DOCUMENT_POSITION_PRECEDING)return cn}if(en)return un[0]},dn=function(tn,an,Kr,en){for(var un=an.querySelectorAll(Kr),on=un.length-1;on>=0;on--){var cn=un[on];if(cn.compareDocumentPosition(tn)===Node.DOCUMENT_POSITION_FOLLOWING)return cn}if(en)return un[un.length-1]},wn=function(tn,an,Kr,en){var un=[];ln.prototype.forEach(an,function(pn){(pn.matches(Kr)||pn===tn)&&un.push(pn)});for(var on=0;on<un.length-1;on++){var cn=un[on];if(cn===tn)return un[on+1]}if(en){var sn=un[0];if(sn&&sn.matches(Kr))return sn}},vn=function(tn,an,Kr,en){return wn(tn,Array.from(an).reverse(),Kr,en)};Tn.addGrammarElement("relativePositionalExpression",function(tn,an,Kr){var en=Kr.matchAnyToken("next","previous");if(en){var un=en.value==="next",on=tn.parseElement("expression",Kr);if(Kr.matchToken("from")){Kr.pushFollow("in");try{var cn=tn.requireElement("unaryExpression",Kr)}finally{Kr.popFollow()}}else var cn=tn.requireElement("implicitMeTarget",Kr);var sn=!1,pn;if(Kr.matchToken("in")){sn=!0;var En=tn.requireElement("unaryExpression",Kr)}else Kr.matchToken("within")?pn=tn.requireElement("unaryExpression",Kr):pn=document.body;var bn=!1;return Kr.matchToken("with")&&(Kr.requireToken("wrapping"),bn=!0),{type:"relativePositionalExpression",from:cn,forwardSearch:un,inSearch:sn,wrapping:bn,inElt:En,withinElt:pn,operator:en.value,args:[on,cn,En,pn],op:function(Nn,Hn,kn,Sn,Un){var _n=Hn.css;if(_n==null)throw"Expected a CSS value to be returned by "+Jr.sourceFor.apply(on);if(sn){if(Sn)return un?wn(kn,Sn,_n,bn):vn(kn,Sn,_n,bn)}else if(Un)return un?hn(kn,Un,_n,bn):dn(kn,Un,_n,bn)},evaluate:function(Nn){return an.unifiedEval(this,Nn)}}}}),Tn.addGrammarElement("positionalExpression",function(tn,an,Kr){var en=Kr.matchAnyToken("first","last","random");if(!en)return;Kr.matchAnyToken("in","from","of");var un=tn.requireElement("unaryExpression",Kr);let on=en.value;return{type:"positionalExpression",rhs:un,operator:en.value,args:[un],op:function(cn,sn){if(sn&&!Array.isArray(sn)&&(sn.children?sn=sn.children:sn=Array.from(sn)),sn){if(on==="first")return sn[0];if(on==="last")return sn[sn.length-1];if(on==="random")return sn[Math.floor(Math.random()*sn.length)]}},evaluate:function(cn){return an.unifiedEval(this,cn)}}}),Tn.addGrammarElement("mathOperator",function(tn,an,Kr){var en=tn.parseElement("unaryExpression",Kr),un,on=null;for(un=Kr.matchAnyOpToken("+","-","*","/")||Kr.matchToken("mod");un;){on=on||un;var cn=un.value;on.value!==cn&&tn.raiseParseError(Kr,"You must parenthesize math operations with different operators");var sn=tn.parseElement("unaryExpression",Kr);en={type:"mathOperator",lhs:en,rhs:sn,operator:cn,args:[en,sn],op:function(pn,En,bn){if(cn==="+")return En+bn;if(cn==="-")return En-bn;if(cn==="*")return En*bn;if(cn==="/")return En/bn;if(cn==="mod")return En%bn},evaluate:function(pn){return an.unifiedEval(this,pn)}},un=Kr.matchAnyOpToken("+","-","*","/")||Kr.matchToken("mod")}return en}),Tn.addGrammarElement("mathExpression",function(tn,an,Kr){return tn.parseAnyOf(["mathOperator","unaryExpression"],Kr)});function yn(tn,an,Kr){if(an.contains)return an.contains(Kr);if(an.includes)return an.includes(Kr);throw Error("The value of "+tn.sourceFor()+" does not have a contains or includes method on it")}function fn(tn,an,Kr){if(an.match)return!!an.match(Kr);if(an.matches)return an.matches(Kr);throw Error("The value of "+tn.sourceFor()+" does not have a match or matches method on it")}Tn.addGrammarElement("comparisonOperator",function(tn,an,Kr){var en=tn.parseElement("mathExpression",Kr),un=Kr.matchAnyOpToken("<",">","<=",">=","==","===","!=","!=="),on=un?un.value:null,cn=!0,sn=!1;if(on==null&&(Kr.matchToken("is")||Kr.matchToken("am")?Kr.matchToken("not")?Kr.matchToken("in")?on="not in":Kr.matchToken("a")||Kr.matchToken("an")?(on="not a",sn=!0):Kr.matchToken("empty")?(on="not empty",cn=!1):(Kr.matchToken("really")?on="!==":on="!=",Kr.matchToken("equal")&&Kr.matchToken("to")):Kr.matchToken("in")?on="in":Kr.matchToken("a")||Kr.matchToken("an")?(on="a",sn=!0):Kr.matchToken("empty")?(on="empty",cn=!1):Kr.matchToken("less")?(Kr.requireToken("than"),Kr.matchToken("or")?(Kr.requireToken("equal"),Kr.requireToken("to"),on="<="):on="<"):Kr.matchToken("greater")?(Kr.requireToken("than"),Kr.matchToken("or")?(Kr.requireToken("equal"),Kr.requireToken("to"),on=">="):on=">"):(Kr.matchToken("really")?on="===":on="==",Kr.matchToken("equal")&&Kr.matchToken("to")):Kr.matchToken("equals")?on="==":Kr.matchToken("really")?(Kr.requireToken("equals"),on="==="):Kr.matchToken("exist")||Kr.matchToken("exists")?(on="exist",cn=!1):Kr.matchToken("matches")||Kr.matchToken("match")?on="match":Kr.matchToken("contains")||Kr.matchToken("contain")?on="contain":Kr.matchToken("includes")||Kr.matchToken("include")?on="include":(Kr.matchToken("do")||Kr.matchToken("does"))&&(Kr.requireToken("not"),Kr.matchToken("matches")||Kr.matchToken("match")?on="not match":Kr.matchToken("contains")||Kr.matchToken("contain")?on="not contain":Kr.matchToken("exist")||Kr.matchToken("exist")?(on="not exist",cn=!1):Kr.matchToken("include")?on="not include":tn.raiseParseError(Kr,"Expected matches or contains"))),on){var pn,En,bn;sn?(pn=Kr.requireTokenType("IDENTIFIER"),En=!Kr.matchOpToken("!")):cn&&(bn=tn.requireElement("mathExpression",Kr),(on==="match"||on==="not match")&&(bn=bn.css?bn.css:bn));var Nn=en;en={type:"comparisonOperator",operator:on,typeName:pn,nullOk:En,lhs:en,rhs:bn,args:[en,bn],op:function(Hn,kn,Sn){if(on==="==")return kn==Sn;if(on==="!=")return kn!=Sn;if(on==="===")return kn===Sn;if(on==="!==")return kn!==Sn;if(on==="match")return kn!=null&&fn(Nn,kn,Sn);if(on==="not match")return kn==null||!fn(Nn,kn,Sn);if(on==="in")return Sn!=null&&yn(bn,Sn,kn);if(on==="not in")return Sn==null||!yn(bn,Sn,kn);if(on==="contain")return kn!=null&&yn(Nn,kn,Sn);if(on==="not contain")return kn==null||!yn(Nn,kn,Sn);if(on==="include")return kn!=null&&yn(Nn,kn,Sn);if(on==="not include")return kn==null||!yn(Nn,kn,Sn);if(on==="===")return kn===Sn;if(on==="!==")return kn!==Sn;if(on==="<")return kn<Sn;if(on===">")return kn>Sn;if(on==="<=")return kn<=Sn;if(on===">=")return kn>=Sn;if(on==="empty")return an.isEmpty(kn);if(on==="not empty")return!an.isEmpty(kn);if(on==="exist")return an.doesExist(kn);if(on==="not exist")return!an.doesExist(kn);if(on==="a")return an.typeCheck(kn,pn.value,En);if(on==="not a")return!an.typeCheck(kn,pn.value,En);throw"Unknown comparison : "+on},evaluate:function(Hn){return an.unifiedEval(this,Hn)}}}return en}),Tn.addGrammarElement("comparisonExpression",function(tn,an,Kr){return tn.parseAnyOf(["comparisonOperator","mathExpression"],Kr)}),Tn.addGrammarElement("logicalOperator",function(tn,an,Kr){var en=tn.parseElement("comparisonExpression",Kr),un,on=null;for(un=Kr.matchToken("and")||Kr.matchToken("or");un;){on=on||un,on.value!==un.value&&tn.raiseParseError(Kr,"You must parenthesize logical operations with different operators");var cn=tn.requireElement("comparisonExpression",Kr);let sn=un.value;en={type:"logicalOperator",operator:sn,lhs:en,rhs:cn,args:[en,cn],op:function(pn,En,bn){return sn==="and"?En&&bn:En||bn},evaluate:function(pn){return an.unifiedEval(this,pn,sn==="or")}},un=Kr.matchToken("and")||Kr.matchToken("or")}return en}),Tn.addGrammarElement("logicalExpression",function(tn,an,Kr){return tn.parseAnyOf(["logicalOperator","mathExpression"],Kr)}),Tn.addGrammarElement("asyncExpression",function(tn,an,Kr){if(Kr.matchToken("async")){var en=tn.requireElement("logicalExpression",Kr),un={type:"asyncExpression",value:en,evaluate:function(on){return{asyncWrapper:!0,value:this.value.evaluate(on)}}};return un}else return tn.parseElement("logicalExpression",Kr)}),Tn.addGrammarElement("expression",function(tn,an,Kr){return Kr.matchToken("the"),tn.parseElement("asyncExpression",Kr)}),Tn.addGrammarElement("assignableExpression",function(tn,an,Kr){Kr.matchToken("the");var en=tn.parseElement("primaryExpression",Kr);return en&&(en.type==="symbol"||en.type==="ofExpression"||en.type==="propertyAccess"||en.type==="attributeRefAccess"||en.type==="attributeRef"||en.type==="styleRef"||en.type==="arrayIndex"||en.type==="possessive")||tn.raiseParseError(Kr,"A target expression must be writable. The expression type '"+(en&&en.type)+"' is not."),en}),Tn.addGrammarElement("hyperscript",function(tn,an,Kr){var en=[];if(Kr.hasMore())for(;tn.featureStart(Kr.currentToken())||Kr.currentToken().value==="(";){var un=tn.requireElement("feature",Kr);en.push(un),Kr.matchToken("end")}return{type:"hyperscript",features:en,apply:function(on,cn,sn){for(let pn of en)pn.install(on,cn,sn)}}});var An=function(tn){var an=[];if(tn.token(0).value==="("&&(tn.token(1).value===")"||tn.token(2).value===","||tn.token(2).value===")")){tn.matchOpToken("(");do an.push(tn.requireTokenType("IDENTIFIER"));while(tn.matchOpToken(","));tn.requireOpToken(")")}return an};Tn.addFeature("on",function(tn,an,Kr){if(Kr.matchToken("on")){var en=!1;Kr.matchToken("every")&&(en=!0);var un=[],on=null;do{var cn=tn.requireElement("eventName",Kr,"Expected event name"),sn=cn.evaluate();on?on=on+" or "+sn:on="on "+sn;var pn=An(Kr),En=null;Kr.matchOpToken("[")&&(En=tn.requireElement("expression",Kr),Kr.requireOpToken("]"));var bn,Nn,Hn;if(Kr.currentToken().type==="NUMBER"){var kn=Kr.consumeToken();if(!kn.value)return;if(bn=parseInt(kn.value),Kr.matchToken("to")){var Sn=Kr.consumeToken();if(!Sn.value)return;Nn=parseInt(Sn.value)}else Kr.matchToken("and")&&(Hn=!0,Kr.requireToken("on"))}var Un,_n;if(sn==="intersection"){if(Un={},Kr.matchToken("with")&&(Un.with=tn.requireElement("expression",Kr).evaluate()),Kr.matchToken("having"))do Kr.matchToken("margin")?Un.rootMargin=tn.requireElement("stringLike",Kr).evaluate():Kr.matchToken("threshold")?Un.threshold=tn.requireElement("expression",Kr).evaluate():tn.raiseParseError(Kr,"Unknown intersection config specification");while(Kr.matchToken("and"))}else if(sn==="mutation")if(_n={},Kr.matchToken("of"))do if(Kr.matchToken("anything"))_n.attributes=!0,_n.subtree=!0,_n.characterData=!0,_n.childList=!0;else if(Kr.matchToken("childList"))_n.childList=!0;else if(Kr.matchToken("attributes"))_n.attributes=!0,_n.attributeOldValue=!0;else if(Kr.matchToken("subtree"))_n.subtree=!0;else if(Kr.matchToken("characterData"))_n.characterData=!0,_n.characterDataOldValue=!0;else if(Kr.currentToken().type==="ATTRIBUTE_REF"){var ti=Kr.consumeToken();_n.attributeFilter==null&&(_n.attributeFilter=[]),ti.value.indexOf("@")==0?_n.attributeFilter.push(ti.value.substring(1)):tn.raiseParseError(Kr,"Only shorthand attribute references are allowed here")}else tn.raiseParseError(Kr,"Unknown mutation config specification");while(Kr.matchToken("or"));else _n.attributes=!0,_n.characterData=!0,_n.childList=!0;var ri=null,Si=!1;if(Kr.matchToken("from"))if(Kr.matchToken("elsewhere"))Si=!0;else{Kr.pushFollow("or");try{ri=tn.requireElement("expression",Kr)}finally{Kr.popFollow()}ri||tn.raiseParseError(Kr,'Expected either target value or "elsewhere".')}if(ri===null&&Si===!1&&Kr.matchToken("elsewhere")&&(Si=!0),Kr.matchToken("in"))var Ni=tn.parseElement("unaryExpression",Kr);if(Kr.matchToken("debounced")){Kr.requireToken("at");var oi=tn.requireElement("unaryExpression",Kr),Ei=oi.evaluate({})}else if(Kr.matchToken("throttled")){Kr.requireToken("at");var oi=tn.requireElement("unaryExpression",Kr),Di=oi.evaluate({})}un.push({execCount:0,every:en,on:sn,args:pn,filter:En,from:ri,inExpr:Ni,elsewhere:Si,startCount:bn,endCount:Nn,unbounded:Hn,debounceTime:Ei,throttleTime:Di,mutationSpec:_n,intersectionSpec:Un,debounced:void 0,lastExec:void 0})}while(Kr.matchToken("or"));var bi=!0;if(!en&&Kr.matchToken("queue"))if(Kr.matchToken("all"))var Ci=!0,bi=!1;else if(Kr.matchToken("first"))var Ji=!0;else if(Kr.matchToken("none"))var la=!0;else Kr.requireToken("last");var wa=tn.requireElement("commandList",Kr);tn.ensureTerminated(wa);var Va,ka;if(Kr.matchToken("catch")&&(Va=Kr.requireTokenType("IDENTIFIER").value,ka=tn.requireElement("commandList",Kr),tn.ensureTerminated(ka)),Kr.matchToken("finally")){var Eo=tn.requireElement("commandList",Kr);tn.ensureTerminated(Eo)}var Li={displayName:on,events:un,start:wa,every:en,execCount:0,errorHandler:ka,errorSymbol:Va,execute:function(vi){let Xi=an.getEventQueueFor(vi.me,Li);if(Xi.executing&&en===!1){if(la||Ji&&Xi.queue.length>0)return;bi&&(Xi.queue.length=0),Xi.queue.push(vi);return}Li.execCount++,Xi.executing=!0,vi.meta.onHalt=function(){Xi.executing=!1;var Oi=Xi.queue.shift();Oi&&setTimeout(function(){Li.execute(Oi)},1)},vi.meta.reject=function(Oi){console.error(Oi.message?Oi.message:Oi);var $n=an.getHyperTrace(vi,Oi);$n&&$n.print(),an.triggerEvent(vi.me,"exception",{error:Oi})},wa.execute(vi)},install:function(vi,Xi){for(let $n of Li.events){var Oi;$n.elsewhere?Oi=[document]:$n.from?Oi=$n.from.evaluate(an.makeContext(vi,Li,vi,null)):Oi=[vi],an.implicitLoop(Oi,function(Mi){var Zi=$n.on;if(Mi==null){console.warn("'%s' feature ignored because target does not exists:",on,vi);return}if($n.mutationSpec&&(Zi="hyperscript:mutation",new MutationObserver(function(Vi,si){Li.executing||an.triggerEvent(Mi,Zi,{mutationList:Vi,observer:si})}).observe(Mi,$n.mutationSpec)),$n.intersectionSpec){Zi="hyperscript:intersection";let ua=new IntersectionObserver(function(Vi){for(let Sa of Vi){var si={observer:ua};si=Object.assign(si,Sa),si.intersecting=Sa.isIntersecting,an.triggerEvent(Mi,Zi,si)}},$n.intersectionSpec);ua.observe(Mi)}var Ko=Mi.addEventListener||Mi.on;Ko.call(Mi,Zi,function ua(Vi){if(typeof Node<"u"&&vi instanceof Node&&Mi!==vi&&!vi.isConnected){Mi.removeEventListener(Zi,ua);return}var si=an.makeContext(vi,Li,vi,Vi);if(!($n.elsewhere&&vi.contains(Vi.target))){$n.from&&(si.result=Mi);for(let Ca of $n.args){let bo=si.event[Ca.value];bo!==void 0?si.locals[Ca.value]=bo:"detail"in si.event&&(si.locals[Ca.value]=si.event.detail[Ca.value])}if(si.meta.errorHandler=ka,si.meta.errorSymbol=Va,si.meta.finallyHandler=Eo,$n.filter){var Sa=si.meta.context;si.meta.context=si.event;try{var Jo=$n.filter.evaluate(si);if(!Jo)return}finally{si.meta.context=Sa}}if($n.inExpr){for(var ea=Vi.target;;)if(ea.matches&&ea.matches($n.inExpr.css)){si.result=ea;break}else if(ea=ea.parentElement,ea==null)return}if($n.execCount++,$n.startCount){if($n.endCount){if($n.execCount<$n.startCount||$n.execCount>$n.endCount)return}else if($n.unbounded){if($n.execCount<$n.startCount)return}else if($n.execCount!==$n.startCount)return}if($n.debounceTime){$n.debounced&&clearTimeout($n.debounced),$n.debounced=setTimeout(function(){Li.execute(si)},$n.debounceTime);return}if($n.throttleTime){if($n.lastExec&&Date.now()<$n.lastExec+$n.throttleTime)return;$n.lastExec=Date.now()}Li.execute(si)}})})}}};return tn.setParent(wa,Li),Li}}),Tn.addFeature("def",function(tn,an,Kr){if(Kr.matchToken("def")){var en=tn.requireElement("dotOrColonPath",Kr),un=en.evaluate(),on=un.split("."),cn=on.pop(),sn=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do sn.push(Kr.requireTokenType("IDENTIFIER"));while(Kr.matchOpToken(","));Kr.requireOpToken(")")}var pn=tn.requireElement("commandList",Kr),En,bn;if(Kr.matchToken("catch")&&(En=Kr.requireTokenType("IDENTIFIER").value,bn=tn.parseElement("commandList",Kr)),Kr.matchToken("finally")){var Nn=tn.requireElement("commandList",Kr);tn.ensureTerminated(Nn)}var Hn={displayName:cn+"("+sn.map(function(kn){return kn.value}).join(", ")+")",name:cn,args:sn,start:pn,errorHandler:bn,errorSymbol:En,finallyHandler:Nn,install:function(kn,Sn){var Un=function(){var _n=an.makeContext(Sn,Hn,kn,null);_n.meta.errorHandler=bn,_n.meta.errorSymbol=En,_n.meta.finallyHandler=Nn;for(var ti=0;ti<sn.length;ti++){var ri=sn[ti],Si=arguments[ti];ri&&(_n.locals[ri.value]=Si)}_n.meta.caller=arguments[sn.length],_n.meta.caller&&(_n.meta.callingCommand=_n.meta.caller.meta.command);var Ni,oi=null,Ei=new Promise(function(Di,bi){Ni=Di,oi=bi});return pn.execute(_n),_n.meta.returned?_n.meta.returnValue:(_n.meta.resolve=Ni,_n.meta.reject=oi,Ei)};Un.hyperfunc=!0,Un.hypername=un,an.assignToNamespace(kn,on,cn,Un)}};return tn.ensureTerminated(pn),bn&&tn.ensureTerminated(bn),tn.setParent(pn,Hn),Hn}}),Tn.addFeature("set",function(tn,an,Kr){let en=tn.parseElement("setCommand",Kr);if(en){en.target.scope!=="element"&&tn.raiseParseError(Kr,"variables declared at the feature level must be element scoped.");let un={start:en,install:function(on,cn){en&&en.execute(an.makeContext(on,un,on,null))}};return tn.ensureTerminated(en),un}}),Tn.addFeature("init",function(tn,an,Kr){if(Kr.matchToken("init")){var en=Kr.matchToken("immediately"),un=tn.requireElement("commandList",Kr),on={start:un,install:function(cn,sn){let pn=function(){un&&un.execute(an.makeContext(cn,on,cn,null))};en?pn():setTimeout(pn,0)}};return tn.ensureTerminated(un),tn.setParent(un,on),on}}),Tn.addFeature("worker",function(tn,an,Kr){if(Kr.matchToken("worker")){tn.raiseParseError(Kr,"In order to use the 'worker' feature, include the _hyperscript worker plugin. See https://hyperscript.org/features/worker/ for more info.");return}}),Tn.addFeature("behavior",function(tn,an,Kr){if(Kr.matchToken("behavior")){var en=tn.requireElement("dotOrColonPath",Kr).evaluate(),un=en.split("."),on=un.pop(),cn=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do cn.push(Kr.requireTokenType("IDENTIFIER").value);while(Kr.matchOpToken(","));Kr.requireOpToken(")")}for(var sn=tn.requireElement("hyperscript",Kr),pn=0;pn<sn.features.length;pn++){var En=sn.features[pn];En.behavior=en}return{install:function(bn,Nn){an.assignToNamespace(Gr.document&&Gr.document.body,un,on,function(Hn,kn,Sn){for(var Un=an.getInternalData(Hn),_n=Xn(Un,en+"Scope"),ti=0;ti<cn.length;ti++)_n[cn[ti]]=Sn[cn[ti]];sn.apply(Hn,kn)})}}}}),Tn.addFeature("install",function(tn,an,Kr){if(Kr.matchToken("install")){var en=tn.requireElement("dotOrColonPath",Kr).evaluate(),un=en.split("."),on=tn.parseElement("namedArgumentList",Kr),cn;return cn={install:function(sn,pn){an.unifiedEval({args:[on],op:function(En,bn){for(var Nn=Gr,Hn=0;Hn<un.length;Hn++)if(Nn=Nn[un[Hn]],typeof Nn!="object"&&typeof Nn!="function")throw new Error("No such behavior defined as "+en);if(!(Nn instanceof Function))throw new Error(en+" is not a behavior");Nn(sn,pn,bn)}},an.makeContext(sn,cn,sn,null))}}}}),Tn.addGrammarElement("jsBody",function(tn,an,Kr){for(var en=Kr.currentToken().start,un=Kr.currentToken(),on=[],cn="",sn=!1;Kr.hasMore();){un=Kr.consumeToken();var pn=Kr.token(0,!0);if(pn.type==="IDENTIFIER"&&pn.value==="end")break;sn?un.type==="IDENTIFIER"||un.type==="NUMBER"?cn+=un.value:(cn!==""&&on.push(cn),cn="",sn=!1):un.type==="IDENTIFIER"&&un.value==="function"&&(sn=!0)}var En=un.end+1;return{type:"jsBody",exposedFunctionNames:on,jsSource:Kr.source.substring(en,En)}}),Tn.addFeature("js",function(tn,an,Kr){if(Kr.matchToken("js")){var en=tn.requireElement("jsBody",Kr),un=en.jsSource+`
14
+
return { `+en.exposedFunctionNames.map(function(cn){return cn+":"+cn}).join(",")+" } ",on=new Function(un);return{jsSource:un,function:on,exposedFunctionNames:en.exposedFunctionNames,install:function(){Object.assign(Gr,on())}}}}),Tn.addCommand("js",function(tn,an,Kr){if(Kr.matchToken("js")){var en=[];if(Kr.matchOpToken("(")&&!Kr.matchOpToken(")")){do{var un=Kr.requireTokenType("IDENTIFIER");en.push(un.value)}while(Kr.matchOpToken(","));Kr.requireOpToken(")")}var on=tn.requireElement("jsBody",Kr);Kr.matchToken("end");var cn=gi(Function,en.concat([on.jsSource])),sn={jsSource:on.jsSource,function:cn,inputs:en,op:function(pn){var En=[];en.forEach(function(Nn){En.push(an.resolveSymbol(Nn,pn,"default"))});var bn=cn.apply(Gr,En);return bn&&typeof bn.then=="function"?new Promise(function(Nn){bn.then(function(Hn){pn.result=Hn,Nn(an.findNext(this,pn))})}):(pn.result=bn,an.findNext(this,pn))}};return sn}}),Tn.addCommand("async",function(tn,an,Kr){if(Kr.matchToken("async")){if(Kr.matchToken("do")){for(var en=tn.requireElement("commandList",Kr),un=en;un.next;)un=un.next;un.next=an.HALT,Kr.requireToken("end")}else var en=tn.requireElement("command",Kr);var on={body:en,op:function(cn){return setTimeout(function(){en.execute(cn)}),an.findNext(this,cn)}};return tn.setParent(en,on),on}}),Tn.addCommand("tell",function(tn,an,Kr){var en=Kr.currentToken();if(Kr.matchToken("tell")){var un=tn.requireElement("expression",Kr),on=tn.requireElement("commandList",Kr);Kr.hasMore()&&!tn.featureStart(Kr.currentToken())&&Kr.requireToken("end");var cn="tell_"+en.start,sn={value:un,body:on,args:[un],resolveNext:function(pn){var En=pn.meta.iterators[cn];return En.index<En.value.length?(pn.you=En.value[En.index++],on):(pn.you=En.originalYou,this.next?this.next:an.findNext(this.parent,pn))},op:function(pn,En){return En==null?En=[]:Array.isArray(En)||En instanceof NodeList||(En=[En]),pn.meta.iterators[cn]={originalYou:pn.you,index:0,value:En},this.resolveNext(pn)}};return tn.setParent(on,sn),sn}}),Tn.addCommand("wait",function(tn,an,Kr){if(Kr.matchToken("wait")){var en;if(Kr.matchToken("for")){Kr.matchToken("a");var un=[];do{var on=Kr.token(0);on.type==="NUMBER"||on.type==="L_PAREN"?un.push({time:tn.requireElement("expression",Kr).evaluate()}):un.push({name:tn.requireElement("dotOrColonPath",Kr,"Expected event name").evaluate(),args:An(Kr)})}while(Kr.matchToken("or"));if(Kr.matchToken("from"))var cn=tn.requireElement("expression",Kr);return en={event:un,on:cn,args:[cn],op:function(pn,En){var bn=En||pn.me;if(!(bn instanceof EventTarget))throw new Error("Not a valid event target: "+this.on.sourceFor());return new Promise(Nn=>{var Hn=!1;for(let Sn of un){var kn=Un=>{if(pn.result=Un,Sn.args)for(let _n of Sn.args)pn.locals[_n.value]=Un[_n.value]||(Un.detail?Un.detail[_n.value]:null);Hn||(Hn=!0,Nn(an.findNext(this,pn)))};Sn.name?bn.addEventListener(Sn.name,kn,{once:!0}):Sn.time!=null&&setTimeout(kn,Sn.time,Sn.time)}})}},en}else{var sn;return Kr.matchToken("a")?(Kr.requireToken("tick"),sn=0):sn=tn.requireElement("expression",Kr),en={type:"waitCmd",time:sn,args:[sn],op:function(pn,En){return new Promise(bn=>{setTimeout(()=>{bn(an.findNext(this,pn))},En)})},execute:function(pn){return an.unifiedExec(this,pn)}},en}}}),Tn.addGrammarElement("dotOrColonPath",function(tn,an,Kr){var en=Kr.matchTokenType("IDENTIFIER");if(en){var un=[en.value],on=Kr.matchOpToken(".")||Kr.matchOpToken(":");if(on)do un.push(Kr.requireTokenType("IDENTIFIER","NUMBER").value);while(Kr.matchOpToken(on.value));return{type:"dotOrColonPath",path:un,evaluate:function(){return un.join(on?on.value:"")}}}}),Tn.addGrammarElement("eventName",function(tn,an,Kr){var en;return(en=Kr.matchTokenType("STRING"))?{evaluate:function(){return en.value}}:tn.parseElement("dotOrColonPath",Kr)});function Rn(tn,an,Kr,en){var un=an.requireElement("eventName",en),on=an.parseElement("namedArgumentList",en);if(tn==="send"&&en.matchToken("to")||tn==="trigger"&&en.matchToken("on"))var cn=an.requireElement("expression",en);else var cn=an.requireElement("implicitMeTarget",en);var sn={eventName:un,details:on,to:cn,args:[cn,un,on],op:function(pn,En,bn,Nn){return Kr.nullCheck(En,cn),Kr.implicitLoop(En,function(Hn){Kr.triggerEvent(Hn,bn,Nn,pn.me)}),Kr.findNext(sn,pn)}};return sn}Tn.addCommand("trigger",function(tn,an,Kr){if(Kr.matchToken("trigger"))return Rn("trigger",tn,an,Kr)}),Tn.addCommand("send",function(tn,an,Kr){if(Kr.matchToken("send"))return Rn("send",tn,an,Kr)});var Dn=function(tn,an,Kr,en){if(en)if(tn.commandBoundary(Kr.currentToken()))tn.raiseParseError(Kr,"'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.");else var un=tn.requireElement("expression",Kr);var on={value:un,args:[un],op:function(cn,sn){var pn=cn.meta.resolve;return cn.meta.returned=!0,cn.meta.returnValue=sn,pn&&(sn?pn(sn):pn()),an.HALT}};return on};Tn.addCommand("return",function(tn,an,Kr){if(Kr.matchToken("return"))return Dn(tn,an,Kr,!0)}),Tn.addCommand("exit",function(tn,an,Kr){if(Kr.matchToken("exit"))return Dn(tn,an,Kr,!1)}),Tn.addCommand("halt",function(tn,an,Kr){if(Kr.matchToken("halt")){if(Kr.matchToken("the")){Kr.requireToken("event"),Kr.matchOpToken("'")&&Kr.requireToken("s");var en=!0}if(Kr.matchToken("bubbling"))var un=!0;else if(Kr.matchToken("default"))var on=!0;var cn=Dn(tn,an,Kr,!1),sn={keepExecuting:!0,bubbling:un,haltDefault:on,exit:cn,op:function(pn){if(pn.event)return un?pn.event.stopPropagation():(on||pn.event.stopPropagation(),pn.event.preventDefault()),en?an.findNext(this,pn):cn}};return sn}}),Tn.addCommand("log",function(tn,an,Kr){if(Kr.matchToken("log")){for(var en=[tn.parseElement("expression",Kr)];Kr.matchOpToken(",");)en.push(tn.requireElement("expression",Kr));if(Kr.matchToken("with"))var un=tn.requireElement("expression",Kr);var on={exprs:en,withExpr:un,args:[un,en],op:function(cn,sn,pn){return sn?sn.apply(null,pn):console.log.apply(null,pn),an.findNext(this,cn)}};return on}}),Tn.addCommand("beep!",function(tn,an,Kr){if(Kr.matchToken("beep!")){for(var en=[tn.parseElement("expression",Kr)];Kr.matchOpToken(",");)en.push(tn.requireElement("expression",Kr));var un={exprs:en,args:[en],op:function(on,cn){for(let sn=0;sn<en.length;sn++){let pn=en[sn],En=cn[sn];an.beepValueToConsole(on.me,pn,En)}return an.findNext(this,on)}};return un}}),Tn.addCommand("throw",function(tn,an,Kr){if(Kr.matchToken("throw")){var en=tn.requireElement("expression",Kr),un={expr:en,args:[en],op:function(on,cn){throw an.registerHyperTrace(on,cn),cn}};return un}});var In=function(tn,an,Kr){var en=tn.requireElement("expression",Kr),un={expr:en,args:[en],op:function(on,cn){return on.result=cn,an.findNext(un,on)}};return un};Tn.addCommand("call",function(tn,an,Kr){if(Kr.matchToken("call")){var en=In(tn,an,Kr);return en.expr&&en.expr.type!=="functionCall"&&tn.raiseParseError(Kr,"Must be a function invocation"),en}}),Tn.addCommand("get",function(tn,an,Kr){if(Kr.matchToken("get"))return In(tn,an,Kr)}),Tn.addCommand("make",function(tn,an,Kr){if(Kr.matchToken("make")){Kr.matchToken("a")||Kr.matchToken("an");var en=tn.requireElement("expression",Kr),un=[];if(en.type!=="queryRef"&&Kr.matchToken("from"))do un.push(tn.requireElement("expression",Kr));while(Kr.matchOpToken(","));if(Kr.matchToken("called"))var on=tn.requireElement("symbol",Kr);var cn;return en.type==="queryRef"?(cn={op:function(sn){for(var pn,En="div",bn,Nn=[],Hn=/(?:(^|#|\.)([^#\. ]+))/g;pn=Hn.exec(en.css);)pn[1]===""?En=pn[2].trim():pn[1]==="#"?bn=pn[2].trim():Nn.push(pn[2].trim());var kn=document.createElement(En);bn!==void 0&&(kn.id=bn);for(var Sn=0;Sn<Nn.length;Sn++){var Un=Nn[Sn];kn.classList.add(Un)}return sn.result=kn,on&&an.setSymbol(on.name,sn,on.scope,kn),an.findNext(this,sn)}},cn):(cn={args:[en,un],op:function(sn,pn,En){return sn.result=gi(pn,En),on&&an.setSymbol(on.name,sn,on.scope,sn.result),an.findNext(this,sn)}},cn)}}),Tn.addGrammarElement("pseudoCommand",function(tn,an,Kr){let en=Kr.token(1);if(!(en&&en.op&&(en.value==="."||en.value==="(")))return null;for(var un=tn.requireElement("primaryExpression",Kr),on=un.root,cn=un;on.root!=null;)cn=cn.root,on=on.root;if(un.type!=="functionCall"&&tn.raiseParseError(Kr,"Pseudo-commands must be function calls"),cn.type==="functionCall"&&cn.root.root==null){if(Kr.matchAnyToken("the","to","on","with","into","from","at"))var sn=tn.requireElement("expression",Kr);else if(Kr.matchToken("me"))var sn=tn.requireElement("implicitMeTarget",Kr)}var pn;return sn?pn={type:"pseudoCommand",root:sn,argExressions:cn.argExressions,args:[sn,cn.argExressions],op:function(En,bn,Nn){an.nullCheck(bn,sn);var Hn=bn[cn.root.name];return an.nullCheck(Hn,cn),Hn.hyperfunc&&Nn.push(En),En.result=Hn.apply(bn,Nn),an.findNext(pn,En)},execute:function(En){return an.unifiedExec(this,En)}}:pn={type:"pseudoCommand",expr:un,args:[un],op:function(En,bn){return En.result=bn,an.findNext(pn,En)},execute:function(En){return an.unifiedExec(this,En)}},pn});var qn=function(tn,an,Kr,en,un){var on=en.type==="symbol",cn=en.type==="attributeRef",sn=en.type==="styleRef",pn=en.type==="arrayIndex";!(cn||sn||on)&&en.root==null&&tn.raiseParseError(Kr,"Can only put directly into symbols, not references");var En=null,bn=null;if(!on)if(cn||sn){En=tn.requireElement("implicitMeTarget",Kr);var Nn=en}else if(pn)bn=en.firstIndex,En=en.root;else{bn=en.prop?en.prop.value:null;var Nn=en.attribute;En=en.root}var Hn={target:en,symbolWrite:on,value:un,args:[En,bn,un],op:function(kn,Sn,Un,_n){return on?an.setSymbol(en.name,kn,en.scope,_n):(an.nullCheck(Sn,En),pn?Sn[Un]=_n:an.implicitLoop(Sn,function(ti){Nn?Nn.type==="attributeRef"?_n==null?ti.removeAttribute(Nn.name):ti.setAttribute(Nn.name,_n):ti.style[Nn.name]=_n:ti[Un]=_n})),an.findNext(this,kn)}};return Hn};Tn.addCommand("default",function(tn,an,Kr){if(Kr.matchToken("default")){var en=tn.requireElement("assignableExpression",Kr);Kr.requireToken("to");var un=tn.requireElement("expression",Kr),on=qn(tn,an,Kr,en,un),cn={target:en,value:un,setter:on,args:[en],op:function(sn,pn){return pn?an.findNext(this,sn):on}};return on.parent=cn,cn}}),Tn.addCommand("set",function(tn,an,Kr){if(Kr.matchToken("set")){if(Kr.currentToken().type==="L_BRACE"){var en=tn.requireElement("objectLiteral",Kr);Kr.requireToken("on");var un=tn.requireElement("expression",Kr),on={objectLiteral:en,target:un,args:[en,un],op:function(sn,pn,En){return Object.assign(En,pn),an.findNext(this,sn)}};return on}try{Kr.pushFollow("to");var un=tn.requireElement("assignableExpression",Kr)}finally{Kr.popFollow()}Kr.requireToken("to");var cn=tn.requireElement("expression",Kr);return qn(tn,an,Kr,un,cn)}}),Tn.addCommand("if",function(tn,an,Kr){if(!Kr.matchToken("if"))return;var en=tn.requireElement("expression",Kr);Kr.matchToken("then");var un=tn.parseElement("commandList",Kr),on=!1;let cn=Kr.matchToken("else")||Kr.matchToken("otherwise");if(cn){let En=Kr.peekToken("if");if(on=En!=null&&En.line===cn.line,on)var sn=tn.parseElement("command",Kr);else var sn=tn.parseElement("commandList",Kr)}Kr.hasMore()&&!on&&Kr.requireToken("end");var pn={expr:en,trueBranch:un,falseBranch:sn,args:[en],op:function(En,bn){return bn?un:sn||an.findNext(this,En)}};return tn.setParent(un,pn),tn.setParent(sn,pn),pn});var Mn=function(tn,an,Kr,en){var un=an.currentToken(),on;if(an.matchToken("for")||en){var cn=an.requireTokenType("IDENTIFIER");on=cn.value,an.requireToken("in");var sn=tn.requireElement("expression",an)}else if(an.matchToken("in")){on="it";var sn=tn.requireElement("expression",an)}else if(an.matchToken("while"))var pn=tn.requireElement("expression",an);else if(an.matchToken("until")){var En=!0;if(an.matchToken("event")){var bn=tn.requireElement("dotOrColonPath",an,"Expected event name");if(an.matchToken("from"))var Nn=tn.requireElement("expression",an)}else var pn=tn.requireElement("expression",an)}else if(!tn.commandBoundary(an.currentToken())&&an.currentToken().value!=="forever"){var Hn=tn.requireElement("expression",an);an.requireToken("times")}else{an.matchToken("forever");var kn=!0}if(an.matchToken("index"))var cn=an.requireTokenType("IDENTIFIER"),Sn=cn.value;else if(an.matchToken("indexed")){an.requireToken("by");var cn=an.requireTokenType("IDENTIFIER"),Sn=cn.value}var Un=tn.parseElement("commandList",an);if(Un&&bn){for(var _n=Un;_n.next;)_n=_n.next;var ti={type:"waitATick",op:function(){return new Promise(function(oi){setTimeout(function(){oi(Kr.findNext(ti))},0)})}};_n.next=ti}if(an.hasMore()&&an.requireToken("end"),on==null){on="_implicit_repeat_"+un.start;var ri=on}else var ri=on+"_"+un.start;var Si={identifier:on,indexIdentifier:Sn,slot:ri,expression:sn,forever:kn,times:Hn,until:En,event:bn,on:Nn,whileExpr:pn,resolveNext:function(){return this},loop:Un,args:[pn,Hn],op:function(oi,Ei,Di){var bi=oi.meta.iterators[ri],Ci=!1,Ji=null;if(this.forever)Ci=!0;else if(this.until)bn?Ci=oi.meta.iterators[ri].eventFired===!1:Ci=Ei!==!0;else if(pn)Ci=Ei;else if(Di)Ci=bi.index<Di;else{var la=bi.iterator.next();Ci=!la.done,Ji=la.value}return Ci?(bi.value?oi.result=oi.locals[on]=Ji:oi.result=bi.index,Sn&&(oi.locals[Sn]=bi.index),bi.index++,Un):(oi.meta.iterators[ri]=null,Kr.findNext(this.parent,oi))}};tn.setParent(Un,Si);var Ni={name:"repeatInit",args:[sn,bn,Nn],op:function(oi,Ei,Di,bi){var Ci={index:0,value:Ei,eventFired:!1};if(oi.meta.iterators[ri]=Ci,Ei&&Ei[Symbol.iterator]&&(Ci.iterator=Ei[Symbol.iterator]()),bn){var Ji=bi||oi.me;Ji.addEventListener(Di,function(la){oi.meta.iterators[ri].eventFired=!0},{once:!0})}return Si},execute:function(oi){return Kr.unifiedExec(this,oi)}};return tn.setParent(Si,Ni),Ni};Tn.addCommand("repeat",function(tn,an,Kr){if(Kr.matchToken("repeat"))return Mn(tn,Kr,an,!1)}),Tn.addCommand("for",function(tn,an,Kr){if(Kr.matchToken("for"))return Mn(tn,Kr,an,!0)}),Tn.addCommand("continue",function(tn,an,Kr){if(Kr.matchToken("continue")){var en={op:function(un){for(var on=this.parent;;on=on.parent)if(on==null&&tn.raiseParseError(Kr,"Command `continue` cannot be used outside of a `repeat` loop."),on.loop!=null)return on.resolveNext(un)}};return en}}),Tn.addCommand("break",function(tn,an,Kr){if(Kr.matchToken("break")){var en={op:function(un){for(var on=this.parent;;on=on.parent)if(on==null&&tn.raiseParseError(Kr,"Command `continue` cannot be used outside of a `repeat` loop."),on.loop!=null)return an.findNext(on.parent,un)}};return en}}),Tn.addGrammarElement("stringLike",function(tn,an,Kr){return tn.parseAnyOf(["string","nakedString"],Kr)}),Tn.addCommand("append",function(tn,an,Kr){if(Kr.matchToken("append")){var en=null,un=tn.requireElement("expression",Kr),on={type:"symbol",evaluate:function(pn){return an.resolveSymbol("result",pn)}};Kr.matchToken("to")?en=tn.requireElement("expression",Kr):en=on;var cn=null;(en.type==="symbol"||en.type==="attributeRef"||en.root!=null)&&(cn=qn(tn,an,Kr,en,on));var sn={value:un,target:en,args:[en,un],op:function(pn,En,bn){if(Array.isArray(En))return En.push(bn),an.findNext(this,pn);if(En instanceof Element)return bn instanceof Element?En.insertAdjacentElement("beforeend",bn):En.insertAdjacentHTML("beforeend",bn),an.processNode(En),an.findNext(this,pn);if(cn)return pn.result=(En||"")+bn,cn;throw Error("Unable to append a value!")},execute:function(pn){return an.unifiedExec(this,pn)}};return cn!=null&&(cn.parent=sn),sn}});function Ln(tn,an,Kr){Kr.matchToken("at")||Kr.matchToken("from");let en={includeStart:!0,includeEnd:!1};return en.from=Kr.matchToken("start")?0:tn.requireElement("expression",Kr),(Kr.matchToken("to")||Kr.matchOpToken(".."))&&(Kr.matchToken("end")?en.toEnd=!0:en.to=tn.requireElement("expression",Kr)),Kr.matchToken("inclusive")?en.includeEnd=!0:Kr.matchToken("exclusive")&&(en.includeStart=!1),en}class Bn{constructor(an,Kr){this.re=an,this.str=Kr}next(){let an=this.re.exec(this.str);return an===null?{done:!0}:{value:an}}}class Wn{constructor(an,Kr,en){this.re=an,this.flags=Kr,this.str=en}[Symbol.iterator](){return new Bn(new RegExp(this.re,this.flags),this.str)}}Tn.addCommand("pick",(tn,an,Kr)=>{if(Kr.matchToken("pick")){if(Kr.matchToken("the"),Kr.matchToken("item")||Kr.matchToken("items")||Kr.matchToken("character")||Kr.matchToken("characters")){let en=Ln(tn,an,Kr);return Kr.requireToken("from"),{args:[tn.requireElement("expression",Kr),en.from,en.to],op(on,cn,sn,pn){return en.toEnd&&(pn=cn.length),en.includeStart||sn++,en.includeEnd&&pn++,(pn==null||pn==null)&&(pn=sn+1),on.result=cn.slice(sn,pn),an.findNext(this,on)}}}if(Kr.matchToken("match")){Kr.matchToken("of");let en=tn.parseElement("expression",Kr),un="";return Kr.matchOpToken("|")&&(un=Kr.requireTokenType("IDENTIFIER").value),Kr.requireToken("from"),{args:[tn.parseElement("expression",Kr),en],op(cn,sn,pn){return cn.result=new RegExp(pn,un).exec(sn),an.findNext(this,cn)}}}if(Kr.matchToken("matches")){Kr.matchToken("of");let en=tn.parseElement("expression",Kr),un="gu";return Kr.matchOpToken("|")&&(un="g"+Kr.requireTokenType("IDENTIFIER").value.replace("g","")),Kr.requireToken("from"),{args:[tn.parseElement("expression",Kr),en],op(cn,sn,pn){return cn.result=new Wn(pn,un,sn),an.findNext(this,cn)}}}}}),Tn.addCommand("increment",function(tn,an,Kr){if(Kr.matchToken("increment")){var en,un=tn.parseElement("assignableExpression",Kr);Kr.matchToken("by")&&(en=tn.requireElement("expression",Kr));var on={type:"implicitIncrementOp",target:un,args:[un,en],op:function(cn,sn,pn){sn=sn?parseFloat(sn):0,pn=en?parseFloat(pn):1;var En=sn+pn;return cn.result=En,En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return qn(tn,an,Kr,un,on)}}),Tn.addCommand("decrement",function(tn,an,Kr){if(Kr.matchToken("decrement")){var en,un=tn.parseElement("assignableExpression",Kr);Kr.matchToken("by")&&(en=tn.requireElement("expression",Kr));var on={type:"implicitDecrementOp",target:un,args:[un,en],op:function(cn,sn,pn){sn=sn?parseFloat(sn):0,pn=en?parseFloat(pn):1;var En=sn-pn;return cn.result=En,En},evaluate:function(cn){return an.unifiedEval(this,cn)}};return qn(tn,an,Kr,un,on)}});function jn(tn,an){var Kr="text",en;return tn.matchToken("a")||tn.matchToken("an"),tn.matchToken("json")||tn.matchToken("Object")?Kr="json":tn.matchToken("response")?Kr="response":tn.matchToken("html")?Kr="html":tn.matchToken("text")||(en=an.requireElement("dotOrColonPath",tn).evaluate()),{type:Kr,conversion:en}}Tn.addCommand("fetch",function(tn,an,Kr){if(Kr.matchToken("fetch")){var en=tn.requireElement("stringLike",Kr);if(Kr.matchToken("as"))var un=jn(Kr,tn);if(Kr.matchToken("with")&&Kr.currentToken().value!=="{")var on=tn.parseElement("nakedNamedArgumentList",Kr);else var on=tn.parseElement("objectLiteral",Kr);un==null&&Kr.matchToken("as")&&(un=jn(Kr,tn));var cn=un?un.type:"text",sn=un?un.conversion:null,pn={url:en,argExpressions:on,args:[en,on],op:function(En,bn,Nn){var Hn=Nn||{};Hn.sender=En.me,Hn.headers=Hn.headers||{};var kn=new AbortController;let Sn=En.me.addEventListener("fetch:abort",function(){kn.abort()},{once:!0});Hn.signal=kn.signal,an.triggerEvent(En.me,"hyperscript:beforeFetch",Hn),an.triggerEvent(En.me,"fetch:beforeRequest",Hn),Nn=Hn;var Un=!1;return Nn.timeout&&setTimeout(function(){Un||kn.abort()},Nn.timeout),fetch(bn,Nn).then(function(_n){let ti={response:_n};return an.triggerEvent(En.me,"fetch:afterResponse",ti),_n=ti.response,cn==="response"?(En.result=_n,an.triggerEvent(En.me,"fetch:afterRequest",{result:_n}),Un=!0,an.findNext(pn,En)):cn==="json"?_n.json().then(function(ri){return En.result=ri,an.triggerEvent(En.me,"fetch:afterRequest",{result:ri}),Un=!0,an.findNext(pn,En)}):_n.text().then(function(ri){return sn&&(ri=an.convertValue(ri,sn)),cn==="html"&&(ri=an.convertValue(ri,"Fragment")),En.result=ri,an.triggerEvent(En.me,"fetch:afterRequest",{result:ri}),Un=!0,an.findNext(pn,En)})}).catch(function(_n){throw an.triggerEvent(En.me,"fetch:error",{reason:_n}),_n}).finally(function(){En.me.removeEventListener("fetch:abort",Sn)})}};return pn}})}function ai(Tn){Tn.addCommand("settle",function(vn,yn,fn){if(fn.matchToken("settle")){if(vn.commandBoundary(fn.currentToken()))var An=vn.requireElement("implicitMeTarget",fn);else var An=vn.requireElement("expression",fn);var Rn={type:"settleCmd",args:[An],op:function(Dn,In){yn.nullCheck(In,An);var qn=null,Mn=!1,Ln=!1,Bn=new Promise(function(Wn){qn=Wn});return In.addEventListener("transitionstart",function(){Ln=!0},{once:!0}),setTimeout(function(){!Ln&&!Mn&&qn(yn.findNext(Rn,Dn))},500),In.addEventListener("transitionend",function(){Mn||qn(yn.findNext(Rn,Dn))},{once:!0}),Bn},execute:function(Dn){return yn.unifiedExec(this,Dn)}};return Rn}}),Tn.addCommand("add",function(vn,yn,fn){if(fn.matchToken("add")){var An=vn.parseElement("classRef",fn),Rn=null,Dn=null;if(An==null)Rn=vn.parseElement("attributeRef",fn),Rn==null&&(Dn=vn.parseElement("styleLiteral",fn),Dn==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression"));else for(var In=[An];An=vn.parseElement("classRef",fn);)In.push(An);if(fn.matchToken("to"))var qn=vn.requireElement("expression",fn);else var qn=vn.requireElement("implicitMeTarget",fn);if(fn.matchToken("when")){Dn&&vn.raiseParseError(fn,"Only class and properties are supported with a when clause");var Mn=vn.requireElement("expression",fn)}return In?{classRefs:In,to:qn,args:[qn,In],op:function(Ln,Bn,Wn){return yn.nullCheck(Bn,qn),yn.forEach(Wn,function(jn){yn.implicitLoop(Bn,function(tn){Mn?(Ln.result=tn,yn.evaluateNoPromise(Mn,Ln)?tn instanceof Element&&tn.classList.add(jn.className):tn instanceof Element&&tn.classList.remove(jn.className),Ln.result=null):tn instanceof Element&&tn.classList.add(jn.className)})}),yn.findNext(this,Ln)}}:Rn?{type:"addCmd",attributeRef:Rn,to:qn,args:[qn],op:function(Ln,Bn,Wn){return yn.nullCheck(Bn,qn),yn.implicitLoop(Bn,function(jn){Mn?(Ln.result=jn,yn.evaluateNoPromise(Mn,Ln)?jn.setAttribute(Rn.name,Rn.value):jn.removeAttribute(Rn.name),Ln.result=null):jn.setAttribute(Rn.name,Rn.value)}),yn.findNext(this,Ln)},execute:function(Ln){return yn.unifiedExec(this,Ln)}}:{type:"addCmd",cssDeclaration:Dn,to:qn,args:[qn,Dn],op:function(Ln,Bn,Wn){return yn.nullCheck(Bn,qn),yn.implicitLoop(Bn,function(jn){jn.style.cssText+=Wn}),yn.findNext(this,Ln)},execute:function(Ln){return yn.unifiedExec(this,Ln)}}}}),Tn.addGrammarElement("styleLiteral",function(vn,yn,fn){if(fn.matchOpToken("{")){for(var An=[""],Rn=[];fn.hasMore();){if(fn.matchOpToken("\\"))fn.consumeToken();else{if(fn.matchOpToken("}"))break;if(fn.matchToken("$")){var Dn=fn.matchOpToken("{"),In=vn.parseElement("expression",fn);Dn&&fn.requireOpToken("}"),Rn.push(In),An.push("")}else{var qn=fn.consumeToken();An[An.length-1]+=fn.source.substring(qn.start,qn.end)}}An[An.length-1]+=fn.lastWhitespace()}return{type:"styleLiteral",args:[Rn],op:function(Mn,Ln){var Bn="";return An.forEach(function(Wn,jn){Bn+=Wn,jn in Ln&&(Bn+=Ln[jn])}),Bn},evaluate:function(Mn){return yn.unifiedEval(this,Mn)}}}}),Tn.addCommand("remove",function(vn,yn,fn){if(fn.matchToken("remove")){var An=vn.parseElement("classRef",fn),Rn=null,Dn=null;if(An==null)Rn=vn.parseElement("attributeRef",fn),Rn==null&&(Dn=vn.parseElement("expression",fn),Dn==null&&vn.raiseParseError(fn,"Expected either a class reference, attribute expression or value expression"));else for(var In=[An];An=vn.parseElement("classRef",fn);)In.push(An);if(fn.matchToken("from"))var qn=vn.requireElement("expression",fn);else if(Dn==null)var qn=vn.requireElement("implicitMeTarget",fn);return Dn?{elementExpr:Dn,from:qn,args:[Dn,qn],op:function(Mn,Ln,Bn){return yn.nullCheck(Ln,Dn),yn.implicitLoop(Ln,function(Wn){Wn.parentElement&&(Bn==null||Bn.contains(Wn))&&Wn.parentElement.removeChild(Wn)}),yn.findNext(this,Mn)}}:{classRefs:In,attributeRef:Rn,elementExpr:Dn,from:qn,args:[In,qn],op:function(Mn,Ln,Bn){return yn.nullCheck(Bn,qn),Ln?yn.forEach(Ln,function(Wn){yn.implicitLoop(Bn,function(jn){jn.classList.remove(Wn.className)})}):yn.implicitLoop(Bn,function(Wn){Wn.removeAttribute(Rn.name)}),yn.findNext(this,Mn)}}}}),Tn.addCommand("toggle",function(vn,yn,fn){if(fn.matchToken("toggle")){if(fn.matchAnyToken("the","my"),fn.currentToken().type==="STYLE_REF"){var An=fn.consumeToken().value.substr(1),Rn=!0,Dn=hn(vn,fn,An);if(fn.matchToken("of")){fn.pushFollow("with");try{var In=vn.requireElement("expression",fn)}finally{fn.popFollow()}}else var In=vn.requireElement("implicitMeTarget",fn)}else if(fn.matchToken("between")){var qn=!0,Mn=vn.parseElement("classRef",fn);fn.requireToken("and");var Ln=vn.requireElement("classRef",fn)}else{var Mn=vn.parseElement("classRef",fn),Bn=null;if(Mn==null)Bn=vn.parseElement("attributeRef",fn),Bn==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression");else for(var Wn=[Mn];Mn=vn.parseElement("classRef",fn);)Wn.push(Mn)}if(Rn!==!0)if(fn.matchToken("on"))var In=vn.requireElement("expression",fn);else var In=vn.requireElement("implicitMeTarget",fn);if(fn.matchToken("for"))var jn=vn.requireElement("expression",fn);else if(fn.matchToken("until")){var tn=vn.requireElement("dotOrColonPath",fn,"Expected event name");if(fn.matchToken("from"))var an=vn.requireElement("expression",fn)}var Kr={classRef:Mn,classRef2:Ln,classRefs:Wn,attributeRef:Bn,on:In,time:jn,evt:tn,from:an,toggle:function(en,un,on,cn){yn.nullCheck(en,In),Rn?yn.implicitLoop(en,function(sn){Dn("toggle",sn)}):qn?yn.implicitLoop(en,function(sn){sn.classList.contains(un.className)?(sn.classList.remove(un.className),sn.classList.add(on.className)):(sn.classList.add(un.className),sn.classList.remove(on.className))}):cn?yn.forEach(cn,function(sn){yn.implicitLoop(en,function(pn){pn.classList.toggle(sn.className)})}):yn.implicitLoop(en,function(sn){sn.hasAttribute(Bn.name)?sn.removeAttribute(Bn.name):sn.setAttribute(Bn.name,Bn.value)})},args:[In,jn,tn,an,Mn,Ln,Wn],op:function(en,un,on,cn,sn,pn,En,bn){return on?new Promise(function(Nn){Kr.toggle(un,pn,En,bn),setTimeout(function(){Kr.toggle(un,pn,En,bn),Nn(yn.findNext(Kr,en))},on)}):cn?new Promise(function(Nn){var Hn=sn||en.me;Hn.addEventListener(cn,function(){Kr.toggle(un,pn,En,bn),Nn(yn.findNext(Kr,en))},{once:!0}),Kr.toggle(un,pn,En,bn)}):(this.toggle(un,pn,En,bn),yn.findNext(Kr,en))}};return Kr}});var Zr={display:function(vn,yn,fn){if(fn)yn.style.display=fn;else if(vn==="toggle")getComputedStyle(yn).display==="none"?Zr.display("show",yn,fn):Zr.display("hide",yn,fn);else if(vn==="hide"){let An=Tn.runtime.getInternalData(yn);An.originalDisplay==null&&(An.originalDisplay=yn.style.display),yn.style.display="none"}else{let An=Tn.runtime.getInternalData(yn);An.originalDisplay&&An.originalDisplay!=="none"?yn.style.display=An.originalDisplay:yn.style.removeProperty("display")}},visibility:function(vn,yn,fn){fn?yn.style.visibility=fn:vn==="toggle"?getComputedStyle(yn).visibility==="hidden"?Zr.visibility("show",yn,fn):Zr.visibility("hide",yn,fn):vn==="hide"?yn.style.visibility="hidden":yn.style.visibility="visible"},opacity:function(vn,yn,fn){fn?yn.style.opacity=fn:vn==="toggle"?getComputedStyle(yn).opacity==="0"?Zr.opacity("show",yn,fn):Zr.opacity("hide",yn,fn):vn==="hide"?yn.style.opacity="0":yn.style.opacity="1"}},nn=function(vn,yn,fn){var An,Rn=fn.currentToken();return Rn.value==="when"||Rn.value==="with"||vn.commandBoundary(Rn)?An=vn.parseElement("implicitMeTarget",fn):An=vn.parseElement("expression",fn),An},hn=function(vn,yn,fn){var An=Qr.defaultHideShowStrategy,Rn=Zr;Qr.hideShowStrategies&&(Rn=Object.assign(Rn,Qr.hideShowStrategies)),fn=fn||An||"display";var Dn=Rn[fn];return Dn==null&&vn.raiseParseError(yn,"Unknown show/hide strategy : "+fn),Dn};Tn.addCommand("hide",function(vn,yn,fn){if(fn.matchToken("hide")){var An=nn(vn,yn,fn),Rn=null;fn.matchToken("with")&&(Rn=fn.requireTokenType("IDENTIFIER","STYLE_REF").value,Rn.indexOf("*")===0&&(Rn=Rn.substr(1)));var Dn=hn(vn,fn,Rn);return{target:An,args:[An],op:function(In,qn){return yn.nullCheck(qn,An),yn.implicitLoop(qn,function(Mn){Dn("hide",Mn)}),yn.findNext(this,In)}}}}),Tn.addCommand("show",function(vn,yn,fn){if(fn.matchToken("show")){var An=nn(vn,yn,fn),Rn=null;fn.matchToken("with")&&(Rn=fn.requireTokenType("IDENTIFIER","STYLE_REF").value,Rn.indexOf("*")===0&&(Rn=Rn.substr(1)));var Dn=null;if(fn.matchOpToken(":")){var In=fn.consumeUntilWhitespace();fn.matchTokenType("WHITESPACE"),Dn=In.map(function(Ln){return Ln.value}).join("")}if(fn.matchToken("when"))var qn=vn.requireElement("expression",fn);var Mn=hn(vn,fn,Rn);return{target:An,when:qn,args:[An],op:function(Ln,Bn){return yn.nullCheck(Bn,An),yn.implicitLoop(Bn,function(Wn){qn?(Ln.result=Wn,yn.evaluateNoPromise(qn,Ln)?Mn("show",Wn,Dn):Mn("hide",Wn),Ln.result=null):Mn("show",Wn,Dn)}),yn.findNext(this,Ln)}}}}),Tn.addCommand("take",function(vn,yn,fn){if(fn.matchToken("take")){let Mn=null,Ln=[];for(;Mn=vn.parseElement("classRef",fn);)Ln.push(Mn);var An=null,Rn=null;let Bn=Ln.length>0;if(Bn||(An=vn.parseElement("attributeRef",fn),An==null&&vn.raiseParseError(fn,"Expected either a class reference or attribute expression"),fn.matchToken("with")&&(Rn=vn.requireElement("expression",fn))),fn.matchToken("from"))var Dn=vn.requireElement("expression",fn);if(fn.matchToken("for"))var In=vn.requireElement("expression",fn);else var In=vn.requireElement("implicitMeTarget",fn);if(Bn){var qn={classRefs:Ln,from:Dn,forElt:In,args:[Ln,Dn,In],op:function(Wn,jn,tn,an){return yn.nullCheck(an,In),yn.implicitLoop(jn,function(Kr){var en=Kr.className;tn?yn.implicitLoop(tn,function(un){un.classList.remove(en)}):yn.implicitLoop(Kr,function(un){un.classList.remove(en)}),yn.implicitLoop(an,function(un){un.classList.add(en)})}),yn.findNext(this,Wn)}};return qn}else{var qn={attributeRef:An,from:Dn,forElt:In,args:[Dn,In,Rn],op:function(jn,tn,an,Kr){return yn.nullCheck(tn,Dn),yn.nullCheck(an,In),yn.implicitLoop(tn,function(en){Kr?en.setAttribute(An.name,Kr):en.removeAttribute(An.name)}),yn.implicitLoop(an,function(en){en.setAttribute(An.name,An.value||"")}),yn.findNext(this,jn)}};return qn}}});function dn(vn,yn,fn,An){if(fn!=null)var Rn=vn.resolveSymbol(fn,yn);else var Rn=yn;if(Rn instanceof Element||Rn instanceof HTMLDocument){for(;Rn.firstChild;)Rn.removeChild(Rn.firstChild);Rn.append(Tn.runtime.convertValue(An,"Fragment")),vn.processNode(Rn)}else if(fn!=null)vn.setSymbol(fn,yn,null,An);else throw"Don't know how to put a value into "+typeof yn}Tn.addCommand("put",function(vn,yn,fn){if(fn.matchToken("put")){var An=vn.requireElement("expression",fn),Rn=fn.matchAnyToken("into","before","after");Rn==null&&fn.matchToken("at")&&(fn.matchToken("the"),Rn=fn.matchAnyToken("start","end"),fn.requireToken("of")),Rn==null&&vn.raiseParseError(fn,"Expected one of 'into', 'before', 'at start of', 'at end of', 'after'");var Dn=vn.requireElement("expression",fn),In=Rn.value,qn=!1,Mn=!1,Ln=null,Bn=null;if(Dn.type==="arrayIndex"&&In==="into")qn=!0,Bn=Dn.prop,Ln=Dn.root;else if(Dn.prop&&Dn.root&&In==="into")Bn=Dn.prop.value,Ln=Dn.root;else if(Dn.type==="symbol"&&In==="into")Mn=!0,Bn=Dn.name;else if(Dn.type==="attributeRef"&&In==="into"){var Wn=!0;Bn=Dn.name,Ln=vn.requireElement("implicitMeTarget",fn)}else if(Dn.type==="styleRef"&&In==="into"){var jn=!0;Bn=Dn.name,Ln=vn.requireElement("implicitMeTarget",fn)}else if(Dn.attribute&&In==="into"){var Wn=Dn.attribute.type==="attributeRef",jn=Dn.attribute.type==="styleRef";Bn=Dn.attribute.name,Ln=Dn.root}else Ln=Dn;var tn={target:Dn,operation:In,symbolWrite:Mn,value:An,args:[Ln,Bn,An],op:function(an,Kr,en,un){if(Mn)dn(yn,an,en,un);else if(yn.nullCheck(Kr,Ln),In==="into")Wn?yn.implicitLoop(Kr,function(cn){cn.setAttribute(en,un)}):jn?yn.implicitLoop(Kr,function(cn){cn.style[en]=un}):qn?Kr[en]=un:yn.implicitLoop(Kr,function(cn){dn(yn,cn,en,un)});else{var on=In==="before"?Element.prototype.before:In==="after"?Element.prototype.after:In==="start"?Element.prototype.prepend:Element.prototype.append;yn.implicitLoop(Kr,function(cn){on.call(cn,un instanceof Node?un:yn.convertValue(un,"Fragment")),cn.parentElement?yn.processNode(cn.parentElement):yn.processNode(cn)})}return yn.findNext(this,an)}};return tn}});function wn(vn,yn,fn){var An;if(fn.matchToken("the")||fn.matchToken("element")||fn.matchToken("elements")||fn.currentToken().type==="CLASS_REF"||fn.currentToken().type==="ID_REF"||fn.currentToken().op&&fn.currentToken().value==="<"){vn.possessivesDisabled=!0;try{An=vn.parseElement("expression",fn)}finally{delete vn.possessivesDisabled}fn.matchOpToken("'")&&fn.requireToken("s")}else if(fn.currentToken().type==="IDENTIFIER"&&fn.currentToken().value==="its"){var Rn=fn.matchToken("its");An={type:"pseudopossessiveIts",token:Rn,name:Rn.value,evaluate:function(Dn){return yn.resolveSymbol("it",Dn)}}}else fn.matchToken("my")||fn.matchToken("me"),An=vn.parseElement("implicitMeTarget",fn);return An}Tn.addCommand("transition",function(vn,yn,fn){if(fn.matchToken("transition")){for(var An=wn(vn,yn,fn),Rn=[],Dn=[],In=[],qn=fn.currentToken();!vn.commandBoundary(qn)&&qn.value!=="over"&&qn.value!=="using";){if(fn.currentToken().type==="STYLE_REF"){let jn=fn.consumeToken().value.substr(1);Rn.push({type:"styleRefValue",evaluate:function(){return jn}})}else Rn.push(vn.requireElement("stringLike",fn));fn.matchToken("from")?Dn.push(vn.requireElement("expression",fn)):Dn.push(null),fn.requireToken("to"),fn.matchToken("initial")?In.push({type:"initial_literal",evaluate:function(){return"initial"}}):In.push(vn.requireElement("expression",fn)),qn=fn.currentToken()}if(fn.matchToken("over"))var Mn=vn.requireElement("expression",fn);else if(fn.matchToken("using"))var Ln=vn.requireElement("expression",fn);var Bn={to:In,args:[An,Rn,Dn,In,Ln,Mn],op:function(Wn,jn,tn,an,Kr,en,un){yn.nullCheck(jn,An);var on=[];return yn.implicitLoop(jn,function(cn){var sn=new Promise(function(pn,En){var bn=cn.style.transition;un?cn.style.transition="all "+un+"ms ease-in":en?cn.style.transition=en:cn.style.transition=Qr.defaultTransition;for(var Nn=yn.getInternalData(cn),Hn=getComputedStyle(cn),kn={},Sn=0;Sn<Hn.length;Sn++){var Un=Hn[Sn],_n=Hn[Un];kn[Un]=_n}Nn.initialStyles||(Nn.initialStyles=kn);for(var Sn=0;Sn<tn.length;Sn++){var ti=tn[Sn],ri=an[Sn];ri==="computed"||ri==null?cn.style[ti]=kn[ti]:cn.style[ti]=ri}var Si=!1,Ni=!1;cn.addEventListener("transitionend",function(){Ni||(cn.style.transition=bn,Ni=!0,pn())},{once:!0}),cn.addEventListener("transitionstart",function(){Si=!0},{once:!0}),setTimeout(function(){!Ni&&!Si&&(cn.style.transition=bn,Ni=!0,pn())},100),setTimeout(function(){for(var oi=[],Ei=0;Ei<tn.length;Ei++){var Di=tn[Ei],bi=Kr[Ei];if(bi==="initial"){var Ci=Nn.initialStyles[Di];cn.style[Di]=Ci}else cn.style[Di]=bi}},0)});on.push(sn)}),Promise.all(on).then(function(){return yn.findNext(Bn,Wn)})}};return Bn}}),Tn.addCommand("measure",function(vn,yn,fn){if(fn.matchToken("measure")){var An=wn(vn,yn,fn),Rn=[];if(!vn.commandBoundary(fn.currentToken()))do Rn.push(fn.matchTokenType("IDENTIFIER").value);while(fn.matchOpToken(","));return{properties:Rn,args:[An],op:function(Dn,In){yn.nullCheck(In,An),0 in In&&(In=In[0]);var qn=In.getBoundingClientRect(),Mn={top:In.scrollTop,left:In.scrollLeft,topMax:In.scrollTopMax,leftMax:In.scrollLeftMax,height:In.scrollHeight,width:In.scrollWidth};return Dn.result={x:qn.x,y:qn.y,left:qn.left,top:qn.top,right:qn.right,bottom:qn.bottom,width:qn.width,height:qn.height,bounds:qn,scrollLeft:Mn.left,scrollTop:Mn.top,scrollLeftMax:Mn.leftMax,scrollTopMax:Mn.topMax,scrollWidth:Mn.width,scrollHeight:Mn.height,scroll:Mn},yn.forEach(Rn,function(Ln){if(Ln in Dn.result)Dn.locals[Ln]=Dn.result[Ln];else throw"No such measurement as "+Ln}),yn.findNext(this,Dn)}}}}),Tn.addLeafExpression("closestExpr",function(vn,yn,fn){if(fn.matchToken("closest")){if(fn.matchToken("parent"))var An=!0;var Rn=null;if(fn.currentToken().type==="ATTRIBUTE_REF"){var Dn=vn.requireElement("attributeRefAccess",fn,null);Rn="["+Dn.attribute.name+"]"}if(Rn==null){var In=vn.requireElement("expression",fn);In.css==null?vn.raiseParseError(fn,"Expected a CSS expression"):Rn=In.css}if(fn.matchToken("to"))var qn=vn.parseElement("expression",fn);else var qn=vn.parseElement("implicitMeTarget",fn);var Mn={type:"closestExpr",parentSearch:An,expr:In,css:Rn,to:qn,args:[qn],op:function(Ln,Bn){if(Bn==null)return null;{let Wn=[];return yn.implicitLoop(Bn,function(jn){An?Wn.push(jn.parentElement?jn.parentElement.closest(Rn):null):Wn.push(jn.closest(Rn))}),yn.shouldAutoIterate(Bn)?Wn:Wn[0]}},evaluate:function(Ln){return yn.unifiedEval(this,Ln)}};return Dn?(Dn.root=Mn,Dn.args=[Mn],Dn):Mn}}),Tn.addCommand("go",function(vn,yn,fn){if(fn.matchToken("go")){if(fn.matchToken("back"))var An=!0;else if(fn.matchToken("to"),fn.matchToken("url")){var Rn=vn.requireElement("stringLike",fn),Dn=!0;if(fn.matchToken("in")){fn.requireToken("new"),fn.requireToken("window");var In=!0}}else{fn.matchToken("the");var qn=fn.matchAnyToken("top","middle","bottom"),Mn=fn.matchAnyToken("left","center","right");(qn||Mn)&&fn.requireToken("of");var Rn=vn.requireElement("unaryExpression",fn),Ln=fn.matchAnyOpToken("+","-");if(Ln){fn.pushFollow("px");try{var Bn=vn.requireElement("expression",fn)}finally{fn.popFollow()}}fn.matchToken("px");var Wn=fn.matchAnyToken("smoothly","instantly"),jn={block:"start",inline:"nearest"};qn&&(qn.value==="top"?jn.block="start":qn.value==="bottom"?jn.block="end":qn.value==="middle"&&(jn.block="center")),Mn&&(Mn.value==="left"?jn.inline="start":Mn.value==="center"?jn.inline="center":Mn.value==="right"&&(jn.inline="end")),Wn&&(Wn.value==="smoothly"?jn.behavior="smooth":Wn.value==="instantly"&&(jn.behavior="instant"))}var tn={target:Rn,args:[Rn,Bn],op:function(an,Kr,en){return An?window.history.back():Dn?Kr&&(In?window.open(Kr):window.location.href=Kr):yn.implicitLoop(Kr,function(un){if(un===window&&(un=document.body),Ln){let on=un.getBoundingClientRect(),cn=document.createElement("div"),sn=Ln.value==="+"?en:en*-1,pn=jn.inline=="start"||jn.inline=="end"?sn:0,En=jn.block=="start"||jn.block=="end"?sn:0;cn.style.position="absolute",cn.style.top=on.top+window.scrollY+En+"px",cn.style.left=on.left+window.scrollX+pn+"px",cn.style.height=on.height+"px",cn.style.width=on.width+"px",cn.style.zIndex=""+Number.MIN_SAFE_INTEGER,cn.style.opacity="0",document.body.appendChild(cn),setTimeout(function(){document.body.removeChild(cn)},100),un=cn}un.scrollIntoView(jn)}),yn.findNext(tn,an)}};return tn}}),Qr.conversions.dynamicResolvers.push(function(vn,yn){if(!(vn==="Values"||vn.indexOf("Values:")===0))return;var fn=vn.split(":")[1],An={},Rn=Tn.runtime.implicitLoop.bind(Tn.runtime);if(Rn(yn,function(qn){var Mn=In(qn);if(Mn!==void 0){An[Mn.name]=Mn.value;return}if(qn.querySelectorAll!=null){var Ln=qn.querySelectorAll("input,select,textarea");Ln.forEach(Dn)}}),fn){if(fn==="JSON")return JSON.stringify(An);if(fn==="Form")return new URLSearchParams(An).toString();throw"Unknown conversion: "+fn}else return An;function Dn(qn){var Mn=In(qn);if(Mn!=null){if(An[Mn.name]==null){An[Mn.name]=Mn.value;return}if(Array.isArray(An[Mn.name])&&Array.isArray(Mn.value)){An[Mn.name]=[].concat(An[Mn.name],Mn.value);return}}}function In(qn){try{var Mn={name:qn.name,value:qn.value};if(Mn.name==null||Mn.value==null||qn.type=="radio"&&qn.checked==!1)return;if(qn.type=="checkbox"&&(qn.checked==!1?Mn.value=void 0:typeof Mn.value=="string"&&(Mn.value=[Mn.value])),qn.type=="select-multiple"){var Ln=qn.querySelectorAll("option[selected]");Mn.value=[];for(var Bn=0;Bn<Ln.length;Bn++)Mn.value.push(Ln[Bn].value)}return Mn}catch{return}}}),Qr.conversions.HTML=function(vn){var yn=function(fn){if(fn instanceof Array)return fn.map(function(In){return yn(In)}).join("");if(fn instanceof HTMLElement)return fn.outerHTML;if(fn instanceof NodeList){for(var An="",Rn=0;Rn<fn.length;Rn++){var Dn=fn[Rn];Dn instanceof HTMLElement&&(An+=Dn.outerHTML)}return An}return fn.toString?fn.toString():""};return yn(vn)},Qr.conversions.Fragment=function(vn){var yn=document.createDocumentFragment();return Tn.runtime.implicitLoop(vn,function(fn){if(fn instanceof Node)yn.append(fn);else{var An=document.createElement("template");An.innerHTML=fn,yn.append(An.content)}}),yn}}let Kn=new ln,hi=Kn.lexer,ii=Kn.parser;function Ri(Tn,Zr){return Kn.evaluate(Tn,Zr)}function di(){var Tn=Array.from(Gr.document.querySelectorAll("script[type='text/hyperscript'][src]"));Promise.all(Tn.map(function(dn){return fetch(dn.src).then(function(wn){return wn.text()})})).then(dn=>dn.forEach(wn=>ei(wn))).then(()=>Zr(function(){hn(),Kn.processNode(document.documentElement),document.dispatchEvent(new Event("hyperscript:ready")),Gr.document.addEventListener("htmx:load",function(dn){Kn.processNode(dn.detail.elt)})}));function Zr(dn){document.readyState!=="loading"?setTimeout(dn):document.addEventListener("DOMContentLoaded",dn)}function nn(){var dn=document.querySelector('meta[name="htmx-config"]');return dn?zn(dn.content):null}function hn(){var dn=nn();dn&&Object.assign(Qr,dn)}}let ei=Object.assign(Ri,{config:Qr,use(Tn){Tn(ei)},internals:{lexer:hi,parser:ii,runtime:Kn,Lexer:Yr,Tokens:Jr,Parser:rn,Runtime:ln},ElementCollection:Pn,addFeature:ii.addFeature.bind(ii),addCommand:ii.addCommand.bind(ii),addLeafExpression:ii.addLeafExpression.bind(ii),addIndirectExpression:ii.addIndirectExpression.bind(ii),evaluate:Kn.evaluate.bind(Kn),parse:Kn.parse.bind(Kn),processNode:Kn.processNode.bind(Kn),version:"0.9.14",browserInit:di});return ei})});var go=ca(Oa()),yo=ca($a());function wo(Gr,Wr){var Qr=Object.keys(Gr);if(Object.getOwnPropertySymbols){var Yr=Object.getOwnPropertySymbols(Gr);Wr&&(Yr=Yr.filter(function(Jr){return Object.getOwnPropertyDescriptor(Gr,Jr).enumerable})),Qr.push.apply(Qr,Yr)}return Qr}function Hi(Gr){for(var Wr=1;Wr<arguments.length;Wr++){var Qr=arguments[Wr]!=null?arguments[Wr]:{};Wr%2?wo(Object(Qr),!0).forEach(function(Yr){os(Gr,Yr,Qr[Yr])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Gr,Object.getOwnPropertyDescriptors(Qr)):wo(Object(Qr)).forEach(function(Yr){Object.defineProperty(Gr,Yr,Object.getOwnPropertyDescriptor(Qr,Yr))})}return Gr}function qa(Gr){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?qa=function(Wr){return typeof Wr}:qa=function(Wr){return Wr&&typeof Symbol=="function"&&Wr.constructor===Symbol&&Wr!==Symbol.prototype?"symbol":typeof Wr},qa(Gr)}function os(Gr,Wr,Qr){return Wr in Gr?Object.defineProperty(Gr,Wr,{value:Qr,enumerable:!0,configurable:!0,writable:!0}):Gr[Wr]=Qr,Gr}function Gi(){return Gi=Object.assign||function(Gr){for(var Wr=1;Wr<arguments.length;Wr++){var Qr=arguments[Wr];for(var Yr in Qr)Object.prototype.hasOwnProperty.call(Qr,Yr)&&(Gr[Yr]=Qr[Yr])}return Gr},Gi.apply(this,arguments)}function ss(Gr,Wr){if(Gr==null)return{};var Qr={},Yr=Object.keys(Gr),Jr,rn;for(rn=0;rn<Yr.length;rn++)Jr=Yr[rn],!(Wr.indexOf(Jr)>=0)&&(Qr[Jr]=Gr[Jr]);return Qr}function ls(Gr,Wr){if(Gr==null)return{};var Qr=ss(Gr,Wr),Yr,Jr;if(Object.getOwnPropertySymbols){var rn=Object.getOwnPropertySymbols(Gr);for(Jr=0;Jr<rn.length;Jr++)Yr=rn[Jr],!(Wr.indexOf(Yr)>=0)&&Object.prototype.propertyIsEnumerable.call(Gr,Yr)&&(Qr[Yr]=Gr[Yr])}return Qr}var us="1.15.6";function Ui(Gr){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(Gr)}var ji=Ui(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ea=Ui(/Edge/i),ko=Ui(/firefox/i),pa=Ui(/safari/i)&&!Ui(/chrome/i)&&!Ui(/android/i),co=Ui(/iP(ad|od|hone)/i),Do=Ui(/chrome/i)&&Ui(/android/i),qo={capture:!1,passive:!1};function Zn(Gr,Wr,Qr){Gr.addEventListener(Wr,Qr,!ji&&qo)}function Jn(Gr,Wr,Qr){Gr.removeEventListener(Wr,Qr,!ji&&qo)}function _a(Gr,Wr){if(Wr){if(Wr[0]===">"&&(Wr=Wr.substring(1)),Gr)try{if(Gr.matches)return Gr.matches(Wr);if(Gr.msMatchesSelector)return Gr.msMatchesSelector(Wr);if(Gr.webkitMatchesSelector)return Gr.webkitMatchesSelector(Wr)}catch{return!1}return!1}}function Lo(Gr){return Gr.host&&Gr!==document&&Gr.host.nodeType?Gr.host:Gr.parentNode}function Fi(Gr,Wr,Qr,Yr){if(Gr){Qr=Qr||document;do{if(Wr!=null&&(Wr[0]===">"?Gr.parentNode===Qr&&_a(Gr,Wr):_a(Gr,Wr))||Yr&&Gr===Qr)return Gr;if(Gr===Qr)break}while(Gr=Lo(Gr))}return null}var So=/\s+/g;function Ai(Gr,Wr,Qr){if(Gr&&Wr)if(Gr.classList)Gr.classList[Qr?"add":"remove"](Wr);else{var Yr=(" "+Gr.className+" ").replace(So," ").replace(" "+Wr+" "," ");Gr.className=(Yr+(Qr?" "+Wr:"")).replace(So," ")}}function Qn(Gr,Wr,Qr){var Yr=Gr&&Gr.style;if(Yr){if(Qr===void 0)return document.defaultView&&document.defaultView.getComputedStyle?Qr=document.defaultView.getComputedStyle(Gr,""):Gr.currentStyle&&(Qr=Gr.currentStyle),Wr===void 0?Qr:Qr[Wr];!(Wr in Yr)&&Wr.indexOf("webkit")===-1&&(Wr="-webkit-"+Wr),Yr[Wr]=Qr+(typeof Qr=="string"?"":"px")}}function aa(Gr,Wr){var Qr="";if(typeof Gr=="string")Qr=Gr;else do{var Yr=Qn(Gr,"transform");Yr&&Yr!=="none"&&(Qr=Yr+" "+Qr)}while(!Wr&&(Gr=Gr.parentNode));var Jr=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return Jr&&new Jr(Qr)}function Mo(Gr,Wr,Qr){if(Gr){var Yr=Gr.getElementsByTagName(Wr),Jr=0,rn=Yr.length;if(Qr)for(;Jr<rn;Jr++)Qr(Yr[Jr],Jr);return Yr}return[]}function _i(){var Gr=document.scrollingElement;return Gr||document.documentElement}function mi(Gr,Wr,Qr,Yr,Jr){if(!(!Gr.getBoundingClientRect&&Gr!==window)){var rn,ln,mn,gn,xn,Cn,On;if(Gr!==window&&Gr.parentNode&&Gr!==_i()?(rn=Gr.getBoundingClientRect(),ln=rn.top,mn=rn.left,gn=rn.bottom,xn=rn.right,Cn=rn.height,On=rn.width):(ln=0,mn=0,gn=window.innerHeight,xn=window.innerWidth,Cn=window.innerHeight,On=window.innerWidth),(Wr||Qr)&&Gr!==window&&(Jr=Jr||Gr.parentNode,!ji))do if(Jr&&Jr.getBoundingClientRect&&(Qn(Jr,"transform")!=="none"||Qr&&Qn(Jr,"position")!=="static")){var Pn=Jr.getBoundingClientRect();ln-=Pn.top+parseInt(Qn(Jr,"border-top-width")),mn-=Pn.left+parseInt(Qn(Jr,"border-left-width")),gn=ln+rn.height,xn=mn+rn.width;break}while(Jr=Jr.parentNode);if(Yr&&Gr!==window){var Gn=aa(Jr||Gr),Xn=Gn&&Gn.a,zn=Gn&&Gn.d;Gn&&(ln/=zn,mn/=Xn,On/=Xn,Cn/=zn,gn=ln+Cn,xn=mn+On)}return{top:ln,left:mn,bottom:gn,right:xn,width:On,height:Cn}}}function Co(Gr,Wr,Qr){for(var Yr=Qi(Gr,!0),Jr=mi(Gr)[Wr];Yr;){var rn=mi(Yr)[Qr],ln=void 0;if(Qr==="top"||Qr==="left"?ln=Jr>=rn:ln=Jr<=rn,!ln)return Yr;if(Yr===_i())break;Yr=Qi(Yr,!1)}return!1}function oa(Gr,Wr,Qr,Yr){for(var Jr=0,rn=0,ln=Gr.children;rn<ln.length;){if(ln[rn].style.display!=="none"&&ln[rn]!==Vn.ghost&&(Yr||ln[rn]!==Vn.dragged)&&Fi(ln[rn],Qr.draggable,Gr,!1)){if(Jr===Wr)return ln[rn];Jr++}rn++}return null}function fo(Gr,Wr){for(var Qr=Gr.lastElementChild;Qr&&(Qr===Vn.ghost||Qn(Qr,"display")==="none"||Wr&&!_a(Qr,Wr));)Qr=Qr.previousElementSibling;return Qr||null}function qi(Gr,Wr){var Qr=0;if(!Gr||!Gr.parentNode)return-1;for(;Gr=Gr.previousElementSibling;)Gr.nodeName.toUpperCase()!=="TEMPLATE"&&Gr!==Vn.clone&&(!Wr||_a(Gr,Wr))&&Qr++;return Qr}function Oo(Gr){var Wr=0,Qr=0,Yr=_i();if(Gr)do{var Jr=aa(Gr),rn=Jr.a,ln=Jr.d;Wr+=Gr.scrollLeft*rn,Qr+=Gr.scrollTop*ln}while(Gr!==Yr&&(Gr=Gr.parentNode));return[Wr,Qr]}function cs(Gr,Wr){for(var Qr in Gr)if(Gr.hasOwnProperty(Qr)){for(var Yr in Wr)if(Wr.hasOwnProperty(Yr)&&Wr[Yr]===Gr[Qr][Yr])return Number(Qr)}return-1}function Qi(Gr,Wr){if(!Gr||!Gr.getBoundingClientRect)return _i();var Qr=Gr,Yr=!1;do if(Qr.clientWidth<Qr.scrollWidth||Qr.clientHeight<Qr.scrollHeight){var Jr=Qn(Qr);if(Qr.clientWidth<Qr.scrollWidth&&(Jr.overflowX=="auto"||Jr.overflowX=="scroll")||Qr.clientHeight<Qr.scrollHeight&&(Jr.overflowY=="auto"||Jr.overflowY=="scroll")){if(!Qr.getBoundingClientRect||Qr===document.body)return _i();if(Yr||Wr)return Qr;Yr=!0}}while(Qr=Qr.parentNode);return _i()}function fs(Gr,Wr){if(Gr&&Wr)for(var Qr in Wr)Wr.hasOwnProperty(Qr)&&(Gr[Qr]=Wr[Qr]);return Gr}function Ka(Gr,Wr){return Math.round(Gr.top)===Math.round(Wr.top)&&Math.round(Gr.left)===Math.round(Wr.left)&&Math.round(Gr.height)===Math.round(Wr.height)&&Math.round(Gr.width)===Math.round(Wr.width)}var ma;function Po(Gr,Wr){return function(){if(!ma){var Qr=arguments,Yr=this;Qr.length===1?Gr.call(Yr,Qr[0]):Gr.apply(Yr,Qr),ma=setTimeout(function(){ma=void 0},Wr)}}}function hs(){clearTimeout(ma),ma=void 0}function Fo(Gr,Wr,Qr){Gr.scrollLeft+=Wr,Gr.scrollTop+=Qr}function _o(Gr){var Wr=window.Polymer,Qr=window.jQuery||window.Zepto;return Wr&&Wr.dom?Wr.dom(Gr).cloneNode(!0):Qr?Qr(Gr).clone(!0)[0]:Gr.cloneNode(!0)}function Ho(Gr,Wr,Qr){var Yr={};return Array.from(Gr.children).forEach(function(Jr){var rn,ln,mn,gn;if(!(!Fi(Jr,Wr.draggable,Gr,!1)||Jr.animated||Jr===Qr)){var xn=mi(Jr);Yr.left=Math.min((rn=Yr.left)!==null&&rn!==void 0?rn:1/0,xn.left),Yr.top=Math.min((ln=Yr.top)!==null&&ln!==void 0?ln:1/0,xn.top),Yr.right=Math.max((mn=Yr.right)!==null&&mn!==void 0?mn:-1/0,xn.right),Yr.bottom=Math.max((gn=Yr.bottom)!==null&&gn!==void 0?gn:-1/0,xn.bottom)}}),Yr.width=Yr.right-Yr.left,Yr.height=Yr.bottom-Yr.top,Yr.x=Yr.left,Yr.y=Yr.top,Yr}var ki="Sortable"+new Date().getTime();function ds(){var Gr=[],Wr;return{captureAnimationState:function(){if(Gr=[],!!this.options.animation){var Yr=[].slice.call(this.el.children);Yr.forEach(function(Jr){if(!(Qn(Jr,"display")==="none"||Jr===Vn.ghost)){Gr.push({target:Jr,rect:mi(Jr)});var rn=Hi({},Gr[Gr.length-1].rect);if(Jr.thisAnimationDuration){var ln=aa(Jr,!0);ln&&(rn.top-=ln.f,rn.left-=ln.e)}Jr.fromRect=rn}})}},addAnimationState:function(Yr){Gr.push(Yr)},removeAnimationState:function(Yr){Gr.splice(cs(Gr,{target:Yr}),1)},animateAll:function(Yr){var Jr=this;if(!this.options.animation){clearTimeout(Wr),typeof Yr=="function"&&Yr();return}var rn=!1,ln=0;Gr.forEach(function(mn){var gn=0,xn=mn.target,Cn=xn.fromRect,On=mi(xn),Pn=xn.prevFromRect,Gn=xn.prevToRect,Xn=mn.rect,zn=aa(xn,!0);zn&&(On.top-=zn.f,On.left-=zn.e),xn.toRect=On,xn.thisAnimationDuration&&Ka(Pn,On)&&!Ka(Cn,On)&&(Xn.top-On.top)/(Xn.left-On.left)===(Cn.top-On.top)/(Cn.left-On.left)&&(gn=ms(Xn,Pn,Gn,Jr.options)),Ka(On,Cn)||(xn.prevFromRect=Cn,xn.prevToRect=On,gn||(gn=Jr.options.animation),Jr.animate(xn,Xn,On,gn)),gn&&(rn=!0,ln=Math.max(ln,gn),clearTimeout(xn.animationResetTimer),xn.animationResetTimer=setTimeout(function(){xn.animationTime=0,xn.prevFromRect=null,xn.fromRect=null,xn.prevToRect=null,xn.thisAnimationDuration=null},gn),xn.thisAnimationDuration=gn)}),clearTimeout(Wr),rn?Wr=setTimeout(function(){typeof Yr=="function"&&Yr()},ln):typeof Yr=="function"&&Yr(),Gr=[]},animate:function(Yr,Jr,rn,ln){if(ln){Qn(Yr,"transition",""),Qn(Yr,"transform","");var mn=aa(this.el),gn=mn&&mn.a,xn=mn&&mn.d,Cn=(Jr.left-rn.left)/(gn||1),On=(Jr.top-rn.top)/(xn||1);Yr.animatingX=!!Cn,Yr.animatingY=!!On,Qn(Yr,"transform","translate3d("+Cn+"px,"+On+"px,0)"),this.forRepaintDummy=ps(Yr),Qn(Yr,"transition","transform "+ln+"ms"+(this.options.easing?" "+this.options.easing:"")),Qn(Yr,"transform","translate3d(0,0,0)"),typeof Yr.animated=="number"&&clearTimeout(Yr.animated),Yr.animated=setTimeout(function(){Qn(Yr,"transition",""),Qn(Yr,"transform",""),Yr.animated=!1,Yr.animatingX=!1,Yr.animatingY=!1},ln)}}}}function ps(Gr){return Gr.offsetWidth}function ms(Gr,Wr,Qr,Yr){return Math.sqrt(Math.pow(Wr.top-Gr.top,2)+Math.pow(Wr.left-Gr.left,2))/Math.sqrt(Math.pow(Wr.top-Qr.top,2)+Math.pow(Wr.left-Qr.left,2))*Yr.animation}var ta=[],Ja={initializeByDefault:!0},ba={mount:function(Wr){for(var Qr in Ja)Ja.hasOwnProperty(Qr)&&!(Qr in Wr)&&(Wr[Qr]=Ja[Qr]);ta.forEach(function(Yr){if(Yr.pluginName===Wr.pluginName)throw"Sortable: Cannot mount plugin ".concat(Wr.pluginName," more than once")}),ta.push(Wr)},pluginEvent:function(Wr,Qr,Yr){var Jr=this;this.eventCanceled=!1,Yr.cancel=function(){Jr.eventCanceled=!0};var rn=Wr+"Global";ta.forEach(function(ln){Qr[ln.pluginName]&&(Qr[ln.pluginName][rn]&&Qr[ln.pluginName][rn](Hi({sortable:Qr},Yr)),Qr.options[ln.pluginName]&&Qr[ln.pluginName][Wr]&&Qr[ln.pluginName][Wr](Hi({sortable:Qr},Yr)))})},initializePlugins:function(Wr,Qr,Yr,Jr){ta.forEach(function(mn){var gn=mn.pluginName;if(!(!Wr.options[gn]&&!mn.initializeByDefault)){var xn=new mn(Wr,Qr,Wr.options);xn.sortable=Wr,xn.options=Wr.options,Wr[gn]=xn,Gi(Yr,xn.defaults)}});for(var rn in Wr.options)if(Wr.options.hasOwnProperty(rn)){var ln=this.modifyOption(Wr,rn,Wr.options[rn]);typeof ln<"u"&&(Wr.options[rn]=ln)}},getEventProperties:function(Wr,Qr){var Yr={};return ta.forEach(function(Jr){typeof Jr.eventProperties=="function"&&Gi(Yr,Jr.eventProperties.call(Qr[Jr.pluginName],Wr))}),Yr},modifyOption:function(Wr,Qr,Yr){var Jr;return ta.forEach(function(rn){Wr[rn.pluginName]&&rn.optionListeners&&typeof rn.optionListeners[Qr]=="function"&&(Jr=rn.optionListeners[Qr].call(Wr[rn.pluginName],Yr))}),Jr}};function vs(Gr){var Wr=Gr.sortable,Qr=Gr.rootEl,Yr=Gr.name,Jr=Gr.targetEl,rn=Gr.cloneEl,ln=Gr.toEl,mn=Gr.fromEl,gn=Gr.oldIndex,xn=Gr.newIndex,Cn=Gr.oldDraggableIndex,On=Gr.newDraggableIndex,Pn=Gr.originalEvent,Gn=Gr.putSortable,Xn=Gr.extraEventProperties;if(Wr=Wr||Qr&&Qr[ki],!!Wr){var zn,ni=Wr.options,gi="on"+Yr.charAt(0).toUpperCase()+Yr.substr(1);window.CustomEvent&&!ji&&!Ea?zn=new CustomEvent(Yr,{bubbles:!0,cancelable:!0}):(zn=document.createEvent("Event"),zn.initEvent(Yr,!0,!0)),zn.to=ln||Qr,zn.from=mn||Qr,zn.item=Jr||Qr,zn.clone=rn,zn.oldIndex=gn,zn.newIndex=xn,zn.oldDraggableIndex=Cn,zn.newDraggableIndex=On,zn.originalEvent=Pn,zn.pullMode=Gn?Gn.lastPutMode:void 0;var ci=Hi(Hi({},Xn),ba.getEventProperties(Yr,Wr));for(var ai in ci)zn[ai]=ci[ai];Qr&&Qr.dispatchEvent(zn),ni[gi]&&ni[gi].call(Wr,zn)}}var gs=["evt"],wi=function(Wr,Qr){var Yr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Jr=Yr.evt,rn=ls(Yr,gs);ba.pluginEvent.bind(Vn)(Wr,Qr,Hi({dragEl:Fn,parentEl:fi,ghostEl:Yn,rootEl:li,nextEl:Ki,lastDownEl:La,cloneEl:ui,cloneHidden:Wi,dragStarted:fa,putSortable:yi,activeSortable:Vn.active,originalEvent:Jr,oldIndex:ia,oldDraggableIndex:va,newIndex:Ii,newDraggableIndex:zi,hideGhostForTarget:jo,unhideGhostForTarget:Xo,cloneNowHidden:function(){Wi=!0},cloneNowShown:function(){Wi=!1},dispatchSortableEvent:function(mn){xi({sortable:Qr,name:mn,originalEvent:Jr})}},rn))};function xi(Gr){vs(Hi({putSortable:yi,cloneEl:ui,targetEl:Fn,rootEl:li,oldIndex:ia,oldDraggableIndex:va,newIndex:Ii,newDraggableIndex:zi},Gr))}var Fn,fi,Yn,li,Ki,La,ui,Wi,ia,Ii,va,zi,Ia,yi,na=!1,Ha=!1,Ba=[],Yi,Pi,Za,eo,Ao,Io,fa,ra,ga,ya=!1,Ra=!1,Ma,Ti,to=[],oo=!1,Ua=[],ja=typeof document<"u",Na=co,Ro=Ea||ji?"cssFloat":"float",ys=ja&&!Do&&!co&&"draggable"in document.createElement("div"),Bo=function(){if(ja){if(ji)return!1;var Gr=document.createElement("x");return Gr.style.cssText="pointer-events:auto",Gr.style.pointerEvents==="auto"}}(),Uo=function(Wr,Qr){var Yr=Qn(Wr),Jr=parseInt(Yr.width)-parseInt(Yr.paddingLeft)-parseInt(Yr.paddingRight)-parseInt(Yr.borderLeftWidth)-parseInt(Yr.borderRightWidth),rn=oa(Wr,0,Qr),ln=oa(Wr,1,Qr),mn=rn&&Qn(rn),gn=ln&&Qn(ln),xn=mn&&parseInt(mn.marginLeft)+parseInt(mn.marginRight)+mi(rn).width,Cn=gn&&parseInt(gn.marginLeft)+parseInt(gn.marginRight)+mi(ln).width;if(Yr.display==="flex")return Yr.flexDirection==="column"||Yr.flexDirection==="column-reverse"?"vertical":"horizontal";if(Yr.display==="grid")return Yr.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(rn&&mn.float&&mn.float!=="none"){var On=mn.float==="left"?"left":"right";return ln&&(gn.clear==="both"||gn.clear===On)?"vertical":"horizontal"}return rn&&(mn.display==="block"||mn.display==="flex"||mn.display==="table"||mn.display==="grid"||xn>=Jr&&Yr[Ro]==="none"||ln&&Yr[Ro]==="none"&&xn+Cn>Jr)?"vertical":"horizontal"},Es=function(Wr,Qr,Yr){var Jr=Yr?Wr.left:Wr.top,rn=Yr?Wr.right:Wr.bottom,ln=Yr?Wr.width:Wr.height,mn=Yr?Qr.left:Qr.top,gn=Yr?Qr.right:Qr.bottom,xn=Yr?Qr.width:Qr.height;return Jr===mn||rn===gn||Jr+ln/2===mn+xn/2},bs=function(Wr,Qr){var Yr;return Ba.some(function(Jr){var rn=Jr[ki].options.emptyInsertThreshold;if(!(!rn||fo(Jr))){var ln=mi(Jr),mn=Wr>=ln.left-rn&&Wr<=ln.right+rn,gn=Qr>=ln.top-rn&&Qr<=ln.bottom+rn;if(mn&&gn)return Yr=Jr}}),Yr},Go=function(Wr){function Qr(rn,ln){return function(mn,gn,xn,Cn){var On=mn.options.group.name&&gn.options.group.name&&mn.options.group.name===gn.options.group.name;if(rn==null&&(ln||On))return!0;if(rn==null||rn===!1)return!1;if(ln&&rn==="clone")return rn;if(typeof rn=="function")return Qr(rn(mn,gn,xn,Cn),ln)(mn,gn,xn,Cn);var Pn=(ln?mn:gn).options.group.name;return rn===!0||typeof rn=="string"&&rn===Pn||rn.join&&rn.indexOf(Pn)>-1}}var Yr={},Jr=Wr.group;(!Jr||qa(Jr)!="object")&&(Jr={name:Jr}),Yr.name=Jr.name,Yr.checkPull=Qr(Jr.pull,!0),Yr.checkPut=Qr(Jr.put),Yr.revertClone=Jr.revertClone,Wr.group=Yr},jo=function(){!Bo&&Yn&&Qn(Yn,"display","none")},Xo=function(){!Bo&&Yn&&Qn(Yn,"display","")};ja&&!Do&&document.addEventListener("click",function(Gr){if(Ha)return Gr.preventDefault(),Gr.stopPropagation&&Gr.stopPropagation(),Gr.stopImmediatePropagation&&Gr.stopImmediatePropagation(),Ha=!1,!1},!0);var $i=function(Wr){if(Fn){Wr=Wr.touches?Wr.touches[0]:Wr;var Qr=bs(Wr.clientX,Wr.clientY);if(Qr){var Yr={};for(var Jr in Wr)Wr.hasOwnProperty(Jr)&&(Yr[Jr]=Wr[Jr]);Yr.target=Yr.rootEl=Qr,Yr.preventDefault=void 0,Yr.stopPropagation=void 0,Qr[ki]._onDragOver(Yr)}}},Ts=function(Wr){Fn&&Fn.parentNode[ki]._isOutsideThisEl(Wr.target)};function Vn(Gr,Wr){if(!(Gr&&Gr.nodeType&&Gr.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(Gr));this.el=Gr,this.options=Wr=Gi({},Wr),Gr[ki]=this;var Qr={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(Gr.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Uo(Gr,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(ln,mn){ln.setData("Text",mn.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Vn.supportPointer!==!1&&"PointerEvent"in window&&(!pa||co),emptyInsertThreshold:5};ba.initializePlugins(this,Gr,Qr);for(var Yr in Qr)!(Yr in Wr)&&(Wr[Yr]=Qr[Yr]);Go(Wr);for(var Jr in this)Jr.charAt(0)==="_"&&typeof this[Jr]=="function"&&(this[Jr]=this[Jr].bind(this));this.nativeDraggable=Wr.forceFallback?!1:ys,this.nativeDraggable&&(this.options.touchStartThreshold=1),Wr.supportPointer?Zn(Gr,"pointerdown",this._onTapStart):(Zn(Gr,"mousedown",this._onTapStart),Zn(Gr,"touchstart",this._onTapStart)),this.nativeDraggable&&(Zn(Gr,"dragover",this),Zn(Gr,"dragenter",this)),Ba.push(this.el),Wr.store&&Wr.store.get&&this.sort(Wr.store.get(this)||[]),Gi(this,ds())}Vn.prototype={constructor:Vn,_isOutsideThisEl:function(Wr){!this.el.contains(Wr)&&Wr!==this.el&&(ra=null)},_getDirection:function(Wr,Qr){return typeof this.options.direction=="function"?this.options.direction.call(this,Wr,Qr,Fn):this.options.direction},_onTapStart:function(Wr){if(Wr.cancelable){var Qr=this,Yr=this.el,Jr=this.options,rn=Jr.preventOnFilter,ln=Wr.type,mn=Wr.touches&&Wr.touches[0]||Wr.pointerType&&Wr.pointerType==="touch"&&Wr,gn=(mn||Wr).target,xn=Wr.target.shadowRoot&&(Wr.path&&Wr.path[0]||Wr.composedPath&&Wr.composedPath()[0])||gn,Cn=Jr.filter;if(Is(Yr),!Fn&&!(/mousedown|pointerdown/.test(ln)&&Wr.button!==0||Jr.disabled)&&!xn.isContentEditable&&!(!this.nativeDraggable&&pa&&gn&&gn.tagName.toUpperCase()==="SELECT")&&(gn=Fi(gn,Jr.draggable,Yr,!1),!(gn&&gn.animated)&&La!==gn)){if(ia=qi(gn),va=qi(gn,Jr.draggable),typeof Cn=="function"){if(Cn.call(this,Wr,gn,this)){xi({sortable:Qr,rootEl:xn,name:"filter",targetEl:gn,toEl:Yr,fromEl:Yr}),wi("filter",Qr,{evt:Wr}),rn&&Wr.preventDefault();return}}else if(Cn&&(Cn=Cn.split(",").some(function(On){if(On=Fi(xn,On.trim(),Yr,!1),On)return xi({sortable:Qr,rootEl:On,name:"filter",targetEl:gn,fromEl:Yr,toEl:Yr}),wi("filter",Qr,{evt:Wr}),!0}),Cn)){rn&&Wr.preventDefault();return}Jr.handle&&!Fi(xn,Jr.handle,Yr,!1)||this._prepareDragStart(Wr,mn,gn)}}},_prepareDragStart:function(Wr,Qr,Yr){var Jr=this,rn=Jr.el,ln=Jr.options,mn=rn.ownerDocument,gn;if(Yr&&!Fn&&Yr.parentNode===rn){var xn=mi(Yr);if(li=rn,Fn=Yr,fi=Fn.parentNode,Ki=Fn.nextSibling,La=Yr,Ia=ln.group,Vn.dragged=Fn,Yi={target:Fn,clientX:(Qr||Wr).clientX,clientY:(Qr||Wr).clientY},Ao=Yi.clientX-xn.left,Io=Yi.clientY-xn.top,this._lastX=(Qr||Wr).clientX,this._lastY=(Qr||Wr).clientY,Fn.style["will-change"]="all",gn=function(){if(wi("delayEnded",Jr,{evt:Wr}),Vn.eventCanceled){Jr._onDrop();return}Jr._disableDelayedDragEvents(),!ko&&Jr.nativeDraggable&&(Fn.draggable=!0),Jr._triggerDragStart(Wr,Qr),xi({sortable:Jr,name:"choose",originalEvent:Wr}),Ai(Fn,ln.chosenClass,!0)},ln.ignore.split(",").forEach(function(Cn){Mo(Fn,Cn.trim(),ro)}),Zn(mn,"dragover",$i),Zn(mn,"mousemove",$i),Zn(mn,"touchmove",$i),ln.supportPointer?(Zn(mn,"pointerup",Jr._onDrop),!this.nativeDraggable&&Zn(mn,"pointercancel",Jr._onDrop)):(Zn(mn,"mouseup",Jr._onDrop),Zn(mn,"touchend",Jr._onDrop),Zn(mn,"touchcancel",Jr._onDrop)),ko&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Fn.draggable=!0),wi("delayStart",this,{evt:Wr}),ln.delay&&(!ln.delayOnTouchOnly||Qr)&&(!this.nativeDraggable||!(Ea||ji))){if(Vn.eventCanceled){this._onDrop();return}ln.supportPointer?(Zn(mn,"pointerup",Jr._disableDelayedDrag),Zn(mn,"pointercancel",Jr._disableDelayedDrag)):(Zn(mn,"mouseup",Jr._disableDelayedDrag),Zn(mn,"touchend",Jr._disableDelayedDrag),Zn(mn,"touchcancel",Jr._disableDelayedDrag)),Zn(mn,"mousemove",Jr._delayedDragTouchMoveHandler),Zn(mn,"touchmove",Jr._delayedDragTouchMoveHandler),ln.supportPointer&&Zn(mn,"pointermove",Jr._delayedDragTouchMoveHandler),Jr._dragStartTimer=setTimeout(gn,ln.delay)}else gn()}},_delayedDragTouchMoveHandler:function(Wr){var Qr=Wr.touches?Wr.touches[0]:Wr;Math.max(Math.abs(Qr.clientX-this._lastX),Math.abs(Qr.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Fn&&ro(Fn),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var Wr=this.el.ownerDocument;Jn(Wr,"mouseup",this._disableDelayedDrag),Jn(Wr,"touchend",this._disableDelayedDrag),Jn(Wr,"touchcancel",this._disableDelayedDrag),Jn(Wr,"pointerup",this._disableDelayedDrag),Jn(Wr,"pointercancel",this._disableDelayedDrag),Jn(Wr,"mousemove",this._delayedDragTouchMoveHandler),Jn(Wr,"touchmove",this._delayedDragTouchMoveHandler),Jn(Wr,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(Wr,Qr){Qr=Qr||Wr.pointerType=="touch"&&Wr,!this.nativeDraggable||Qr?this.options.supportPointer?Zn(document,"pointermove",this._onTouchMove):Qr?Zn(document,"touchmove",this._onTouchMove):Zn(document,"mousemove",this._onTouchMove):(Zn(Fn,"dragend",this),Zn(li,"dragstart",this._onDragStart));try{document.selection?Pa(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(Wr,Qr){if(na=!1,li&&Fn){wi("dragStarted",this,{evt:Qr}),this.nativeDraggable&&Zn(document,"dragover",Ts);var Yr=this.options;!Wr&&Ai(Fn,Yr.dragClass,!1),Ai(Fn,Yr.ghostClass,!0),Vn.active=this,Wr&&this._appendGhost(),xi({sortable:this,name:"start",originalEvent:Qr})}else this._nulling()},_emulateDragOver:function(){if(Pi){this._lastX=Pi.clientX,this._lastY=Pi.clientY,jo();for(var Wr=document.elementFromPoint(Pi.clientX,Pi.clientY),Qr=Wr;Wr&&Wr.shadowRoot&&(Wr=Wr.shadowRoot.elementFromPoint(Pi.clientX,Pi.clientY),Wr!==Qr);)Qr=Wr;if(Fn.parentNode[ki]._isOutsideThisEl(Wr),Qr)do{if(Qr[ki]){var Yr=void 0;if(Yr=Qr[ki]._onDragOver({clientX:Pi.clientX,clientY:Pi.clientY,target:Wr,rootEl:Qr}),Yr&&!this.options.dragoverBubble)break}Wr=Qr}while(Qr=Lo(Qr));Xo()}},_onTouchMove:function(Wr){if(Yi){var Qr=this.options,Yr=Qr.fallbackTolerance,Jr=Qr.fallbackOffset,rn=Wr.touches?Wr.touches[0]:Wr,ln=Yn&&aa(Yn,!0),mn=Yn&&ln&&ln.a,gn=Yn&&ln&&ln.d,xn=Na&&Ti&&Oo(Ti),Cn=(rn.clientX-Yi.clientX+Jr.x)/(mn||1)+(xn?xn[0]-to[0]:0)/(mn||1),On=(rn.clientY-Yi.clientY+Jr.y)/(gn||1)+(xn?xn[1]-to[1]:0)/(gn||1);if(!Vn.active&&!na){if(Yr&&Math.max(Math.abs(rn.clientX-this._lastX),Math.abs(rn.clientY-this._lastY))<Yr)return;this._onDragStart(Wr,!0)}if(Yn){ln?(ln.e+=Cn-(Za||0),ln.f+=On-(eo||0)):ln={a:1,b:0,c:0,d:1,e:Cn,f:On};var Pn="matrix(".concat(ln.a,",").concat(ln.b,",").concat(ln.c,",").concat(ln.d,",").concat(ln.e,",").concat(ln.f,")");Qn(Yn,"webkitTransform",Pn),Qn(Yn,"mozTransform",Pn),Qn(Yn,"msTransform",Pn),Qn(Yn,"transform",Pn),Za=Cn,eo=On,Pi=rn}Wr.cancelable&&Wr.preventDefault()}},_appendGhost:function(){if(!Yn){var Wr=this.options.fallbackOnBody?document.body:li,Qr=mi(Fn,!0,Na,!0,Wr),Yr=this.options;if(Na){for(Ti=Wr;Qn(Ti,"position")==="static"&&Qn(Ti,"transform")==="none"&&Ti!==document;)Ti=Ti.parentNode;Ti!==document.body&&Ti!==document.documentElement?(Ti===document&&(Ti=_i()),Qr.top+=Ti.scrollTop,Qr.left+=Ti.scrollLeft):Ti=_i(),to=Oo(Ti)}Yn=Fn.cloneNode(!0),Ai(Yn,Yr.ghostClass,!1),Ai(Yn,Yr.fallbackClass,!0),Ai(Yn,Yr.dragClass,!0),Qn(Yn,"transition",""),Qn(Yn,"transform",""),Qn(Yn,"box-sizing","border-box"),Qn(Yn,"margin",0),Qn(Yn,"top",Qr.top),Qn(Yn,"left",Qr.left),Qn(Yn,"width",Qr.width),Qn(Yn,"height",Qr.height),Qn(Yn,"opacity","0.8"),Qn(Yn,"position",Na?"absolute":"fixed"),Qn(Yn,"zIndex","100000"),Qn(Yn,"pointerEvents","none"),Vn.ghost=Yn,Wr.appendChild(Yn),Qn(Yn,"transform-origin",Ao/parseInt(Yn.style.width)*100+"% "+Io/parseInt(Yn.style.height)*100+"%")}},_onDragStart:function(Wr,Qr){var Yr=this,Jr=Wr.dataTransfer,rn=Yr.options;if(wi("dragStart",this,{evt:Wr}),Vn.eventCanceled){this._onDrop();return}wi("setupClone",this),Vn.eventCanceled||(ui=_o(Fn),ui.removeAttribute("id"),ui.draggable=!1,ui.style["will-change"]="",this._hideClone(),Ai(ui,this.options.chosenClass,!1),Vn.clone=ui),Yr.cloneId=Pa(function(){wi("clone",Yr),!Vn.eventCanceled&&(Yr.options.removeCloneOnHide||li.insertBefore(ui,Fn),Yr._hideClone(),xi({sortable:Yr,name:"clone"}))}),!Qr&&Ai(Fn,rn.dragClass,!0),Qr?(Ha=!0,Yr._loopId=setInterval(Yr._emulateDragOver,50)):(Jn(document,"mouseup",Yr._onDrop),Jn(document,"touchend",Yr._onDrop),Jn(document,"touchcancel",Yr._onDrop),Jr&&(Jr.effectAllowed="move",rn.setData&&rn.setData.call(Yr,Jr,Fn)),Zn(document,"drop",Yr),Qn(Fn,"transform","translateZ(0)")),na=!0,Yr._dragStartId=Pa(Yr._dragStarted.bind(Yr,Qr,Wr)),Zn(document,"selectstart",Yr),fa=!0,window.getSelection().removeAllRanges(),pa&&Qn(document.body,"user-select","none")},_onDragOver:function(Wr){var Qr=this.el,Yr=Wr.target,Jr,rn,ln,mn=this.options,gn=mn.group,xn=Vn.active,Cn=Ia===gn,On=mn.sort,Pn=yi||xn,Gn,Xn=this,zn=!1;if(oo)return;function ni(fn,An){wi(fn,Xn,Hi({evt:Wr,isOwner:Cn,axis:Gn?"vertical":"horizontal",revert:ln,dragRect:Jr,targetRect:rn,canSort:On,fromSortable:Pn,target:Yr,completed:ci,onMove:function(Dn,In){return Da(li,Qr,Fn,Jr,Dn,mi(Dn),Wr,In)},changed:ai},An))}function gi(){ni("dragOverAnimationCapture"),Xn.captureAnimationState(),Xn!==Pn&&Pn.captureAnimationState()}function ci(fn){return ni("dragOverCompleted",{insertion:fn}),fn&&(Cn?xn._hideClone():xn._showClone(Xn),Xn!==Pn&&(Ai(Fn,yi?yi.options.ghostClass:xn.options.ghostClass,!1),Ai(Fn,mn.ghostClass,!0)),yi!==Xn&&Xn!==Vn.active?yi=Xn:Xn===Vn.active&&yi&&(yi=null),Pn===Xn&&(Xn._ignoreWhileAnimating=Yr),Xn.animateAll(function(){ni("dragOverAnimationComplete"),Xn._ignoreWhileAnimating=null}),Xn!==Pn&&(Pn.animateAll(),Pn._ignoreWhileAnimating=null)),(Yr===Fn&&!Fn.animated||Yr===Qr&&!Yr.animated)&&(ra=null),!mn.dragoverBubble&&!Wr.rootEl&&Yr!==document&&(Fn.parentNode[ki]._isOutsideThisEl(Wr.target),!fn&&$i(Wr)),!mn.dragoverBubble&&Wr.stopPropagation&&Wr.stopPropagation(),zn=!0}function ai(){Ii=qi(Fn),zi=qi(Fn,mn.draggable),xi({sortable:Xn,name:"change",toEl:Qr,newIndex:Ii,newDraggableIndex:zi,originalEvent:Wr})}if(Wr.preventDefault!==void 0&&Wr.cancelable&&Wr.preventDefault(),Yr=Fi(Yr,mn.draggable,Qr,!0),ni("dragOver"),Vn.eventCanceled)return zn;if(Fn.contains(Wr.target)||Yr.animated&&Yr.animatingX&&Yr.animatingY||Xn._ignoreWhileAnimating===Yr)return ci(!1);if(Ha=!1,xn&&!mn.disabled&&(Cn?On||(ln=fi!==li):yi===this||(this.lastPutMode=Ia.checkPull(this,xn,Fn,Wr))&&gn.checkPut(this,xn,Fn,Wr))){if(Gn=this._getDirection(Wr,Yr)==="vertical",Jr=mi(Fn),ni("dragOverValid"),Vn.eventCanceled)return zn;if(ln)return fi=li,gi(),this._hideClone(),ni("revert"),Vn.eventCanceled||(Ki?li.insertBefore(Fn,Ki):li.appendChild(Fn)),ci(!0);var Kn=fo(Qr,mn.draggable);if(!Kn||Ss(Wr,Gn,this)&&!Kn.animated){if(Kn===Fn)return ci(!1);if(Kn&&Qr===Wr.target&&(Yr=Kn),Yr&&(rn=mi(Yr)),Da(li,Qr,Fn,Jr,Yr,rn,Wr,!!Yr)!==!1)return gi(),Kn&&Kn.nextSibling?Qr.insertBefore(Fn,Kn.nextSibling):Qr.appendChild(Fn),fi=Qr,ai(),ci(!0)}else if(Kn&&ks(Wr,Gn,this)){var hi=oa(Qr,0,mn,!0);if(hi===Fn)return ci(!1);if(Yr=hi,rn=mi(Yr),Da(li,Qr,Fn,Jr,Yr,rn,Wr,!1)!==!1)return gi(),Qr.insertBefore(Fn,hi),fi=Qr,ai(),ci(!0)}else if(Yr.parentNode===Qr){rn=mi(Yr);var ii=0,Ri,di=Fn.parentNode!==Qr,ei=!Es(Fn.animated&&Fn.toRect||Jr,Yr.animated&&Yr.toRect||rn,Gn),Tn=Gn?"top":"left",Zr=Co(Yr,"top","top")||Co(Fn,"top","top"),nn=Zr?Zr.scrollTop:void 0;ra!==Yr&&(Ri=rn[Tn],ya=!1,Ra=!ei&&mn.invertSwap||di),ii=Cs(Wr,Yr,rn,Gn,ei?1:mn.swapThreshold,mn.invertedSwapThreshold==null?mn.swapThreshold:mn.invertedSwapThreshold,Ra,ra===Yr);var hn;if(ii!==0){var dn=qi(Fn);do dn-=ii,hn=fi.children[dn];while(hn&&(Qn(hn,"display")==="none"||hn===Yn))}if(ii===0||hn===Yr)return ci(!1);ra=Yr,ga=ii;var wn=Yr.nextElementSibling,vn=!1;vn=ii===1;var yn=Da(li,Qr,Fn,Jr,Yr,rn,Wr,vn);if(yn!==!1)return(yn===1||yn===-1)&&(vn=yn===1),oo=!0,setTimeout(ws,30),gi(),vn&&!wn?Qr.appendChild(Fn):Yr.parentNode.insertBefore(Fn,vn?wn:Yr),Zr&&Fo(Zr,0,nn-Zr.scrollTop),fi=Fn.parentNode,Ri!==void 0&&!Ra&&(Ma=Math.abs(Ri-mi(Yr)[Tn])),ai(),ci(!0)}if(Qr.contains(Fn))return ci(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){Jn(document,"mousemove",this._onTouchMove),Jn(document,"touchmove",this._onTouchMove),Jn(document,"pointermove",this._onTouchMove),Jn(document,"dragover",$i),Jn(document,"mousemove",$i),Jn(document,"touchmove",$i)},_offUpEvents:function(){var Wr=this.el.ownerDocument;Jn(Wr,"mouseup",this._onDrop),Jn(Wr,"touchend",this._onDrop),Jn(Wr,"pointerup",this._onDrop),Jn(Wr,"pointercancel",this._onDrop),Jn(Wr,"touchcancel",this._onDrop),Jn(document,"selectstart",this)},_onDrop:function(Wr){var Qr=this.el,Yr=this.options;if(Ii=qi(Fn),zi=qi(Fn,Yr.draggable),wi("drop",this,{evt:Wr}),fi=Fn&&Fn.parentNode,Ii=qi(Fn),zi=qi(Fn,Yr.draggable),Vn.eventCanceled){this._nulling();return}na=!1,Ra=!1,ya=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),so(this.cloneId),so(this._dragStartId),this.nativeDraggable&&(Jn(document,"drop",this),Jn(Qr,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),pa&&Qn(document.body,"user-select",""),Qn(Fn,"transform",""),Wr&&(fa&&(Wr.cancelable&&Wr.preventDefault(),!Yr.dropBubble&&Wr.stopPropagation()),Yn&&Yn.parentNode&&Yn.parentNode.removeChild(Yn),(li===fi||yi&&yi.lastPutMode!=="clone")&&ui&&ui.parentNode&&ui.parentNode.removeChild(ui),Fn&&(this.nativeDraggable&&Jn(Fn,"dragend",this),ro(Fn),Fn.style["will-change"]="",fa&&!na&&Ai(Fn,yi?yi.options.ghostClass:this.options.ghostClass,!1),Ai(Fn,this.options.chosenClass,!1),xi({sortable:this,name:"unchoose",toEl:fi,newIndex:null,newDraggableIndex:null,originalEvent:Wr}),li!==fi?(Ii>=0&&(xi({rootEl:fi,name:"add",toEl:fi,fromEl:li,originalEvent:Wr}),xi({sortable:this,name:"remove",toEl:fi,originalEvent:Wr}),xi({rootEl:fi,name:"sort",toEl:fi,fromEl:li,originalEvent:Wr}),xi({sortable:this,name:"sort",toEl:fi,originalEvent:Wr})),yi&&yi.save()):Ii!==ia&&Ii>=0&&(xi({sortable:this,name:"update",toEl:fi,originalEvent:Wr}),xi({sortable:this,name:"sort",toEl:fi,originalEvent:Wr})),Vn.active&&((Ii==null||Ii===-1)&&(Ii=ia,zi=va),xi({sortable:this,name:"end",toEl:fi,originalEvent:Wr}),this.save()))),this._nulling()},_nulling:function(){wi("nulling",this),li=Fn=fi=Yn=Ki=ui=La=Wi=Yi=Pi=fa=Ii=zi=ia=va=ra=ga=yi=Ia=Vn.dragged=Vn.ghost=Vn.clone=Vn.active=null,Ua.forEach(function(Wr){Wr.checked=!0}),Ua.length=Za=eo=0},handleEvent:function(Wr){switch(Wr.type){case"drop":case"dragend":this._onDrop(Wr);break;case"dragenter":case"dragover":Fn&&(this._onDragOver(Wr),xs(Wr));break;case"selectstart":Wr.preventDefault();break}},toArray:function(){for(var Wr=[],Qr,Yr=this.el.children,Jr=0,rn=Yr.length,ln=this.options;Jr<rn;Jr++)Qr=Yr[Jr],Fi(Qr,ln.draggable,this.el,!1)&&Wr.push(Qr.getAttribute(ln.dataIdAttr)||As(Qr));return Wr},sort:function(Wr,Qr){var Yr={},Jr=this.el;this.toArray().forEach(function(rn,ln){var mn=Jr.children[ln];Fi(mn,this.options.draggable,Jr,!1)&&(Yr[rn]=mn)},this),Qr&&this.captureAnimationState(),Wr.forEach(function(rn){Yr[rn]&&(Jr.removeChild(Yr[rn]),Jr.appendChild(Yr[rn]))}),Qr&&this.animateAll()},save:function(){var Wr=this.options.store;Wr&&Wr.set&&Wr.set(this)},closest:function(Wr,Qr){return Fi(Wr,Qr||this.options.draggable,this.el,!1)},option:function(Wr,Qr){var Yr=this.options;if(Qr===void 0)return Yr[Wr];var Jr=ba.modifyOption(this,Wr,Qr);typeof Jr<"u"?Yr[Wr]=Jr:Yr[Wr]=Qr,Wr==="group"&&Go(Yr)},destroy:function(){wi("destroy",this);var Wr=this.el;Wr[ki]=null,Jn(Wr,"mousedown",this._onTapStart),Jn(Wr,"touchstart",this._onTapStart),Jn(Wr,"pointerdown",this._onTapStart),this.nativeDraggable&&(Jn(Wr,"dragover",this),Jn(Wr,"dragenter",this)),Array.prototype.forEach.call(Wr.querySelectorAll("[draggable]"),function(Qr){Qr.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ba.splice(Ba.indexOf(this.el),1),this.el=Wr=null},_hideClone:function(){if(!Wi){if(wi("hideClone",this),Vn.eventCanceled)return;Qn(ui,"display","none"),this.options.removeCloneOnHide&&ui.parentNode&&ui.parentNode.removeChild(ui),Wi=!0}},_showClone:function(Wr){if(Wr.lastPutMode!=="clone"){this._hideClone();return}if(Wi){if(wi("showClone",this),Vn.eventCanceled)return;Fn.parentNode==li&&!this.options.group.revertClone?li.insertBefore(ui,Fn):Ki?li.insertBefore(ui,Ki):li.appendChild(ui),this.options.group.revertClone&&this.animate(Fn,ui),Qn(ui,"display",""),Wi=!1}}};function xs(Gr){Gr.dataTransfer&&(Gr.dataTransfer.dropEffect="move"),Gr.cancelable&&Gr.preventDefault()}function Da(Gr,Wr,Qr,Yr,Jr,rn,ln,mn){var gn,xn=Gr[ki],Cn=xn.options.onMove,On;return window.CustomEvent&&!ji&&!Ea?gn=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(gn=document.createEvent("Event"),gn.initEvent("move",!0,!0)),gn.to=Wr,gn.from=Gr,gn.dragged=Qr,gn.draggedRect=Yr,gn.related=Jr||Wr,gn.relatedRect=rn||mi(Wr),gn.willInsertAfter=mn,gn.originalEvent=ln,Gr.dispatchEvent(gn),Cn&&(On=Cn.call(xn,gn,ln)),On}function ro(Gr){Gr.draggable=!1}function ws(){oo=!1}function ks(Gr,Wr,Qr){var Yr=mi(oa(Qr.el,0,Qr.options,!0)),Jr=Ho(Qr.el,Qr.options,Yn),rn=10;return Wr?Gr.clientX<Jr.left-rn||Gr.clientY<Yr.top&&Gr.clientX<Yr.right:Gr.clientY<Jr.top-rn||Gr.clientY<Yr.bottom&&Gr.clientX<Yr.left}function Ss(Gr,Wr,Qr){var Yr=mi(fo(Qr.el,Qr.options.draggable)),Jr=Ho(Qr.el,Qr.options,Yn),rn=10;return Wr?Gr.clientX>Jr.right+rn||Gr.clientY>Yr.bottom&&Gr.clientX>Yr.left:Gr.clientY>Jr.bottom+rn||Gr.clientX>Yr.right&&Gr.clientY>Yr.top}function Cs(Gr,Wr,Qr,Yr,Jr,rn,ln,mn){var gn=Yr?Gr.clientY:Gr.clientX,xn=Yr?Qr.height:Qr.width,Cn=Yr?Qr.top:Qr.left,On=Yr?Qr.bottom:Qr.right,Pn=!1;if(!ln){if(mn&&Ma<xn*Jr){if(!ya&&(ga===1?gn>Cn+xn*rn/2:gn<On-xn*rn/2)&&(ya=!0),ya)Pn=!0;else if(ga===1?gn<Cn+Ma:gn>On-Ma)return-ga}else if(gn>Cn+xn*(1-Jr)/2&&gn<On-xn*(1-Jr)/2)return Os(Wr)}return Pn=Pn||ln,Pn&&(gn<Cn+xn*rn/2||gn>On-xn*rn/2)?gn>Cn+xn/2?1:-1:0}function Os(Gr){return qi(Fn)<qi(Gr)?1:-1}function As(Gr){for(var Wr=Gr.tagName+Gr.className+Gr.src+Gr.href+Gr.textContent,Qr=Wr.length,Yr=0;Qr--;)Yr+=Wr.charCodeAt(Qr);return Yr.toString(36)}function Is(Gr){Ua.length=0;for(var Wr=Gr.getElementsByTagName("input"),Qr=Wr.length;Qr--;){var Yr=Wr[Qr];Yr.checked&&Ua.push(Yr)}}function Pa(Gr){return setTimeout(Gr,0)}function so(Gr){return clearTimeout(Gr)}ja&&Zn(document,"touchmove",function(Gr){(Vn.active||na)&&Gr.cancelable&&Gr.preventDefault()});Vn.utils={on:Zn,off:Jn,css:Qn,find:Mo,is:function(Wr,Qr){return!!Fi(Wr,Qr,Wr,!1)},extend:fs,throttle:Po,closest:Fi,toggleClass:Ai,clone:_o,index:qi,nextTick:Pa,cancelNextTick:so,detectDirection:Uo,getChild:oa,expando:ki};Vn.get=function(Gr){return Gr[ki]};Vn.mount=function(){for(var Gr=arguments.length,Wr=new Array(Gr),Qr=0;Qr<Gr;Qr++)Wr[Qr]=arguments[Qr];Wr[0].constructor===Array&&(Wr=Wr[0]),Wr.forEach(function(Yr){if(!Yr.prototype||!Yr.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(Yr));Yr.utils&&(Vn.utils=Hi(Hi({},Vn.utils),Yr.utils)),ba.mount(Yr)})};Vn.create=function(Gr,Wr){return new Vn(Gr,Wr)};Vn.version=us;var pi=[],ha,lo,uo=!1,no,io,Ga,da;function Rs(){function Gr(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var Wr in this)Wr.charAt(0)==="_"&&typeof this[Wr]=="function"&&(this[Wr]=this[Wr].bind(this))}return Gr.prototype={dragStarted:function(Qr){var Yr=Qr.originalEvent;this.sortable.nativeDraggable?Zn(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Zn(document,"pointermove",this._handleFallbackAutoScroll):Yr.touches?Zn(document,"touchmove",this._handleFallbackAutoScroll):Zn(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(Qr){var Yr=Qr.originalEvent;!this.options.dragOverBubble&&!Yr.rootEl&&this._handleAutoScroll(Yr)},drop:function(){this.sortable.nativeDraggable?Jn(document,"dragover",this._handleAutoScroll):(Jn(document,"pointermove",this._handleFallbackAutoScroll),Jn(document,"touchmove",this._handleFallbackAutoScroll),Jn(document,"mousemove",this._handleFallbackAutoScroll)),No(),Fa(),hs()},nulling:function(){Ga=lo=ha=uo=da=no=io=null,pi.length=0},_handleFallbackAutoScroll:function(Qr){this._handleAutoScroll(Qr,!0)},_handleAutoScroll:function(Qr,Yr){var Jr=this,rn=(Qr.touches?Qr.touches[0]:Qr).clientX,ln=(Qr.touches?Qr.touches[0]:Qr).clientY,mn=document.elementFromPoint(rn,ln);if(Ga=Qr,Yr||this.options.forceAutoScrollFallback||Ea||ji||pa){ao(Qr,this.options,mn,Yr);var gn=Qi(mn,!0);uo&&(!da||rn!==no||ln!==io)&&(da&&No(),da=setInterval(function(){var xn=Qi(document.elementFromPoint(rn,ln),!0);xn!==gn&&(gn=xn,Fa()),ao(Qr,Jr.options,xn,Yr)},10),no=rn,io=ln)}else{if(!this.options.bubbleScroll||Qi(mn,!0)===_i()){Fa();return}ao(Qr,this.options,Qi(mn,!1),!1)}}},Gi(Gr,{pluginName:"scroll",initializeByDefault:!0})}function Fa(){pi.forEach(function(Gr){clearInterval(Gr.pid)}),pi=[]}function No(){clearInterval(da)}var ao=Po(function(Gr,Wr,Qr,Yr){if(Wr.scroll){var Jr=(Gr.touches?Gr.touches[0]:Gr).clientX,rn=(Gr.touches?Gr.touches[0]:Gr).clientY,ln=Wr.scrollSensitivity,mn=Wr.scrollSpeed,gn=_i(),xn=!1,Cn;lo!==Qr&&(lo=Qr,Fa(),ha=Wr.scroll,Cn=Wr.scrollFn,ha===!0&&(ha=Qi(Qr,!0)));var On=0,Pn=ha;do{var Gn=Pn,Xn=mi(Gn),zn=Xn.top,ni=Xn.bottom,gi=Xn.left,ci=Xn.right,ai=Xn.width,Kn=Xn.height,hi=void 0,ii=void 0,Ri=Gn.scrollWidth,di=Gn.scrollHeight,ei=Qn(Gn),Tn=Gn.scrollLeft,Zr=Gn.scrollTop;Gn===gn?(hi=ai<Ri&&(ei.overflowX==="auto"||ei.overflowX==="scroll"||ei.overflowX==="visible"),ii=Kn<di&&(ei.overflowY==="auto"||ei.overflowY==="scroll"||ei.overflowY==="visible")):(hi=ai<Ri&&(ei.overflowX==="auto"||ei.overflowX==="scroll"),ii=Kn<di&&(ei.overflowY==="auto"||ei.overflowY==="scroll"));var nn=hi&&(Math.abs(ci-Jr)<=ln&&Tn+ai<Ri)-(Math.abs(gi-Jr)<=ln&&!!Tn),hn=ii&&(Math.abs(ni-rn)<=ln&&Zr+Kn<di)-(Math.abs(zn-rn)<=ln&&!!Zr);if(!pi[On])for(var dn=0;dn<=On;dn++)pi[dn]||(pi[dn]={});(pi[On].vx!=nn||pi[On].vy!=hn||pi[On].el!==Gn)&&(pi[On].el=Gn,pi[On].vx=nn,pi[On].vy=hn,clearInterval(pi[On].pid),(nn!=0||hn!=0)&&(xn=!0,pi[On].pid=setInterval(function(){Yr&&this.layer===0&&Vn.active._onTouchMove(Ga);var wn=pi[this.layer].vy?pi[this.layer].vy*mn:0,vn=pi[this.layer].vx?pi[this.layer].vx*mn:0;typeof Cn=="function"&&Cn.call(Vn.dragged.parentNode[ki],vn,wn,Gr,Ga,pi[this.layer].el)!=="continue"||Fo(pi[this.layer].el,vn,wn)}.bind({layer:On}),24))),On++}while(Wr.bubbleScroll&&Pn!==gn&&(Pn=Qi(Pn,!1)));uo=xn}},30),zo=function(Wr){var Qr=Wr.originalEvent,Yr=Wr.putSortable,Jr=Wr.dragEl,rn=Wr.activeSortable,ln=Wr.dispatchSortableEvent,mn=Wr.hideGhostForTarget,gn=Wr.unhideGhostForTarget;if(Qr){var xn=Yr||rn;mn();var Cn=Qr.changedTouches&&Qr.changedTouches.length?Qr.changedTouches[0]:Qr,On=document.elementFromPoint(Cn.clientX,Cn.clientY);gn(),xn&&!xn.el.contains(On)&&(ln("spill"),this.onSpill({dragEl:Jr,putSortable:Yr}))}};function ho(){}ho.prototype={startIndex:null,dragStart:function(Wr){var Qr=Wr.oldDraggableIndex;this.startIndex=Qr},onSpill:function(Wr){var Qr=Wr.dragEl,Yr=Wr.putSortable;this.sortable.captureAnimationState(),Yr&&Yr.captureAnimationState();var Jr=oa(this.sortable.el,this.startIndex,this.options);Jr?this.sortable.el.insertBefore(Qr,Jr):this.sortable.el.appendChild(Qr),this.sortable.animateAll(),Yr&&Yr.animateAll()},drop:zo};Gi(ho,{pluginName:"revertOnSpill"});function po(){}po.prototype={onSpill:function(Wr){var Qr=Wr.dragEl,Yr=Wr.putSortable,Jr=Yr||this.sortable;Jr.captureAnimationState(),Qr.parentNode&&Qr.parentNode.removeChild(Qr),Jr.animateAll()},drop:zo};Gi(po,{pluginName:"removeOnSpill"});Vn.mount(new Rs);Vn.mount(po,ho);var Wo=Vn;var Xa=class{observerInitialized=!1;layoutMode;containerSelector;spacing;masonryBreakpoint;constructor(Wr={}){this.layoutMode=Wr.layoutMode??"justified",this.containerSelector=Wr.containerSelector??"#gallery-container",this.spacing=Wr.spacing??8,this.masonryBreakpoint=Wr.masonryBreakpoint??640}setLayoutMode(Wr){console.log(`Setting layout mode to: ${Wr} (current: ${this.layoutMode})`),this.layoutMode=Wr,this.computeLayout()}computeLayout(){this.layoutMode==="masonry"?this.computeMasonry():this.computeJustified()}computeMasonry(){let Wr=document.querySelector(this.containerSelector);if(!Wr)return;let Qr=this.spacing,Yr=Wr.offsetWidth;if(Yr===0){requestAnimationFrame(()=>this.computeMasonry());return}let Jr=Yr<this.masonryBreakpoint?1:3,rn=(Yr+Qr)/Jr-Qr,ln=new Array(Jr).fill(0);Wr.querySelectorAll(".gallery-item").forEach(gn=>{let xn=parseFloat(gn.dataset.width),Cn=parseFloat(gn.dataset.height);if(!xn||!Cn)return;let Pn=Cn/xn*rn,Gn=0;for(let ni=1;ni<Jr;ni++)ln[ni]<ln[Gn]&&(Gn=ni);let Xn=(rn+Qr)*Gn,zn=ln[Gn];Object.assign(gn.style,{position:"absolute",width:`${rn}px`,height:`${Pn}px`,left:`${Xn}px`,top:`${zn}px`}),ln[Gn]=zn+Pn+Qr}),Wr.style.height=`${Math.max(...ln)}px`}computeJustified(){let Wr=document.querySelector(this.containerSelector);if(!Wr)return;let Qr=this.spacing,Yr=Wr.offsetWidth;if(Yr===0){requestAnimationFrame(()=>this.computeJustified());return}let Jr=Array.from(Wr.querySelectorAll(".gallery-item")),rn=[],ln=0,mn=0;Jr.forEach(gn=>{Object.assign(gn.style,{position:"absolute",left:"0px",top:"0px",width:"auto",height:"auto"})});for(let gn=0;gn<Jr.length;gn++){let xn=Jr[gn],Cn=parseFloat(xn.dataset.width),On=parseFloat(xn.dataset.height);if(!Cn||!On)continue;let Pn=Cn/On;rn.push({tile:xn,aspectRatio:Pn,imgW:Cn,imgH:On}),ln+=Pn;let Gn=(Yr-(rn.length-1)*Qr)/ln;if(Gn<300||gn===Jr.length-1){let Xn=0;for(let zn of rn){let ni=Gn*zn.aspectRatio;Object.assign(zn.tile.style,{position:"absolute",top:`${mn}px`,left:`${Xn}px`,width:`${ni}px`,height:`${Gn}px`}),Xn+=ni+Qr}mn+=Gn+Qr,rn=[],ln=0}}Wr.style.position="relative",Wr.style.height=`${mn}px`}observe(){if(this.observerInitialized)return;this.observerInitialized=!0;let Wr=document.querySelector(this.containerSelector);if(!Wr)return;if(typeof ResizeObserver<"u"){let Yr=new ResizeObserver(()=>this.computeLayout());Wr.parentElement&&Yr.observe(Wr.parentElement)}new MutationObserver(()=>{this.computeLayout()}).observe(Wr,{childList:!0,subtree:!0})}init(Wr={}){document.addEventListener("DOMContentLoaded",()=>{let Qr=document.querySelector(Wr.containerSelector??"#gallery-container");console.log("Initializing GalleryLayout for container:",Qr),Qr&&(this.computeLayout(),this.observe())})}};var za=class Gr{startX=0;threshold=50;observer;static initialized=!1;static id="photo-dialog";constructor(){this.observer=new MutationObserver(this.handleMutation.bind(this))}connect(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),console.log("PhotoDialog: Connected touch event handlers.")}static maybeInitForElement(Wr){if(Wr.id!==Gr.id||Gr.initialized)return;let Qr=new Gr;Qr.connect(),document&&document.body?(document.body.addEventListener("touchstart",Qr.onTouchStart),document.body.addEventListener("touchend",Qr.onTouchEnd),Qr.observe(),Gr.initialized=!0):console.warn("document.body not available for PhotoDialog event listeners")}onTouchStart(Wr){this.startX=Wr.touches[0].clientX}onTouchEnd(Wr){let Yr=Wr.changedTouches[0].clientX-this.startX;if(Math.abs(Yr)>this.threshold){let Jr=Yr>0?"swiperight":"swipeleft";Wr.target.dispatchEvent(new CustomEvent(Jr,{bubbles:!0}))}}observe(){this.observer.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect(),document.body.removeEventListener("touchstart",this.onTouchStart),document.body.removeEventListener("touchend",this.onTouchEnd),Gr.initialized=!1}handleMutation(){document.getElementById(Gr.id)||(console.log("PhotoDialog not found, removing event listeners"),this.disconnect())}};var mo={};is(mo,{dataURLToBlob:()=>Ta,doResize:()=>xa,readFileAsDataURL:()=>sa});function sa(Gr){return new Promise((Wr,Qr)=>{let Yr=new FileReader;Yr.onload=()=>Wr(Yr.result),Yr.onerror=Qr,Yr.readAsDataURL(Gr)})}function Ta(Gr){let[Wr,Qr]=Gr.split(","),Yr=/:(.*?);/.exec(Wr);if(!Yr)throw new Error("Invalid data URL");let Jr=Yr[1],rn=atob(Qr),ln=new Uint8Array(rn.length);for(let mn=0;mn<rn.length;mn++)ln[mn]=rn.charCodeAt(mn);return new Blob([ln],{type:Jr})}function Qo(Gr){let Wr=Gr.split(",")[1];return Math.ceil(Wr.length*3/4)}function Ns(Gr,Wr){return new Promise((Qr,Yr)=>{let Jr=new Image;Jr.onload=()=>{let rn;Wr.mode==="cover"?rn=Math.max(Wr.width/Jr.width,Wr.height/Jr.height):Wr.mode==="contain"?rn=Math.min(Wr.width/Jr.width,Wr.height/Jr.height):rn=1;let ln=Math.round(Jr.width*rn),mn=Math.round(Jr.height*rn),gn=document.createElement("canvas");gn.width=ln,gn.height=mn;let xn=gn.getContext("2d");if(!xn)return Yr(new Error("Failed to get canvas context"));xn.fillStyle="#fff",xn.fillRect(0,0,ln,mn),xn.imageSmoothingEnabled=!0,xn.imageSmoothingQuality="high",xn.drawImage(Jr,0,0,ln,mn),Qr({dataUrl:gn.toDataURL("image/jpeg",Wr.quality),width:ln,height:mn})},Jr.onerror=rn=>Yr(rn),Jr.src=Gr})}async function xa(Gr,Wr){let Qr=null,Yr=0,Jr=101;for(;Jr-Yr>1;){let rn=Math.round((Yr+Jr)/2),ln=await Ns(Gr,{width:Wr.width,height:Wr.height,quality:rn/100,mode:Wr.mode});Qo(ln.dataUrl)<Wr.maxSize?(Yr=rn,Qr=ln):Jr=rn}if(!Qr)throw new Error("Failed to compress image");return{path:Qr.dataUrl,mime:"image/jpeg",size:Qo(Qr.dataUrl),width:Qr.width,height:Qr.height}}var Vo=ca(Oa());var Wa=class{handleAvatarImageSelect(Wr){let Qr=Wr.files?.[0];Qr&&sa(Qr).then(Yr=>{let Jr=document.createElement("img");typeof Yr=="string"?Jr.src=Yr:(console.error("Expected dataUrl to be a string, got:",typeof Yr),Jr.src=""),Jr.className="rounded-full w-full h-full object-cover",Jr.alt="Avatar preview";let rn=Wr.closest("form")?.querySelector("#image-preview");rn&&(rn.innerHTML="",rn.appendChild(Jr))})}async updateProfile(Wr){let Qr=new FormData(Wr),Yr=Qr.get("file");if(Yr instanceof File&&Yr?.type?.startsWith?.("image/"))try{let Jr=await sa(Yr);if(!Jr||typeof Jr!="string"){console.error("Failed to read file as data URL");return}let rn=await xa(Jr,{width:2e3,height:2e3,maxSize:1e3*1e3,mode:"contain"}),ln=Ta(rn.path);Qr.set("file",ln,Yr.name)}catch(Jr){console.error("Error resizing image:",Jr),Qr.delete("file")}Vo.default.ajax("PUT","/actions/profile",{swap:"none",values:Object.fromEntries(Qr),source:Wr})}};var vo=ca(Oa()),Yo=ca($a());var Qa=class{async uploadPhotos(Wr){let Qr=Array.from(Wr.files??[]);if(Qr.length>10){alert("You can only upload 10 photos at a time");return}let Yr=Qr.map(async Jr=>{try{let rn=await sa(Jr);if(!rn||typeof rn!="string"){console.error("Failed to read file as data URL");return}let ln=await xa(rn,{width:2e3,height:2e3,maxSize:1e3*1e3,mode:"contain"}),mn=Ta(ln.path),gn=new FormData;gn.append("file",mn,Jr.name),gn.append("width",String(ln.width)),gn.append("height",String(ln.height));let xn=await fetch("/actions/photo",{method:"POST",body:gn});if(!xn.ok){alert(await xn.text());return}let Cn=await xn.text(),On=document.createElement("div");On.innerHTML=Cn;let Pn=On?.firstElementChild?.id,Gn=document.querySelector("#image-preview");if(Gn){let Xn=On.firstElementChild;Xn&&Gn.insertBefore(Xn,Gn.firstChild),vo.default.process(Gn);let zn=Gn.querySelector(`#delete-photo-${Pn}`);if(!zn)return;vo.default.process(zn),Yo.default.processNode(zn)}}catch(rn){console.error("Error uploading photo:",rn),alert("Error uploading photo")}});await Promise.all(Yr),Wr.value=""}};var $o=new Xa({layoutMode:"justified"});$o.init();go.default.onLoad(function(Gr){if(za.maybeInitForElement(Gr),Gr.id==="gallery-sort-dialog"){let Wr=Gr.querySelectorAll(".sortable");for(let Qr of Array.from(Wr))new Wo(Qr,{animation:150})}});yo.default.browserInit();var Bi=globalThis;Bi.htmx=Bi.htmx??go.default;Bi._hyperscript=Bi._hyperscript??yo.default;Bi.Grain=Bi.Grain??{};Bi.Grain.uploadPage=new Qa;Bi.Grain.profileDialog=new Wa;Bi.Grain.galleryLayout=$o;Bi.Grain.photoManip=mo;
15
15
/*! Bundled license information:
16
16
17
17
sortablejs/modular/sortable.esm.js: