@panphora/hyper-cms 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
- var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDescriptor;var vi=Object.getOwnPropertyNames;var xi=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var r in t)$t(e,r,{get:t[r],enumerable:!0})},wi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of vi(t))!xi.call(e,i)&&i!==r&&$t(e,i,{get:()=>t[i],enumerable:!(n=yi(t,i))||n.enumerable});return e};var _i=e=>wi($t({},"__esModule",{value:!0}),e);var ua={};Pt(ua,{cms:()=>la,default:()=>ca});function Q(e){let t=0,r=null,n=-1;for(let i=0;i<e.length;i++){let o=e[i];o==="\\"?i++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(n=i)}return n}function it(e){let t=Q(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}var qr={includeClasses:!0,includeAttributes:["href","src","name","type","role","aria-label","alt","title"],excludeAttributePrefixes:["data-morph-","data-hyper-","data-im-"],textHintLength:64,excludeIds:!0,maxPathDepth:4,landmarks:["HEADER","NAV","MAIN","ASIDE","FOOTER","SECTION","ARTICLE"],weights:{signature:100,pathSegment:10,textMatch:20,textMismatch:25,uniqueCandidate:50,positionPenalty:1,maxDriftPenalty:19,slotMatch:30},minConfidence:101,maxScoredCandidates:16};function Si(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t^e.charCodeAt(r);return Math.abs(t).toString(36)}function Ei(e){if(e.classList&&e.classList.length>0)return Array.from(e.classList).sort().join(" ");let t=e.getAttribute?.("class");return t?t.split(/\s+/).filter(Boolean).sort().join(" "):""}function Ci(e,t){let r=[];for(let n of e.attributes||[]){let i=n.name;i==="id"||i==="class"||t.excludeAttributePrefixes.some(o=>i.startsWith(o))||t.includeAttributes.includes(i)&&r.push(`${i}=${n.value}`)}return r.sort().join("|")}function Ti(e,t){return(e.textContent||"").replace(/\s+/g," ").trim().slice(0,t.textHintLength)}function Ri(e,t){let r=[e.tagName];return t.includeClasses&&r.push(Ei(e)),r.push(Ci(e,t)),Si(r.join("|"))}function Oi(e){let t=e.tagName,r=1,n=e.previousElementSibling;for(;n;)n.tagName===t&&r++,n=n.previousElementSibling;return r}function Mi(e,t){return e.getAttribute?.("id")||e.getAttribute?.("role")?!0:t.landmarks.includes(e.tagName)}function Ni(e){let t=e.getAttribute?.("id");if(t)return`#${t}`;let r=e.getAttribute?.("role");return r?`@${r}`:e.tagName}function Ii(e,t){let r=[],n=e;for(;n&&n.tagName&&r.length<t.maxPathDepth;){let i=`${n.tagName}:${Oi(n)}`;if(r.unshift(i),n!==e&&Mi(n,t)){r.unshift(Ni(n));break}n=n.parentElement}return r}function ji(e,t){let r=0,n=e.length-1,i=t.length-1;for(;n>=0&&i>=0&&e[n]===t[i];)r++,n--,i--;return r}function se(e,t,r){if(r.has(e))return r.get(e);let n={signature:Ri(e,t),path:Ii(e,t),textHint:Ti(e,t)};return r.set(e,n),n}function Br(e,t,r,n){if(n.has(e))return n.get(e);let i=new Map,o=e.querySelectorAll("*"),s=0;for(let a of o){let l=se(a,t,r);l.domIndex=s++,!t.shouldIgnore?.(a)&&(i.has(l.signature)||i.set(l.signature,[]),i.get(l.signature).push(a))}return n.set(e,i),i}function Li(e,t,r){r.delete(e),t.delete(e);let n=e.querySelectorAll("*");for(let i of n)t.delete(i)}function Bt(e,t,r,n,i){let o=se(e,r,n),s=se(t,r,n),a=r.weights,l={},c=0;if(o.signature!==s.signature)return{score:0,breakdown:{rejected:"signature mismatch"}};c+=a.signature,l.signature=a.signature;let p=ji(o.path,s.path)*a.pathSegment;c+=p,l.path=p;let d=!0;if(o.textHint&&s.textHint?o.textHint===s.textHint?(c+=a.textMatch,l.text=a.textMatch):(c-=a.textMismatch,l.text=-a.textMismatch,d=!1):o.textHint!==s.textHint&&(c-=a.textMismatch,l.text=-a.textMismatch,d=!1),i.candidateCount===1&&d&&(c+=a.uniqueCandidate,l.unique=a.uniqueCandidate),typeof o.domIndex=="number"&&typeof s.domIndex=="number"){let u=Math.abs(o.domIndex-s.domIndex),y=Math.min(u*a.positionPenalty,a.maxDriftPenalty);c-=y,l.drift=-y}return{score:c,breakdown:l}}function Dr(e,t,r,n,i){if(r.excludeIds&&e.getAttribute("id"))return null;let o=Br(t,r,n,i),s=se(e,r,n);if(typeof s.domIndex!="number"){let d=0,u=e.previousElementSibling;for(;u;)d++,u=u.previousElementSibling;s.domIndex=d}let a=o.get(s.signature)||[],l=r.excludeIds?a.filter(d=>!d.getAttribute("id")):a;if(l.length===0)return null;let c=null,m=0,p=null;for(let d of l){let{score:u,breakdown:y}=Bt(e,d,r,n,{candidateCount:l.length});u>m&&(m=u,c=d,p=y)}return m<r.minConfidence?null:{element:c,confidence:m,breakdown:p}}function Fi(e,t,r,n){let i=[],o=r.weights.signature+r.weights.slotMatch,s={slot:o};function a(p){if(p.children)return p.children;let d=p.childNodes;if(!d)return[];let u=[];for(let y=0;y<d.length;y++)d[y].nodeType===1&&u.push(d[y]);return u}function l(p,d){let u=a(p),y=a(d);if(u.length===y.length)for(let N=0;N<u.length;N++){let R=u[N],F=y[N];if(r.shouldIgnore?.(R)||r.shouldIgnore?.(F)||r.excludeIds&&(R.getAttribute("id")||F.getAttribute("id"))||R.tagName!==F.tagName)continue;let V=se(R,r,n).signature,te=se(F,r,n).signature;V!==te&&i.push({newEl:R,oldEl:F,score:o,breakdown:s}),l(R,F)}}function c(p,d){for(;;){if(p.tagName===d.tagName)return[p,d];let u=a(p);if(!p.tagName&&u.length===1){p=u[0];continue}let y=a(d);if(y.length===1&&y[0].tagName===p.tagName){d=y[0];continue}return null}}let m=c(e,t);return m&&l(m[0],m[1]),i}function $r(e,t,r,n,i){let o=t.querySelectorAll("*"),s=Br(e,r,n,i),a=0;for(let u of o){let y=se(u,r,n);y.domIndex=a++}let l=[],c=new Map;function m(u,y,N){let R=new Set;if(u.textHint){let z=c.get(u.signature);if(!z){z=new Map;for(let ee of y){let pe=se(ee,r,n).textHint,fe=z.get(pe);fe||(fe=[],z.set(pe,fe)),fe.push(ee)}c.set(u.signature,z)}let oe=z.get(u.textHint);if(oe)for(let ee=0;ee<oe.length&&ee<N;ee++)R.add(oe[ee])}let F=0,V=y.length;for(;F<V;){let z=F+V>>1;se(y[z],r,n).domIndex<u.domIndex?F=z+1:V=z}let te=Math.max(0,Math.min(F-(N>>1),y.length-N)),le=Math.min(te+N,y.length);for(let z=te;z<le;z++)R.add(y[z]);return[...R]}for(let u of o){if(r.shouldIgnore?.(u)||r.excludeIds&&u.getAttribute("id"))continue;let y=se(u,r,n),N=s.get(y.signature)||[],R=r.excludeIds?N.filter(te=>!te.getAttribute("id")):N,F=r.maxScoredCandidates,V=F&&R.length>F?m(y,R,F):R;for(let te of V){let{score:le,breakdown:z}=Bt(u,te,r,n,{candidateCount:R.length});le>=r.minConfidence&&l.push({newEl:u,oldEl:te,score:le,breakdown:z})}}if(r.weights.slotMatch>0){let u=Fi(t,e,r,n);for(let y of u)l.push(y)}l.sort((u,y)=>y.score-u.score);let p=new Map,d=new Set;for(let{newEl:u,oldEl:y}of l)p.has(u)||d.has(y)||(p.set(u,y),d.add(y));return p}function Pr(e,t,r,n){let i=se(e,r,n),o=se(t,r,n),{score:s,breakdown:a}=Bt(e,t,r,n,{candidateCount:1});return{matches:s>=r.minConfidence,score:s,breakdown:a,newMeta:{signature:i.signature,path:i.path,textHint:i.textHint},oldMeta:{signature:o.signature,path:o.path,textHint:o.textHint}}}function Ur(e={}){let t={...qr,...e,weights:{...qr.weights,...e.weights}},r=new WeakMap,n=new WeakMap;return{findMatch:(i,o)=>Dr(i,o,t,r,n),computeMatches:(i,o)=>$r(i,o,t,r,n),explain:(i,o)=>Pr(i,o,t,r),invalidate:i=>Li(i,r,n),session:()=>{let i=new WeakMap,o=new WeakMap;return{findMatch:(s,a)=>Dr(s,a,t,i,o),computeMatches:(s,a)=>$r(s,a,t,i,o),explain:(s,a)=>Pr(s,a,t,i)}},getConfig:()=>({...t})}}function Ut(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
2
- `;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let r=e.indexOf("*/",t+2);if(r===-1)return e.length;t=r+2;continue}return t}}function zr(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,r)=>r.length%2===0?r+'\\"':t)}var qi=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Di=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function ot(e){try{return JSON.parse(e)}catch{return JSON.parse($i(e))}}function $i(e){let t="",r=0,n=(i,o)=>{throw new Error(`Invalid relaxed JSON: ${i} at position ${o}`)};for(;r<e.length&&(r=Ut(e,r),!(r>=e.length));){let i=e[r];if("{}[]:".includes(i)){t+=i,r++;continue}if(i===","){let a=Ut(e,r+1);if(e[a]==="}"||e[a]==="]"){r++;continue}t+=i,r++;continue}if(i==='"'||i==="'"){let a=r+1;for(;a<e.length&&e[a]!==i;)e[a]==="\\"&&a++,a++;a>=e.length&&n("unterminated string",r);let l=e.slice(r+1,a);i==="'"&&(l=zr(l)),t+='"'+l+'"',r=a+1;continue}let o=r;for(;o<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[o]);)o++;o===r&&n("unexpected character "+JSON.stringify(i),r);let s=e.slice(r,o);if(s==="true"||s==="false"||s==="null"||qi.test(s)){t+=s,r=o;continue}if(Di.test(s)){if(e[Ut(e,o)]===":"){t+='"'+s+'"',r=o;continue}n("unquoted value "+JSON.stringify(s),r)}n("invalid token "+JSON.stringify(s),r)}return t}function Hr(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],s=0;for(;s<i.length;){let a=i[s];if(/\s/.test(a)){s++;continue}if("{}".includes(a)){o.push({type:a,value:a}),s++;continue}if(a==="["){let p=!1,d=s+1;for(;d<i.length&&/\s/.test(i[d]);)d++;if(d<i.length&&/[a-zA-Z_]/.test(i[d])&&(p=!0),!p){o.push({type:a,value:a}),s++;continue}}if(a==="]"){o.push({type:a,value:a}),s++;continue}if(a===":"){o.push({type:t.COLON,value:a}),s++;continue}if(a===","){o.push({type:t.COMMA,value:a}),s++;continue}if(a==='"'||a==="'"){let p=a,d=s+1;for(;d<i.length&&i[d]!==p;)i[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:i.substring(s+1,d),quoted:!0,sourceQuote:p}),s=d+1;continue}let l=s,c;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let p=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],d=!1;for(let u of p){let y=u.substring(1);if(i.substring(l+1,l+1+y.length)===y){d=!0,l+=y.length;break}}if(!d)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let p=i[l];for(l++;l<i.length&&i[l]!==p;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;c=i.substring(s,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(c)?m=t.NUMBER:c==="true"||c==="false"||c==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(c)&&(m=t.SELECTOR),o.push({type:m,value:c,quoted:!1}),s=l}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let a=i[s];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let l=i[s+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING){let l=a.value;a.sourceQuote==="'"&&(l=zr(l)),o+=`"${l}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}o+=`"${a.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Error("Invalid extraction rules syntax: "+i.message)}}var Y=Symbol("hyper-morph-json-merge:missing"),Vr=["id","_id","uuid","key","slug","code","name"];function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function He(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Pi(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!0,writable:!0,configurable:!0})}function be(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!be(e[r],t[r]))return!1;return!0}if(Ce(e)&&Ce(t)){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!He(t,n)||!be(e[n],t[n]))return!1;return!0}return!1}function Wr(e,t,r,n){return be(t,r)?t:be(t,e)?r:be(r,e)?t:Ce(t)&&Ce(r)?Bi(Ce(e)?e:{},t,r,n):Array.isArray(t)&&Array.isArray(r)?Vi(Array.isArray(e)?e:[],t,r,n):r}function Kr(e,t,r,n){return t===Y&&r===Y?Y:t===Y?e===Y?r:be(r,e)?Y:r:r===Y?e===Y?t:Y:Wr(e,t,r,n)}function Bi(e,t,r,n){let i={},o=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(r)]);for(let s of o){let a=Kr(He(e,s)?e[s]:Y,He(t,s)?t[s]:Y,He(r,s)?r[s]:Y,n);a!==Y&&Pi(i,s,a)}return i}function Ui(e){return e===null||typeof e!="object"}function st(e){return typeof e+":"+String(e)}function zi(e,t){for(let r of t){let n=new Set;for(let i of r){if(!He(i,e))return!1;let o=i[e];if(typeof o!="string"&&typeof o!="number")return!1;let s=st(o);if(n.has(s))return!1;n.add(s)}}return!0}function Hi(e,t,r,n){let i=[e,t,r],o=!0;for(let s of i)for(let a of s)Ce(a)||(o=!1);if(o){for(let s of n.keyCandidates)if(zi(s,i))return{kind:"keyed",field:s};return null}for(let s of i){let a=new Set;for(let l of s){if(!Ui(l))return null;let c=st(l);if(a.has(c))return null;a.add(c)}}return{kind:"self"}}function Vi(e,t,r,n){let i=Hi(e,t,r,n);if(!i)return r;let o=i.kind==="self"?st:u=>st(u[i.field]),s=u=>{let y=new Map;for(let N of u)y.set(o(N),N);return y},a=s(e),l=s(t),c=s(r),m=new Map,p=new Set([...a.keys(),...l.keys(),...c.keys()]);for(let u of p){let y=Kr(a.has(u)?a.get(u):Y,l.has(u)?l.get(u):Y,c.has(u)?c.get(u):Y,n);y!==Y&&m.set(u,y)}let d=[];for(let u of r){let y=o(u);m.has(y)&&d.push(y)}for(let u=0;u<t.length;u++){let y=o(t[u]);if(!m.has(y)||d.includes(y))continue;let N=0;for(let R=u-1;R>=0;R--){let F=d.indexOf(o(t[R]));if(F!==-1){N=F+1;break}}d.splice(N,0,y)}return d.map(u=>m.get(u))}function zt(e,t,r,n={}){let i=n.keyCandidates?[...n.keyCandidates,...Vr]:Vr;return Wr(e===void 0?Y:e,t,r,{keyCandidates:i})}function Ht(e,t,r,n={}){let i=n.parse||ot,o=[],s=(p,d)=>{if(typeof p!="string")return Y;try{return i(p)}catch(u){return o.push(`${d} side is not valid JSON (${u.message})`),Y}},a=s(t,"local"),l=s(r,"remote");if(a===Y)return{text:r,warnings:o};if(l===Y)return{text:t,warnings:o};let c=s(e,"base"),m=zt(c===Y?void 0:c,a,l,n);return be(m,l)?{text:r,warnings:o}:be(m,a)?{text:t,warnings:o}:{text:JSON.stringify(m,null,2),warnings:o}}var Ve=(function(){"use strict";let e=()=>{},t='[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]';function r(g){if(!(g instanceof Element))return!1;if(g.matches(t))return!0;if(g.tagName==="LINK"||g.tagName==="SCRIPT"){let T=g.getAttribute("src")||g.getAttribute("href")||"";if(T.startsWith("chrome-extension://")||T.startsWith("moz-extension://")||T.startsWith("safari-web-extension://"))return!0}return!1}function n(g){return g instanceof Element?g.closest(t)?!0:r(g):!1}let i=Ur({shouldIgnore:n});function o(g,T,E){if(E){let M=E.identityOf(g);if(M&&!E.disabled.has(M.key))return"hm-merge:"+M.key}if(T!=="smart")return g.outerHTML;let O=g.getAttribute("src"),C=g.getAttribute("type")||"text/javascript";if(O)try{let M=new URL(O,window.location.href);return`ext:${C}:${M.origin}${M.pathname}${M.search}`}catch{return`ext:${C}:${O}`}else{let M=g.textContent.trim(),v=5381;for(let A=0;A<M.length;A++)v=(v<<5)+v^M.charCodeAt(A);return`inline:${C}:${Math.abs(v).toString(36)}`}}let s="http://www.w3.org/1999/xhtml";function a(g){return g instanceof Element&&g.tagName==="SCRIPT"&&g.namespaceURI===s}function l(g){let T=document.createElement("div");T.innerHTML="<script><\/script>";let E=T.firstChild;for(let O of g.attributes)E.setAttribute(O.name,O.value);return E.textContent=g.textContent,E}function c(g){if(a(g))return l(g);if(g instanceof Element)for(let T of g.querySelectorAll("script"))a(T)&&T.replaceWith(l(T));return g}function m(g){let T=(g.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return T==="application/json"||T.endsWith("+json")}let p={match:g=>g.hasAttribute("merge"),identity:g=>g.getAttribute("merge")};function d(g,T,E){if(E.merge===!1)return null;let O=[p,...E.mergeTags||[]],C=new WeakMap,M=b=>{if(C.has(b))return C.get(b);let w=null;if(a(b)&&!b.getAttribute("src")&&!n(b)){let _=b;for(let j=0;j<O.length;j++)if(O[j].match(_)){if(!m(_))console.warn("[hyper-morph] merge ignored: script type is not JSON",_);else{let B=O[j].identity(_);B!=null&&B!==""&&(w={key:j+":"+B,raw:B,recognizer:O[j]})}break}}return C.set(b,w),w},v=new Set,A=b=>{let w=new Map,_=j=>{let B=M(j);B&&(w.has(B.key)?(v.add(B.key),console.warn(`[hyper-morph] merge disabled for duplicate identity "${B.raw}"`)):w.set(B.key,j))};a(b)&&_(b);for(let j of b.querySelectorAll("script"))_(j);return w},k=A(g),f=A(T.__hyperMorphRoot||T);if(k.size===0&&f.size===0)return null;let h=null;return{identityOf:M,disabled:v,oldByKey:k,newByKey:f,baseTexts:()=>{if(h)return h;h=new Map;let b=E.mergeBase;if(!b)return h;let w;typeof b=="string"?w=new DOMParser().parseFromString(b,"text/html").documentElement:b instanceof Document?w=b.documentElement:w=b;let _=j=>{let B=M(j);B&&!h.has(B.key)&&h.set(B.key,j.textContent)};a(w)&&_(w);for(let j of w.querySelectorAll("script"))_(j);return h}}}function u(g,T,E){let O=g.merge;if(!O)return!1;let C=O.identityOf(T);if(!C||O.disabled.has(C.key))return!1;let M=O.identityOf(E);if(!M||M.key!==C.key)return!1;let v=T,A=E,k=A.getAttribute("merge-key")||v.getAttribute("merge-key"),{text:f,warnings:h}=Ht(O.baseTexts().get(C.key),v.textContent,A.textContent,{parse:C.recognizer.parse,keyCandidates:k?k.split(/[\s,]+/).filter(Boolean):void 0});for(let x of h)console.warn(`[hyper-morph] merge "${C.raw}": ${x}`);return v.textContent!==f&&(v.textContent=f),!0}let y={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:e,afterNodeAdded:e,beforeNodeMorphed:e,afterNodeMorphed:e,beforeNodeRemoved:e,afterNodeRemoved:e,beforeAttributeUpdated:e},head:{style:"merge",shouldPreserve:g=>g.getAttribute("im-preserve")==="true",shouldReAppend:g=>g.getAttribute("im-re-append")==="true",shouldRemove:e,afterHeadMorphed:e},scripts:{handle:!0,matchMode:"outerHTML",shouldPreserve:g=>g.getAttribute("im-preserve")==="true",shouldReAppend:g=>g.getAttribute("im-re-append")==="true",shouldRemove:e,afterScriptsHandled:e},restoreFocus:!0},N={computeMatches(g,T){let{computeMatches:E}=i.session();return E(g,T)}};function R(g,T,E={}){g=gi(g);let O=Er(T),C=fi(g,O,E),M=C.scripts.handle?new Set(Array.from(g.querySelectorAll("script")).map(f=>o(f,C.scripts.matchMode,C.merge))):null,v=te(C),A=ee(C,g,O,f=>f.morphStyle==="innerHTML"?(z(f,g,O),Array.from(g.childNodes)):V(f,g,O)),k=f=>{v&&le(C,v),F(C);let h=M?Lt(f,M,C):[];return h.length>0?Promise.all(h).then(()=>f):f};return A instanceof Promise?A.then(k):k(A)}function F(g){for(let T of Array.from(g.pantry.childNodes))g.callbacks.beforeNodeRemoved(T)!==!1&&g.callbacks.afterNodeRemoved(T);g.pantry.remove()}function V(g,T,E){let O=Er(T);return z(g,O,E,T,T.nextSibling),Array.from(O.childNodes)}function te(g){if(!g.config.restoreFocus)return null;let T=document.activeElement;if(!(T instanceof HTMLInputElement||T instanceof HTMLTextAreaElement))return null;let{id:E,selectionStart:O,selectionEnd:C}=T;return{element:T,id:E,selectionStart:O,selectionEnd:C}}function le(g,T){let E=T.element;if(T.id&&T.id!==document.activeElement?.getAttribute("id")&&(E=g.target.querySelector(`[id="${CSS.escape(T.id)}"]`),E?.focus()),E&&!E.selectionEnd&&T.selectionEnd!=null)try{E.setSelectionRange(T.selectionStart,T.selectionEnd)}catch{}}let z=(function(){function g(f,h,x,b=null,w=null){h instanceof HTMLTemplateElement&&x instanceof HTMLTemplateElement&&(h=h.content,x=x.content),b||=h.firstChild;for(let _ of x.childNodes){if(r(_))continue;if(b&&b!=w){let B=E(f,_,b,w);if(B){B!==b&&C(f,b,B),oe(B,_,f),b=B.nextSibling;continue}}if(_ instanceof Element){let B=_.getAttribute("id");if(f.persistentIds.has(B)){let S=M(h,B,b,f);oe(S,_,f),b=S.nextSibling;continue}if(!f.idMap.has(_)){let S=f.hyperMatches.get(_);if(S&&!f.idMap.has(S)&&!k(S,h)){A(h,S,b),oe(S,_,f),b=S.nextSibling;continue}}}let j=T(h,_,b,f);j&&(b=j.nextSibling)}for(;b&&b!=w;){let _=b;b=b.nextSibling,r(_)||O(f,_)}}function T(f,h,x,b){if(b.callbacks.beforeNodeAdded(h)===!1)return null;if(b.idMap.has(h)){let w=h,_=document.createElementNS(w.namespaceURI,w.localName);return f.insertBefore(_,x),oe(_,h,b),b.callbacks.afterNodeAdded(_),_}else{let w=c(document.importNode(h,!0));return f.insertBefore(w,x),b.callbacks.afterNodeAdded(w),w}}let E=(function(){function f(b,w,_,j){let B=w instanceof Element&&!b.idMap.has(w)?b.hyperMatches.get(w):null,S=null,I=w.nextSibling,W=0,$=_;for(;$&&$!=j;){if(r($)){$=$.nextSibling;continue}if(x($,w)){if(h(b,$,w)||$===B&&!b.idMap.has($))return $;if(S===null){let K=$ instanceof Element&&b.hyperMatchedOldElements.has($);!b.idMap.has($)&&!K&&(S=$)}}if(S===null&&I&&x($,I)&&(W++,I=I.nextSibling,W>=2&&(S=void 0)),b.activeElementAndParents.includes($))break;$=$.nextSibling}return S||null}function h(b,w,_){let j=b.idMap.get(w),B=b.idMap.get(_);if(!B||!j)return!1;for(let S of j)if(B.has(S))return!0;return!1}function x(b,w){let _=b,j=w;return _.nodeType===j.nodeType&&_.tagName===j.tagName&&(!_.getAttribute?.("id")||_.getAttribute?.("id")===j.getAttribute?.("id"))}return f})();function O(f,h){let x=h instanceof Element&&f.hyperMatchedOldElements.has(h)&&!f.idMap.has(h);if(f.idMap.has(h)||x)A(f.pantry,h,null);else{if(f.callbacks.beforeNodeRemoved(h)===!1)return;h.parentNode?.removeChild(h),f.callbacks.afterNodeRemoved(h)}}function C(f,h,x){let b=h;for(;b&&b!==x;){let w=b;b=b.nextSibling,r(w)||O(f,w)}return b}function M(f,h,x,b){let w=b.target.getAttribute?.("id")===h&&b.target||b.target.querySelector(`[id="${CSS.escape(h)}"]`)||b.pantry.querySelector(`[id="${CSS.escape(h)}"]`);return v(w,b),A(f,w,x),w}function v(f,h){let x=f.getAttribute("id");for(;f=f.parentNode;){let b=h.idMap.get(f);b&&(b.delete(x),b.size||h.idMap.delete(f))}}function A(f,h,x){if(f.moveBefore)try{f.moveBefore(h,x)}catch{f.insertBefore(h,x)}else f.insertBefore(h,x)}function k(f,h){let x=h instanceof Element?h:h.realParentNode;return!!x&&f.contains(x)}return g})(),oe=(function(){function g(v,A,k){return k.ignoreActive&&v===document.activeElement?null:(k.callbacks.beforeNodeMorphed(v,A)===!1||(v instanceof HTMLHeadElement&&k.head.ignore||(v instanceof HTMLHeadElement&&k.head.style!=="morph"?fe(v,A,k):(T(v,A,k),u(k,v,A)||M(v,k)||z(k,v,A))),k.callbacks.afterNodeMorphed(v,A)),v)}function T(v,A,k){let f=A.nodeType;if(f===1){let h=v,x=A,b=h.attributes,w=x.attributes;for(let _ of w)C(_.name,h,"update",k)||h.getAttribute(_.name)!==_.value&&h.setAttribute(_.name,_.value);for(let _=b.length-1;0<=_;_--){let j=b[_];if(j&&!x.hasAttribute(j.name)){if(C(j.name,h,"remove",k))continue;h.removeAttribute(j.name)}}M(h,k)||E(h,x,k)}(f===8||f===3)&&v.nodeValue!==A.nodeValue&&(v.nodeValue=A.nodeValue)}function E(v,A,k){if(v instanceof HTMLInputElement&&A instanceof HTMLInputElement&&A.type!=="file"){let f=A.value,h=v.value;O(v,A,"checked",k),O(v,A,"disabled",k),k.formStateSync==="property"&&v.indeterminate!==A.indeterminate&&(v.indeterminate=A.indeterminate),k.formStateSync==="property"?h!==f&&(C("value",v,"update",k)||(v.value=f)):A.hasAttribute("value")?h!==f&&(C("value",v,"update",k)||(v.setAttribute("value",f),v.value=f)):C("value",v,"remove",k)||(v.value="",v.removeAttribute("value"))}else if(v instanceof HTMLOptionElement&&A instanceof HTMLOptionElement)O(v,A,"selected",k);else if(v instanceof HTMLTextAreaElement&&A instanceof HTMLTextAreaElement){let f=A.value,h=v.value;if(C("value",v,"update",k)||(f!==h&&(v.value=f),k.formStateSync==="property"))return;v.firstChild&&v.firstChild.nodeValue!==f&&(v.firstChild.nodeValue=f)}}function O(v,A,k,f){let h=A[k],x=v[k];if(h!==x){let b=C(k,v,"update",f);if(b||(v[k]=A[k]),f.formStateSync==="property")return;h?b||v.setAttribute(k,""):C(k,v,"remove",f)||v.removeAttribute(k)}}function C(v,A,k,f){return v==="value"&&f.ignoreActiveValue&&A===document.activeElement?!0:f.callbacks.beforeAttributeUpdated(v,A,k)===!1}function M(v,A){return!!A.ignoreActiveValue&&v===document.activeElement&&v!==document.body}return g})();function ee(g,T,E,O){if(g.head.block){let C=T.querySelector("head"),M=E.querySelector("head");if(C&&M){let v=fe(C,M,g);return Promise.all(v).then(()=>(g.head.block=!1,g.head.ignore=!0,O(g)))}}return O(g)}function pe(g){return g.tagName==="SCRIPT"?!!g.getAttribute("src"):g.tagName==="LINK"?(g.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")&&!!g.getAttribute("href"):!1}function fe(g,T,E){let O=[],C=[],M=[],v=[],A=E.scripts.matchMode,k=x=>{if(x.tagName==="SCRIPT")return o(x,A,E.merge);if(x.tagName==="LINK"&&A==="smart"){let b=x.getAttribute("href");if(b)try{let w=new URL(b,window.location.href);return`link:${x.getAttribute("rel")||""}:${w.origin}${w.pathname}${w.search}`}catch{}}return x.outerHTML},f=new Map;for(let x of T.children){if(r(x))continue;let b=k(x),w=f.get(b);w||(w=[],f.set(b,w)),w.push(x)}for(let x of g.children){let b=k(x),w=f.get(b),_=!!(w&&w.length),j=E.head.shouldReAppend(x),B=E.head.shouldPreserve(x);if(_||B)if(j)C.push(x);else{if(w&&w.length){let S=w.pop();w.length||f.delete(b),u(E,x,S)}M.push(x)}else E.head.style==="append"?j&&(C.push(x),v.push(x)):E.head.shouldRemove(x)!==!1&&!r(x)&&C.push(x)}for(let x of f.values())v.push(...x);let h=[];for(let x of v){let b=document.createRange().createContextualFragment(x.outerHTML).firstChild;if(E.callbacks.beforeNodeAdded(b)!==!1){if(b instanceof Element&&pe(b)){let w,_=new Promise(function(j){w=j});b.addEventListener("load",function(){w()}),b.addEventListener("error",function(){w()}),h.push(_)}g.appendChild(b),E.callbacks.afterNodeAdded(b),O.push(b)}}for(let x of C)E.callbacks.beforeNodeRemoved(x)!==!1&&(g.removeChild(x),E.callbacks.afterNodeRemoved(x));return E.head.afterHeadMorphed(g,{added:O,kept:M,removed:C}),h}function Lt(g,T,E){if(!E.scripts.handle)return[];let O=[],C=[],M=[],v=[],A=E.scripts.matchMode,k=[];for(let h of g)if(h instanceof Element){a(h)&&k.push(h);for(let x of h.querySelectorAll("script"))a(x)&&k.push(x)}for(let h of k){if(h.closest("head")||n(h))continue;let x=o(h,A,E.merge),b=T.has(x),w=E.scripts.shouldPreserve(h),_=E.scripts.shouldReAppend(h);b||w?_?(C.push(h),v.push(h)):M.push(h):v.push(h)}let f=[];for(let h of v){if(E.callbacks.beforeNodeAdded(h)===!1)continue;let x=document.createElement("script");for(let b of h.attributes)x.setAttribute(b.name,b.value);if(x.textContent=h.textContent,x.src){let b,w=new Promise(function(_){b=_});x.addEventListener("load",function(){b()}),x.addEventListener("error",function(){b()}),f.push(w)}h.replaceWith(x),E.callbacks.afterNodeAdded(x),O.push(x)}return E.scripts.afterScriptsHandled(E.target,{added:O,kept:M,removed:C}),f}let fi=(function(){function g(k,f,h){let{persistentIds:x,idMap:b}=v(k,f),w=N.computeMatches(k,f);if(typeof h.key=="function"){let I=new Map,W=new Set,$=D=>{let L=h.key(D);L!=null&&(I.has(L)?W.add(L):I.set(L,D))};k instanceof Element&&$(k);for(let D of k.querySelectorAll("*"))$(D);for(let D of W)I.delete(D);let K=new Map;for(let[D,L]of w)K.set(L,D);let re=f.__hyperMorphRoot||f,X=new Map,J=new Set,q=D=>{let L=h.key(D);L!=null&&(X.has(L)?J.add(L):X.set(L,D))};re instanceof Element&&q(re);for(let D of re.querySelectorAll("*"))q(D);for(let D of J)X.delete(D);for(let[D,L]of X){let H=I.get(D);if(!H||H.tagName!==L.tagName)continue;let G=K.get(H);G&&G!==L&&w.delete(G);let xe=w.get(L);xe&&xe!==H&&K.delete(xe),w.set(L,H),K.set(H,L)}}let _=T(h),j=d(k,f,_.scripts);if(j){let I=new Map;for(let[W,$]of w)I.set($,W);for(let[W,$]of j.newByKey){if(j.disabled.has(W))continue;let K=j.oldByKey.get(W);if(!K)continue;let re=I.get(K);re&&re!==$&&w.delete(re);let X=w.get($);X&&X!==K&&I.delete(X),w.set($,K),I.set(K,$)}}let B=new Set;for(let I of w.values())B.add(I);let S=_.morphStyle||"outerHTML";if(!["innerHTML","outerHTML"].includes(S))throw new Error(`Do not understand how to morph style ${S}`);return{target:k,newContent:f,config:_,morphStyle:S,ignoreActive:_.ignoreActive,ignoreActiveValue:_.ignoreActiveValue,restoreFocus:_.restoreFocus,formStateSync:_.formStateSync||"attribute",idMap:b,persistentIds:x,hyperMatches:w,hyperMatchedOldElements:B,merge:j,pantry:E(),activeElementAndParents:O(k),callbacks:_.callbacks,head:_.head,scripts:_.scripts}}function T(k){let f=Object.assign({},y);return Object.assign(f,k),f.callbacks=Object.assign({},y.callbacks,k.callbacks),f.head=Object.assign({},y.head,k.head),f.scripts=Object.assign({},y.scripts,k.scripts),f}function E(){let k=document.createElement("div");return k.hidden=!0,document.body.insertAdjacentElement("afterend",k),k}function O(k){let f=[],h=document.activeElement;if(h?.tagName!=="BODY"&&k.contains(h))for(;h&&(f.push(h),h!==k);)h=h.parentElement;return f}function C(k){let f=Array.from(k.querySelectorAll("[id]"));return k.getAttribute?.("id")&&f.push(k),f}function M(k,f,h,x){for(let b of x){let w=b.getAttribute("id");if(f.has(w)){let _=b;for(;_;){let j=k.get(_);if(j==null&&(j=new Set,k.set(_,j)),j.add(w),_===h)break;_=_.parentElement}}}}function v(k,f){let h=C(k),x=C(f),b=A(h,x),w=new Map;M(w,b,k,h);let _=f.__hyperMorphRoot||f;return M(w,b,_,x),{persistentIds:b,idMap:w}}function A(k,f){let h=new Set,x=new Map;for(let w of k){let _=w.getAttribute("id");x.has(_)?h.add(_):x.set(_,w.tagName)}let b=new Set;for(let w of f){let _=w.getAttribute("id");b.has(_)?h.add(_):x.get(_)===w.tagName&&b.add(_)}for(let w of h)b.delete(w);return b}return g})(),{normalizeElement:gi,normalizeParent:Er}=(function(){let g=new WeakSet;function T(v){return v instanceof Document?v.documentElement:v}function E(v){if(v==null)return document.createElement("div");if(typeof v=="string")return E(M(v));if(g.has(v))return v;if(v instanceof Node){if(v.parentNode)return new O(v);{let A=document.createElement("div");return A.append(v),A}}else{let A=document.createElement("div");for(let k of[...v])A.append(k);return A}}class O{constructor(A){this.originalNode=A,this.realParentNode=A.parentNode,this.previousSibling=A.previousSibling,this.nextSibling=A.nextSibling}get childNodes(){let A=[],k=this.previousSibling?this.previousSibling.nextSibling:this.realParentNode.firstChild;for(;k&&k!=this.nextSibling;)A.push(k),k=k.nextSibling;return A}querySelectorAll(A){return this.childNodes.reduce((k,f)=>{if(f instanceof Element){f.matches(A)&&k.push(f);let h=f.querySelectorAll(A);for(let x=0;x<h.length;x++)k.push(h[x])}return k},[])}insertBefore(A,k){return this.realParentNode.insertBefore(A,k)}moveBefore(A,k){return this.realParentNode.moveBefore(A,k)}get __hyperMorphRoot(){return this.originalNode}}function C(v){let A=x=>`<${x}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,k=v.replace(/<!--[\s\S]*?-->/g,"");for(let x of["script","style","textarea","title"])k=k.replace(new RegExp(`${A(x)}[\\s\\S]*?</${x}\\s*>`,"gi"),"");let f=new RegExp(`${A("svg")}[\\s\\S]*?</svg\\s*>`,"gi"),h;do h=k,k=k.replace(f,"");while(k!==h);return k}function M(v){let A=new DOMParser,k=C(v);if(k.match(/<\/html>/)||k.match(/<\/head>/)||k.match(/<\/body>/)){let f=A.parseFromString(v,"text/html");if(k.match(/<\/html>/))return g.add(f),f;{let h=f.firstChild;return h&&g.add(h),h}}else{let h=A.parseFromString("<body><template>"+v+"</template></body>","text/html").body.querySelector("template").content;return g.add(h),h}}return{normalizeElement:T,normalizeParent:E}})(),Cr=Symbol("hyper-morph-duplicate-key"),Tr=[g=>g.getAttribute("data-id"),g=>g.getAttribute("id")];function Ue(g,T){return T.map(E=>{let O=new Map;for(let C of g){if(C.nodeType!==1)continue;let M=E(C);M==null||M===""||O.set(M,O.has(M)?Cr:C)}return O})}function Rr(g,T,E,O){for(let C=0;C<O.length;C++){let M=O[C](g);if(M==null||M===""||T[C].get(M)!==g)continue;let v=E[C].get(M);if(!(!v||v===Cr)&&v.tagName===g.tagName)return v}return null}function Se(g,T,E){for(let O=0;O<E.length;O++){let C=E[O](g);if(!(C==null||C==="")&&T[O].get(C)===g)return!0}return!1}function bi(g,T,E={}){let O=E.skip||(()=>!1),C=E.ignoreAttr||(()=>!1),M=E.tiers&&E.tiers.length?E.tiers:Tr,v=null;function A(){return v||(v=Ue([g,...g.querySelectorAll("*")],M)),v}let k=null;function f(){return k||(k=Ue([T,...T.querySelectorAll("*")],M)),k}function h(q){return!q.parentElement||!q.parentElement.parentElement}function x(q,D,L){return h(q)||Se(q,A(),M)?(L.push({type:"subtree",el:q,base:D}),!1):!0}function b(q,D){let L=[];for(let H of q.attributes)C(q,H.name)||D.getAttribute(H.name)!==H.value&&L.push(H.name);for(let H of D.attributes)C(q,H.name)||q.hasAttribute(H.name)||L.push(H.name);return L}function w(q){let D=[],L=null,H=()=>{L!==null&&(D.push({nodeType:3,nodeValue:L}),L=null)};for(let G of q.childNodes){if(G.nodeType===3){L=(L===null?"":L)+G.nodeValue;continue}G.nodeType===1&&O(G)||(H(),(G.nodeType===1||G.nodeType===8)&&D.push(G))}return H(),D}function _(q,D){if(q.nodeType!==D.nodeType)return!1;if(q.nodeType!==1)return!0;if(q.tagName!==D.tagName)return!1;for(let L of M){let H=L(q),G=L(D);if(H!=null&&H!==""&&G!=null&&G!==""&&H!==G)return!1}return!0}function j(q){let D="";for(let L of q)L.nodeType===3&&L.nodeValue.trim()!==""?D+="\0"+L.nodeValue:L.nodeType===8&&(D+=""+L.nodeValue);return D}function B(q,D,L){let H=w(q),G=w(D);if(H.length===G.length){let P=!0;for(let Z=0;Z<H.length;Z++)if(!_(H[Z],G[Z])){P=!1;break}if(P){for(let Z=0;Z<H.length;Z++){let Ee=H[Z];if(Ee.nodeType===1){if(S(Ee,G[Z],L))return!0}else if(Ee.nodeValue!==G[Z].nodeValue)return!0}return!1}}let xe=H.filter(P=>P.nodeType===1),Ft=G.filter(P=>P.nodeType===1);if(j(H)!==j(G))return!0;let Or=Ue(xe,M),Mr=Ue(Ft,M),qt=[],Dt=new Set,Nr=[];for(let P of xe){let Z=Rr(P,Or,Mr,M);Z&&!Dt.has(Z)?(qt.push([P,Z]),Dt.add(Z)):Nr.push(P)}let ge=[];for(let P of Nr)Se(P,Or,M)?L.push({type:"subtree",el:P,base:null}):ge.push(P);let ze=[];for(let P of Ft)Dt.has(P)||(Se(P,Mr,M)?L.push({type:"deletion",el:P}):ze.push(P));if(ge.length!==ze.length)return!0;for(let P=0;P<ge.length;P++)if(!_(ge[P],ze[P]))return!0;let Ir=new Map(qt);for(let P=0;P<ge.length;P++)Ir.set(ge[P],ze[P]);let jr=-1;for(let P of xe){let Z=Ir.get(P);if(!Z)continue;let Ee=Ft.indexOf(Z);if(Ee<jr)return!0;jr=Ee}for(let P=0;P<ge.length;P++)if(S(ge[P],ze[P],L))return!0;for(let[P,Z]of qt)if(S(P,Z,L))return!0;return!1}function S(q,D,L){if(q.tagName!==D.tagName)return x(q,D,L);let H=b(q,D),G=[];if(B(q,D,G))return x(q,D,L);if(H.length){if(!h(q)&&!Se(D,f(),M))return!0;L.push({type:"attrs",el:q,names:H,base:D})}return L.push(...G),!1}let I=[],W=b(g,T);W.length&&I.push({type:"attrs",el:g,names:W});let $=(q,D)=>Array.from(q.children).find(L=>L.tagName===D)||null,K=$(g,"HEAD"),re=$(T,"HEAD");if(K&&re){let q=[];S(K,re,q),q.length&&I.push({type:"head",el:K})}else(K||re)&&K&&I.push({type:"head",el:K});let X=$(g,"BODY"),J=$(T,"BODY");return X&&J?S(X,J,I):X&&I.push({type:"subtree",el:X,base:null}),{entries:I}}function ki(g,T,E={}){let O=E.tiers&&E.tiers.length?E.tiers:Tr,C=g.documentElement,M=[],v=0,A=S=>({ok:!1,placed:M,held:S,skippedAttrs:v});if(!C)return A(null);function k(S){let I=[S,...S.querySelectorAll("*")];return Ue(I,O)}let f=k(C),h=new Map,x=S=>{let I=S.getRootNode(),W=h.get(I);if(!W){let $=I.nodeType===9?I.documentElement:I;W=k($),h.set(I,W)}return W};function b(S){if(!S.parentElement&&S.tagName==="HTML")return C;if(S.parentElement&&!S.parentElement.parentElement&&S.parentElement.tagName==="HTML"){if(S.tagName==="BODY")return g.body||null;if(S.tagName==="HEAD")return g.head||null}return null}function w(S){let I=b(S);return I||Rr(S,x(S),f,O)}function _(S){if(!S)return null;let I=w(S);return I&&I.isConnected?I:null}function j(S){for(let I=0;I<O.length;I++){let W=O[I](S);W!=null&&W!==""&&f[I].set(W,S)}}for(let S of T){if(S.type!=="deletion")continue;let I=w(S.el);I&&I!==C&&I.remove()}let B=T.filter(S=>S.type!=="deletion").sort((S,I)=>S.el===I.el?0:S.el.compareDocumentPosition(I.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let S of B){if(S.type==="head"){let J=g.importNode(S.el,!0);g.head?g.head.replaceWith(J):C.insertBefore(J,C.firstChild),M.push({entry:S,imported:J});continue}if(S.type==="attrs"){let J=_(S.el)||_(S.base);if(!J){v++;continue}for(let q of S.names)S.el.hasAttribute(q)?J.setAttribute(q,S.el.getAttribute(q)):J.removeAttribute(q);continue}let I=S.el;if(b(I))return A(S);let W=_(I)||_(S.base);if(W){let J=g.importNode(I,!0);W.replaceWith(J),j(J),M.push({entry:S,imported:J});continue}if(S.base!=null&&!Se(S.base,x(S.base),O)||!Se(I,x(I),O))return A(S);let $=I.parentElement;if(!$)return A(S);let K=_($);if(!K)return A(S);let re=null;for(let J=I.previousElementSibling;J;J=J.previousElementSibling){let q=_(J);if(q&&q.parentNode===K){re=q;break}}let X=g.importNode(I,!0);if(re)K.insertBefore(X,re.nextSibling);else{let J=Array.prototype.indexOf.call($.children,I);K.insertBefore(X,K.children[J]||null)}j(X),M.push({entry:S,imported:X})}return{ok:!0,placed:M,held:null,skippedAttrs:v}}return{morph:R,defaults:y,findChangedRoots:bi,spliceProtected:ki,mergeJson:zt,mergeScriptText:Ht,parseJsonRelaxed:ot,parseRulesRelaxed:Hr}})();var Na=Ve.morph,Ia=Ve.defaults,ja=Ve.findChangedRoots,La=Ve.spliceProtected;var Vt=Ve;var at=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Wt=new Set(at),Gr=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Jr=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var lt={};Pt(lt,{EmptyListInsert:()=>Ke,MAX_RULE_DEPTH:()=>Oe,MaxRuleDepthExceeded:()=>we,RuleTargetReadOnly:()=>Ge,RulesParseError:()=>Te,ShapeMismatch:()=>We,UnknownRulesVersion:()=>Re});var Te=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},Re=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},Oe=20,we=class extends Error{constructor(t){super(`rule depth exceeded ${Oe} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},We=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Ke=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},Ge=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}};function ke(e,t,r,n={}){return Kt(e,t,r,{depth:0,path:[]},n)}function Kt(e,t,r,n,i){if(n.depth>Oe)throw new we(n.path);if(typeof r=="string")return Yi(e,t,r,n,i);if(Array.isArray(r)){let[o,s]=r,a=e.find(t,o,i);return Zr(i,n,a),a.map((l,c)=>Kt(e,l,s,{depth:n.depth+1,path:[...n.path,c]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[s,a]of Object.entries(r))o[s]=Kt(e,t,a,{depth:n.depth+1,path:[...n.path,s]},i);return o}return null}function Yi(e,t,r,n,i){if(r.endsWith("[]")){let a=r.slice(0,-2),l=e.find(t,a,i);return Zr(i,n,l),l.map(c=>e.text(c))}if(r.startsWith("@"))return Yr(e,t,r.slice(1));let o=Q(r);if(o!==-1){let a=r.slice(0,o),l=r.slice(o+1),c=a?e.find(t,a,i):[t];return c.length===0?null:Yr(e,c[0],l)}if(r===".")return e.text(t);let s=e.find(t,r,i);return s.length===0?null:e.text(s[0])}function Zr(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function Yr(e,t,r){if(Wt.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n||null}function Zi(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function Xi(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Qi={find(e,t,r={}){let n=Xi(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(a=>!Zi(a)));let o=[];r.skip&&o.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&o.push("["+s+"]"),o.length){let a=o.join(", ");i=i.filter(l=>!l.closest||!l.closest(a))}return i},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){return e.cloneNode(!0)},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let n=e.ownerDocument.createElement("template");n.innerHTML=t;let i=n.content.firstElementChild;if(!i)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(i,e),i},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(n=>{n.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}},ue=Qi;function Gt(e){try{return JSON.parse(e)}catch(t){throw new Te(`Invalid strict JSON: ${t.message}`,t)}}function Me(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],s=0;for(;s<i.length;){let a=i[s];if(/\s/.test(a)){s++;continue}if("{}".includes(a)){o.push({type:a,value:a}),s++;continue}if(a==="["){let p=!1,d=s+1;for(;d<i.length&&/\s/.test(i[d]);)d++;if(d<i.length&&/[a-zA-Z_]/.test(i[d])&&(p=!0),!p){o.push({type:a,value:a}),s++;continue}}if(a==="]"){o.push({type:a,value:a}),s++;continue}if(a===":"){o.push({type:t.COLON,value:a}),s++;continue}if(a===","){o.push({type:t.COMMA,value:a}),s++;continue}if(a==='"'||a==="'"){let p=a,d=s+1;for(;d<i.length&&i[d]!==p;)i[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:i.substring(s+1,d),quoted:!0,sourceQuote:p}),s=d+1;continue}let l=s,c;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let p=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],d=!1;for(let u of p){let y=u.substring(1);if(i.substring(l+1,l+1+y.length)===y){d=!0,l+=y.length;break}}if(!d)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let p=i[l];for(l++;l<i.length&&i[l]!==p;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;c=i.substring(s,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(c)?m=t.NUMBER:c==="true"||c==="false"||c==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(c)&&(m=t.SELECTOR),o.push({type:m,value:c,quoted:!1}),s=l}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let a=i[s];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let l=i[s+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING&&a.quoted){let l=a.value;a.sourceQuote==="'"&&(l=l.replace(/\\'/g,"'"),l=l.replace(/(\\*)"/g,(c,m)=>m.length%2===0?m+'\\"':c)),o+=`"${l}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}if(a.type===t.SELECTOR||a.type===t.IDENTIFIER){o+=`"${a.value}"`;continue}o+=`"${a.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Te("Invalid extraction rules syntax: "+i.message,i)}}var Qr="1",Xr=/^[a-zA-Z0-9_-]+$/;function Je(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!Xr.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${Xr})`);n=`script[data-rules-name~="${r}"]`}let i=e.find(t,n,{includeRulesTag:!0});if(i.length===0)return null;r!==void 0&&i.length>1&&console.warn(`hyper-html-api: ${i.length} rules tags match data-rules-name~="${r}"; using the first.`);let o=i[0],s=e.attr(o,"data-rules-version");if(s!==Qr)throw new Re(s);return{rules:Me(e.text(o)),tagNode:o}}var ml=new Function("url","return import(url)");function sn(e,t,r,n){let i=e.length,o=t.length,s=new Array(i).fill(-1);if(n){let R=new Set;for(let F=0;F<i;F++){let V=n[F];!(V>=0&&V<o)||R.has(V)||(s[F]=V,R.add(V))}}if(i===0||o===0)return s;let a=e.map(R=>nn(R,r)),l=t.map(R=>nn(R,r)),c=new Array(o).fill(!1);for(let R of s)R>=0&&(c[R]=!0);let m=new Map;l.forEach((R,F)=>{c[F]||m.set(R,m.has(R)?-1:F)});let p=new Map;a.forEach((R,F)=>{s[F]>=0||p.set(R,(p.get(R)||0)+1)}),a.forEach((R,F)=>{if(s[F]>=0||p.get(R)!==1)return;let V=m.get(R);V===void 0||V===-1||c[V]||(s[F]=V,c[V]=!0)});let d=[];for(let R=0;R<i;R++)s[R]<0&&d.push(R);let u=[];for(let R=0;R<o;R++)c[R]||u.push(R);if(d.length===0||u.length===0)return s;let y=i*o+1,N=(R,F)=>to(e[R],t[F],r)*y+Math.abs(R-F);for(let[R,F]of ro(d,u,N))s[R]=F;return s}var an=e=>typeof e=="object"&&e!==null;function nn(e,t){if(!an(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let i=JSON.stringify(e?.[n]);return i===void 0?" undef":i}))}function to(e,t,r){if(!an(r))return e===t?0:1;let n=Object.keys(r);if(n.length===0)return 0;let i=0;for(let o of n){let s=JSON.stringify(e?.[o]),a=JSON.stringify(t?.[o]);s!==a&&i++}return i}function ro(e,t,r){return e.length<=t.length?on(e,t,r,!1):on(t,e,(n,i)=>r(i,n),!0)}function on(e,t,r,n){let i=e.length,o=t.length,s=[];for(let p=0;p<=i;p++)s.push(new Float64Array(o+1).fill(1/0));let a=[];for(let p=0;p<=i;p++)a.push(new Uint8Array(o+1));for(let p=0;p<=o;p++)s[i][p]=0;for(let p=i-1;p>=0;p--)for(let d=o-1;d>=0;d--){let u=r(e[p],t[d])+s[p+1][d+1],y=s[p][d+1];u<=y?(s[p][d]=u,a[p][d]=1):s[p][d]=y}let l=[],c=0,m=0;for(;c<i&&m<o;)a[c][m]&&(l.push(n?[t[m],e[c]]:[e[c],t[m]]),c++),m++;return l}function Yt(e,t,r,n,i,o,s,a={}){let l=e.find(t,r,a);if(i.length===0){l.forEach(z=>e.remove(z)),Jt(a,"onRowsApplied",o.path,[]);return}let c=i.length>l.length,m=l[0]||null;if(c&&!m&&(m=so(e,t,r,a),!m))throw new Ke(o.path);let p=l.map(z=>oo(e,z,n,a)),d=null;if(c&&m){d=e.clone(m),a.templateAttr&&e.removeAttr(d,a.templateAttr);let z=e.stripIds(d);z>0&&console.warn(`[hyper-html-api] stripped ${z} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let u=sn(i,p,n,no(e,l,i,o,a)),y=l[0]||m,N=e.parent(y),R=l.length>0?ln(e,N,y):0,F=ao(e,l),V=new Set,te=[],le=i.map((z,oe)=>{let ee=u[oe];if(ee>=0)return V.add(ee),te.push(!1),l[ee];te.push(!0);let pe=e.clone(d);return e.stripIds(pe),pe});l.forEach((z,oe)=>{V.has(oe)||e.remove(z)}),F?le.forEach((z,oe)=>{let ee=R+oe;e.children(N).findIndex(Lt=>e.sameNode(Lt,z))!==ee&&e.insertAt(N,z,ee)}):lo(e,le,te,N,R),io(e,le,n,i,o,s,a),Jt(a,"onRowsApplied",o.path,le)}function Jt(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(i){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,i);return}}function no(e,t,r,n,i){let o=Jt(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let s=new Array(r.length).fill(-1),a=new Set;for(let l=0;l<r.length;l++)if(o[l]){for(let c=0;c<t.length;c++)if(!(a.has(c)||!e.sameNode(t[c],o[l]))){s[l]=c,a.add(c);break}}return s}function io(e,t,r,n,i,o,s){t.forEach((a,l)=>{if(r===null){let c=n[l],m=c==null?"":String(c);e.text(a)!==m&&e.text(a,m)}else{let c=o(e,a,r,n[l],{depth:i.depth+1,path:[...i.path,l]},s);c&&c!==a&&(t[l]=c)}})}function oo(e,t,r,n){return r===null?e.text(t):ke(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function ln(e,t,r){let n=e.children(t);for(let i=0;i<n.length;i++)if(e.sameNode(n[i],r))return i;return-1}function so(e,t,r,n){if(!n.templateAttr)return null;let i=t;for(;i;){let o=e.find(i,r,{includeRulesTag:!1,templateAttr:null});for(let s of o)if(e.attr(s,n.templateAttr)!=null)return s;i=e.parent(i)}return null}function ao(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=e.children(r),i=[];for(let o of t){let s=n.findIndex(a=>e.sameNode(a,o));if(s===-1)return!1;i.push(s)}return i.sort((o,s)=>o-s),i[i.length-1]-i[0]===i.length-1}function lo(e,t,r,n,i){let o=null,s=i;for(let a=0;a<t.length;a++){if(!r[a]){o=t[a];continue}let l=o?e.parent(o):n;if(!l)continue;let c=o?ln(e,l,o)+1:s++;e.insertAt(l,t[a],c),o=t[a]}}var cn=new Set(["checked","selected","disabled","readOnly","paused"]);function Ne(e,t,r,n,i={}){let o=[];if(Zt(r,n,[],o),o.length)throw new We(o);ct(e,t,r,n,{depth:0,path:[]},i)}function ct(e,t,r,n,i,o={}){if(i.depth>Oe)throw new we(i.path);if(n===void 0)return t;if(typeof r=="string")return co(e,t,r,n,i,o);if(Array.isArray(r)){let[s,a]=r;return Yt(e,t,s,a,n,i,ct,o),t}if(typeof r=="object"&&r!==null){for(let[s,a]of Object.entries(r)){let l=ct(e,t,a,n==null?n:n[s],{depth:i.depth+1,path:[...i.path,s]},o);l&&l!==t&&(t=l)}return t}return t}function co(e,t,r,n,i,o){if(r.endsWith("[]")){let l=r.slice(0,-2);return Yt(e,t,l,null,n,i,ct,o),t}if(r.startsWith("@"))return dn(e,t,r.slice(1),n);let s=Q(r);if(s!==-1){let l=r.slice(0,s),c=r.slice(s+1),m=l?e.find(t,l,o):[t];return m.length===0||dn(e,m[0],c,n),t}if(r===".")return un(e,t,n),t;let a=e.find(t,r,o);return a.length===0||un(e,a[0],n),t}function un(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function dn(e,t,r,n){if(Jr.has(r))throw new Ge(r);if(r==="outerHTML"){let i=n==null?"":String(n);return e.replaceWith(t,i)}return Gr.has(r)?(e.prop(t,r,uo(r,n)),t):(e.attr(t,r,n==null?"":String(n)),t)}function uo(e,t){return t==null?cn.has(e)?!1:"":cn.has(e)?t==="false"?!1:!!t:t}function Zt(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((i,o)=>{typeof i=="object"&&i!==null&&n.push({path:Ze([...r,o]),expected:"scalar",got:Ye(i)})}):n.push({path:Ze(r),expected:"array",got:Ye(t)});return}t!==null&&typeof t=="object"&&n.push({path:Ze(r),expected:"scalar",got:Ye(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:Ze(r),expected:"array",got:Ye(t)});return}let i=e[1];t.forEach((o,s)=>Zt(i,o,[...r,s],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:Ze(r),expected:"object",got:Ye(t)});return}for(let[i,o]of Object.entries(e))Zt(o,t[i],[...r,i],n)}}}function Ye(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Ze(e){return e.join(".")}function Xt(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return Je(e,n,r)}return null}function hn(e,t,r,n){let i=Xt(e,t,r);if(!i){let a=typeof r=="string"?`data-rules-name~="${r}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${a}`)}let{rules:o,tagNode:s}=i;return{rules:o,tagNode:s,get:()=>ke(e,t,o,n),set:a=>Ne(e,t,o,a,n)}}var ne={extract:(e,t,r)=>ke(ue,e,t,r),apply:(e,t,r,n)=>Ne(ue,e,t,r,n),findRulesIn:(e,t)=>Je(ue,e,t),findRules:(e,t)=>Xt(ue,e,t),bind:(e,t,r)=>hn(ue,e,t,r),parseStrict:Gt,parseRelaxed:Me,ruleAttrIndex:Q,splitRule:it,errors:lt,DOM_PROPERTIES:at};var er={};Pt(er,{fromString:()=>me,getRuleAtPath:()=>_e,getValueAtPath:()=>So,setAtPath:()=>Qt,toString:()=>Ao});function Ao(e){return e.map(String).join(".")}function me(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function _e(e,t){let r=e;for(let n of t){if(r==null)return;if(typeof r=="string"){if(r.endsWith("[]")&&(typeof n=="number"||n==="*")){r=r.slice(0,-2);continue}return}if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function So(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function Qt(e,t,r){if(t.length===0)return r;let[n,...i]=t;if(typeof n=="number"){let o=Array.isArray(e)?[...e]:[];return o[n]=Qt(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:Qt((e||{})[n],i,r)}}function Xe(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[r,n]of Object.entries(e))t[r]=Xe(n);return t}return""}function ut(e,t,{ignoreActiveValue:r=!0}={}){Vt.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property"})}function mt(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var Eo='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',tr='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',gn={"@scalar":`
1
+ var hypercms=(()=>{var Qo=Object.defineProperty;var _c=Object.getOwnPropertyDescriptor;var Cc=Object.getOwnPropertyNames;var Oc=Object.prototype.hasOwnProperty;var ei=(e,t)=>{for(var n in t)Qo(e,n,{get:t[n],enumerable:!0})},Nc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cc(t))!Oc.call(e,o)&&o!==n&&Qo(e,o,{get:()=>t[o],enumerable:!(r=_c(t,o))||r.enumerable});return e};var Rc=e=>Nc(Qo({},"__esModule",{value:!0}),e);var Wh={};ei(Wh,{cms:()=>zh,default:()=>Vh});function St(e){let t=0,n=null,r=-1;for(let o=0;o<e.length;o++){let i=e[o];i==="\\"?o++:n?i===n&&(n=null):i==='"'||i==="'"?n=i:i==="["||i==="("?t++:i==="]"||i===")"?t>0&&t--:i==="@"&&t===0&&(r=o)}return r}function oo(e){let t=St(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function io(e,t){if(typeof e=="string"){let n=t&&t.defaultView,r=n&&n.DOMParser||globalThis.DOMParser;return new r().parseFromString(e,"text/html")}if(e&&e.nodeType===9)return e;throw new TypeError("expected an HTML string or a Document")}function ti(e){let t=new Map;return(n,r)=>{if(typeof r!="string")return io(r,e);let o=t.get(n);if(o&&o.text===r)return o.doc;let i=io(r,e);return t.set(n,{text:r,doc:i}),i}}function As(e,t){let n=t.doctype;if(!n)return!1;let r=e.doctype;if(r&&r.name===n.name&&r.publicId===n.publicId&&r.systemId===n.systemId)return!1;let o=e.implementation.createDocumentType(n.name,n.publicId,n.systemId);return r?e.replaceChild(o,r):e.insertBefore(o,e.documentElement),!0}function ni(e,t=[]){if(typeof e!="function")return()=>!1;let n=new WeakMap,r=new Set(t);return o=>{if(!o||o.nodeType!==1)return!1;let i=n.get(o);if(i!==void 0)return i;let s=[],l=o,a=!1;for(;l&&l.nodeType===1;){let h=n.get(l);if(h!==void 0){a=h;break}if(s.push(l),e(l,r.has(l))){a=!0;break}if(r.has(l))break;l=l.parentElement}for(let h of s)n.set(h,a);return a}}function ri(e,t){let n=new WeakMap;if(!e||!t||typeof t!="object"||Array.isArray(t))return n;let r=t["~"],o=typeof r=="string"?r.split(",").map(Number):null,i=o&&typeof t["^"]=="string"?t["^"].split(","):null,s=b=>Number.isInteger(b)&&b>=0,l=0,a=!1,h=b=>{let f=b;for(;f>0;){let u=o[l++];if(l>o.length||!s(u))return!1;f+=u-1}return!0},d=(b,f)=>{if(a)return;if(o){let p=l++,v=o[p];if(p>=o.length||!s(v)){a=!0;return}let A=!i||i[p]===b.tagName.toLowerCase();if(!A||v!==b.children.length){let M=A&&t[f];typeof M=="string"&&M&&n.set(b,M),h(v)||(a=!0);return}}let u=t[f];typeof u=="string"&&u&&n.set(b,u);let m=b.children;for(let p=0;p<m.length;p++)d(m[p],f===""?String(p):`${f}.${p}`)};return d(e,""),n}function Ss(e){return t=>{for(let n of e){let r=n(t);if(typeof r=="string"&&r!=="")return r}return null}}var In=Ss([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function so(e,t,n,r=null){let o=new Map,i=new Set,s=l=>{if(n(l))return;let a=t(l);a&&(o.has(a)?i.add(a):o.set(a,l))};if(r){let l=a=>{for(let h of a.querySelectorAll(r))s(h);for(let h of a.querySelectorAll("template"))h.content&&l(h.content)};s(e),l(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let l=a=>{s(a);let h=a.tagName==="TEMPLATE"&&a.content?a.content.children:a.children;for(let d=0;d<h.length;d++)l(h[d])};l(e)}for(let l of i)o.delete(l),l.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${l.slice(l.indexOf(":",6)+1)}"`);return o}var Lc=new Set(["href","src","name","type","role"]),Es=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function Vn(e,t=5381){let n=t;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return n>>>0}function Ts(e){return e.replace(/\s+/g," ")}function _s({ignored:e=()=>!1,ignoreAttribute:t=()=>!1}={}){let n=new WeakMap,r=new WeakMap;function o(f){let u=f.attributes,m=u.length;if(m===0)return{all:"",sig:f.tagName+"|"};let p=[],v="",A=[];for(let M=0;M<m;M++){let L=u[M],H=L.name;t(f,H)||p.push(H+"="+L.value),H==="class"?v=L.value.indexOf(" ")<0?L.value:L.value.split(/\s+/).filter(Boolean).sort().join(" "):Lc.has(H)&&A.push(H+"="+L.value)}return p.length>1&&p.sort(),A.length>1&&A.sort(),{all:p.join(""),sig:f.tagName+"|"+v+(A.length?"|"+A.join("|"):"")}}function i(f){return f.nodeType===1&&f.tagName==="TEMPLATE"&&f.content?f.content.childNodes:f.childNodes}function s(f){let u=n.get(f);if(u)return u;if(f.nodeType===3)u={hash:"T"+Vn(f.nodeValue),hint:Ts(f.nodeValue).slice(0,64),sig:null,tok:null};else if(f.nodeType===8)u={hash:"C"+Vn(f.nodeValue),hint:"",sig:null,tok:null};else if(f.nodeType===1){let m=o(f),p=Vn(f.tagName+""+m.all),v="";for(let A of a(f))if(A.nodeType===1){let M=s(A);p=Vn(M.hash,p),v.length<64&&(v+=" "+M.hint)}else p=Vn(h(A),p),A.kind==="text"&&v.length<64&&(v+=A.value.slice(0,64));u={hash:"E"+p,hint:Ts(v).trim().slice(0,64),sig:m.sig,tok:null}}else u={hash:"N"+f.nodeType,hint:"",sig:null,tok:null};return n.set(f,u),u}function l(f){if(!f.tok){f.tok=new Set;for(let u of f.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))u&&f.tok.add(u)}return f.tok}function a(f){let u=r.get(f);if(u)return u;u=[];let m=null,p=()=>{m&&(m.value=m.nodes.map(v=>v.nodeValue).join(""),u.push(m),m=null)};for(let v of i(f)){if(v.nodeType===3){m||(m={kind:"text",nodes:[],value:"",parent:f,hash:void 0}),m.nodes.push(v);continue}p(),v.nodeType===8?u.push({kind:"comment",nodes:[v],value:v.nodeValue,parent:f,hash:void 0}):v.nodeType===1&&!e(v)&&u.push(v)}return p(),r.set(f,u),u}function h(f){return f.nodeType===1?s(f).hash:(f.hash===void 0&&(f.hash=(f.kind==="text"?"T":"C")+Vn(f.value)),f.hash)}function d(f,u){let m=l(s(f)),p=l(s(u));if(m.size===0&&p.size===0)return{coef:1,share:1};if(m.size===0||p.size===0)return null;let v=0;for(let A of m)p.has(A)&&v++;return{coef:v/Math.min(m.size,p.size),share:v/Math.max(m.size,p.size)}}function b(f,u){let m=d(f,u);return!!m&&m.coef>=.5}return{meta:s,unitsOf:a,unitHash:h,similar:b,score:d,childrenOf:i}}var Cs=16,Ic=2e3,jc=3,Dc={align:0};function oi(e,t,n){let{meta:r,unitsOf:o,unitHash:i,similar:s,score:l}=n.analyzer,a=n.baseId||(()=>null),h=n.sideId||(()=>null),d=new Map,b=new Map,f=new Set,u=new Map,m=new Set,p=new Set,v=new Set,A=[],M=[],L=[],H=[],B=Ic,te=new Map,re=new Map,K=(k,g)=>{d.set(k,g),b.set(g,k)},W=k=>!!k&&k.nodeType===1,he=(k,g)=>{let y=u.get(k);return!!y&&y.has(g)},V=k=>Es.has(k.tagName),xe=(k,g)=>{let y=a(k);if(!y)return!0;let O=h(g);return!O||y===O},We=globalThis.__hyperMorphProfile,at=We?performance.now():0;We&&(r(e),r(t),We.meta=(We.meta||0)+(performance.now()-at),at=performance.now()),K(e,t);for(let[k,g]of n.baseIndex){let y=n.sideIndex.get(k);y&&y.tagName===g.tagName&&!d.has(g)&&!b.has(y)&&K(g,y)}H.push([e,t]);for(let[k,g]of d)W(k)&&k!==e&&H.push([k,g]);return dt(),Nt(),We&&(We.align=(We.align||0)+(performance.now()-at)),{map:d,reverse:b,moved:m,identical:p,pairIdenticalChildren:G,weak:f,unpair:xt,rematch:Nt,insertedByHash:_e};function Nt(){ut(),dt();for(let k=0;k<L.length;){let g=L.length;nt(k,g),k=g,dt(),ut(),dt()}}function xt(k){let g=d.get(k);if(!g)return;u.has(k)||u.set(k,new Set),u.get(k).add(g);let y=(_,E)=>{d.delete(_),b.delete(E),m.delete(_),p.delete(_),f.delete(_),v.delete(_)},O=(_,E)=>{for(let I of o(_)){let N=d.get(I);!N||!(W(N)?E.contains(N):E.contains(N.nodes[0]))||(y(I,N),W(I)&&O(I,N))}};y(k,g),W(k)&&O(k,g),A.push(k),M.push(g)}function _e(){let k=new Map;for(let g of new Set(M)){if(b.has(g))continue;let y=r(g).hash;k.has(y)||k.set(y,[]),k.get(y).push(g)}return k}function dt(){for(;H.length;){let[k,g]=H.shift();v.has(k)||p.has(k)||Rt(k,g)}}function Ze(k,g){if(!V(k))for(let y of o(k))W(y)&&(g.push(y),Ze(y,g))}function Rt(k,g){v.add(k);let y=o(k),O=o(g);Dc.align+=y.length+O.length,te=new Map,re=new Map;for(let j=0;j<y.length;j++)te.set(y[j],j);for(let j=0;j<O.length;j++)re.set(O[j],j);if(k.tagName==="HTML")for(let j of["HEAD","BODY"]){let J=y.find(ce=>W(ce)&&ce.tagName===j),$=O.find(ce=>W(ce)&&ce.tagName===j);J&&$&&!d.has(J)&&!b.has($)&&K(J,$)}for(let j=0;j<y.length&&j<O.length;j++){let J=y[j],$=O[j];d.has(J)||b.has($)||(W(J)?W($)&&J.tagName===$.tagName&&J.isEqualNode($)&&C(J,$):!W($)&&J.kind===$.kind&&J.value===$.value&&C(J,$))}et(y,O);let _=y.filter(j=>!d.has(j)),E=O.filter(j=>!b.has(j));_.length&&E.length&&(ct(_,E),ye(_,E),se(_,E,y,O),Ve(y,O));let I=!1,N=!1;for(let j of y){if(!d.has(j)){W(j)&&(A.push(j),Ze(j,A),I=!0);continue}W(j)&&!p.has(j)&&H.push([j,d.get(j)])}for(let j of O)!b.has(j)&&W(j)&&(M.push(j),Ze(j,M),N=!0);I&&N&&L.push([k,g])}function nt(k,g){for(let y=k;y<g;y++){let[O,_]=L[y],E=o(O),I=o(_),N=new Map,j=new Map,J=null;for(let $ of E)W($)&&(d.has($)?J=$:(N.has(J)||N.set(J,[]),N.get(J).push($)));J=null;for(let $ of I)W($)&&(b.has($)?J=b.get($):(j.has(J)||j.set(J,[]),j.get(J).push($)));for(let[$,ce]of N){let ge=j.get($);if(!(!ge||ce.length!==ge.length)&&ce.every((ht,ft)=>ge[ft].tagName===ht.tagName&&xe(ht,ge[ft])&&!he(ht,ge[ft])))for(let ht=0;ht<ce.length;ht++)Qe(ce[ht],ge[ht])}}}function Qe(k,g){K(k,g),f.add(k),H.push([k,g]),dt()}function ct(k,g){let y=Wn(k,i),O=Wn(g,i),_=new Map;for(let E of g){let I=i(E);O.get(I)===1&&_.set(I,E)}for(let E of k){if(d.has(E))continue;let I=i(E);if(y.get(I)!==1)continue;let N=_.get(I);N&&!b.has(N)&&C(E,N)}}function C(k,g){K(k,g),p.add(k),W(k)&&v.add(k)}function G(k){let g=d.get(k);if(!g||!W(k))return;let y=o(k),O=o(g);for(let _=0;_<y.length&&_<O.length;_++)d.has(y[_])||C(y[_],O[_])}function ye(k,g){let y=I=>W(I)&&!V(I)?r(I).sig+""+r(I).hint:null,O=Wn(k,y),_=Wn(g,y),E=new Map;for(let I of g){let N=y(I);N!=null&&_.get(N)===1&&E.set(N,I)}for(let I of k){if(d.has(I))continue;let N=y(I);if(N==null||O.get(N)!==1)continue;let j=E.get(N);j&&!b.has(j)&&xe(I,j)&&K(I,j)}}function se(k,g,y,O){let _=new Map;for(let I of g){if(!W(I)||b.has(I)||V(I))continue;let N=r(I).sig;_.has(N)||_.set(N,[]),_.get(N).push({el:I,index:re.get(I)})}let E=[];for(let I of k){if(d.has(I)||!W(I)||V(I))continue;let N=_.get(r(I).sig);if(!N||!N.length)continue;let j=te.get(I),J=N.filter($=>!b.has($.el)).map($=>({c:$,d:Math.abs($.index-j)}));J.sort(($,ce)=>$.d-ce.d),J.length>Cs&&(J=J.slice(0,Cs));for(let{c:$,d:ce}of J){if(!xe(I,$.el))continue;let ge=l(I,$.el);ge&&ge.coef>=.5&&E.push({b:I,s:$.el,coef:ge.coef,share:ge.share,d:ce,bi:j})}}E.sort((I,N)=>N.coef-I.coef||N.share-I.share||I.d-N.d||I.bi-N.bi);for(let I of E)!d.has(I.b)&&!b.has(I.s)&&K(I.b,I.s)}function Ce(k,g){return W(k)!==W(g)?!1:W(k)?k.tagName!==g.tagName||!xe(k,g)?!1:V(k)||r(k).hint===""||r(g).hint===""?!0:s(k,g):k.kind===g.kind}function rt(k,g){let y=(_,E)=>{let I=E===null?-1:_===g?re.get(E):te.get(E),N=_[I+1];return N&&!W(N)?N:null},O=null;for(let _ of k){if(W(_)){O=_;continue}if(d.has(_))continue;let E=O===null?null:d.get(O);if(O!==null&&!E)continue;let I=y(g,E);I&&!b.has(I)&&I.kind===_.kind&&K(_,I)}}function Ve(k,g){rt(k,g);let y=Ke(k,g),O=(E,I)=>W(E)&&r(E).hint!==""&&r(I).hint===""&&!!I.querySelector("br")&&!y(E,I),_=0;for(let E of k){if(d.has(E)){let N=re.get(d.get(E));N!==void 0&&N>=_&&(_=N+1);continue}let I=0;for(let N=_;N<g.length&&I<jc;N++){let j=g[N];if(!b.has(j)&&(I++,Ce(E,j)&&!he(E,j)&&!O(E,j))){K(E,j),W(E)&&(r(E).hint===""||r(j).hint==="")&&f.add(E),_=N+1;break}}}et(k,g)}function Ke(k,g){let y=(O,_,E)=>{for(let I=_-1;I>=0;I--)if(W(O[I])&&E(O[I]))return O[I];return null};return(O,_)=>{let E=te.get(O),I=re.get(_);if(E===I)return!0;let N=y(k,E,J=>d.has(J)),j=y(g,I,J=>b.has(J));return N?d.get(N)===j:!j}}function et(k,g){let y=k.filter(N=>W(N)&&!d.has(N)),O=g.filter(N=>W(N)&&!b.has(N));if(!y.length||!O.length)return;let _=Wn(y,N=>N.tagName),E=Wn(O,N=>N.tagName),I=Ke(k,g);for(let N of y){let j=N.tagName;if(_.get(j)!==1||E.get(j)!==1)continue;let J=O.find($=>$.tagName===j);J&&!b.has(J)&&I(N,J)&&xe(N,J)&&!he(N,J)&&(K(N,J),f.add(N))}}function ut(){let k=new Map;for(let N of f)if(W(N)&&W(d.get(N))){let j=r(N).hash;k.has(j)||k.set(j,[]),k.get(j).push(N)}if(k.size)for(let N of M){if(b.has(N)||!W(N))continue;let j=k.get(r(N).hash),J=j&&j.find($=>f.has($)&&!he($,N)&&xe($,N));J&&(xt(J),C(J,N),m.add(J))}let g=new Map,y=new Map,O=new Map;for(let N of f){let j=d.get(N);W(N)&&W(j)&&O.set(j,N)}let _=(N,j)=>{if(!b.has(N))return!0;let J=O.get(N);return J===b.get(N)&&J!==j&&!J.contains(j)},E=N=>{if(b.has(N)){let j=O.get(N);O.delete(N),xt(j)}};for(let N of[...M,...O.keys()]){if(b.has(N)&&!O.has(N))continue;let j=r(N).hash;if(g.has(j)||g.set(j,[]),g.get(j).push(N),V(N))continue;let J=r(N).sig;y.has(J)||y.set(J,[]),y.get(J).push(N)}let I=new Set;for(let N of f){let j=d.get(N);!W(N)||!W(j)||V(N)||r(N).hint===""||r(j).hint===""||s(N,j)||I.add(N)}for(let N of[...A,...I]){let j=d.get(N);if(j&&!(f.has(N)&&I.has(N)))continue;let J=ft=>{j&&xt(N),E(ft)},$=g.get(r(N).hash);if($){let ft=$.find(ue=>ue!==j&&_(ue,N)&&!he(N,ue));if(ft){J(ft),C(N,ft),m.add(N);continue}}if(V(N)||B<=0)continue;let ce=y.get(r(N).sig);if(!ce)continue;let ge=null,ht=0;for(let ft of ce)if(!(ft===j||!_(ft,N)||!xe(N,ft)||he(N,ft))&&(B--<=0||s(N,ft)&&(ht++,ge=ft,ht>1)))break;ht===1&&(J(ge),K(N,ge),m.add(N),H.push([N,ge]))}}}function Wn(e,t){let n=new Map;for(let r of e){let o=t(r);o!=null&&n.set(o,(n.get(o)||0)+1)}return n}var Pc={diff:0},Os=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,Fc=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,qc=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,Bc=/\P{M}\p{M}*/gu;function ci(e){if(e==="")return[];if(Os){let n=[];for(let r of Os.segment(e))n.push(r.segment);return n}let t=[];for(let n of e.match(qc))if(Fc.test(n))for(let r of n.match(Bc))t.push(r);else t.push(n);return t}var Hc=/^[  ]+$/,$c=e=>Hc.test(e)?" ".repeat(e.length):e,Sr=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),it="",Ns=e=>e.every(t=>Sr(t)||t.k===it),Uc=/^[\x00-\x7f\u00A0]*$/,zc=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function Vc(e){return e===""?[]:e.match(zc)}function jn(e,t=!1){return(t?Vc(e):ci(e)).map(n=>({k:$c(n),raw:n,len:n.length}))}var lo=(...e)=>e.every(t=>Uc.test(t));function ii(e,t,n){let r=e.length,o=t.length,i=Math.min(r+o,n),s=i+1,l=new Int32Array(2*i+3),a=[],h=r===0&&o===0;for(let u=0;u<=i&&!h;u++){a.push(l.slice(s-u,s+u+1));for(let m=-u;m<=u;m+=2){let p;m===-u||m!==u&&l[s+m-1]<l[s+m+1]?p=l[s+m+1]:p=l[s+m-1]+1;let v=p-m,A=p;for(;p<r&&v<o&&e[p].k===t[v].k;)p++,v++;if(Pc.diff+=1+p-A,l[s+m]=p,p>=r&&v>=o){h=!0;break}}}if(!h)return null;let d=[],b=r,f=o;for(let u=a.length-1;u>0;u--){let m=a[u],p=b-f,v=p+u,A=p===-u||p!==u&&m[v-1]<m[v+1]?p+1:p-1,M=m[A+u],L=M-A;for(;b>M&&f>L;)d.push([0,b-1,f-1]),b--,f--;b===M?(d.push([1,b,f-1]),f--):(d.push([-1,b-1,f]),b--)}for(;b>0&&f>0;)d.push([0,b-1,f-1]),b--,f--;return d.reverse(),d}function Wc(e,t,n){let r=b=>b.k===it;if(!e.some(r)&&!t.some(r))return ii(e,t,n);let o=[],i=[];for(let b=0;b<e.length;b++)r(e[b])||o.push(b);for(let b=0;b<t.length;b++)r(t[b])||i.push(b);let s=ii(o.map(b=>e[b]),i.map(b=>t[b]),n);if(!s)return null;let l=[],a=0,h=0,d=(b,f)=>{for(;a<b&&h<f&&e[a].k===t[h].k;)l.push([0,a++,h++]);let u=ii(e.slice(a,b),t.slice(h,f),n);if(!u)return!1;for(let[m,p,v]of u)l.push([m,p+a,v+h]);return a=b,h=f,!0};for(let[b,f,u]of s)if(b===0){if(!d(o[f],i[u]))return null;l.push([0,a,h]),a++,h++}return d(e.length,t.length)?l:null}function Kn(e,t,n=4e3){let r=[],o=0;for(;o<e.length&&o<t.length&&e[o].k===t[o].k;)e[o].raw!==t[o].raw&&r.push({bi:o,tok:t[o]}),o++;let i=0;for(;i<e.length-o&&i<t.length-o&&e[e.length-1-i].k===t[t.length-1-i].k;)e[e.length-1-i].raw!==t[t.length-1-i].raw&&r.push({bi:e.length-1-i,tok:t[t.length-1-i]}),i++;let s=e.slice(o,e.length-i),l=t.slice(o,t.length-i),a=Zc(s,l)?null:Wc(s,l,n);if(!a){let A=s.length||l.length?[{bs:o,be:o+s.length,toks:l}]:[];return{hunks:A,cosmetic:r,coarse:!0,parts:A.map(M=>({...M,gap:[],group:0})),cosmeticEq:r}}let h=[],d=(A,M)=>{s[A].raw!==l[M].raw&&r.push({bi:o+A,tok:l[M]})},b=null,f=[],u=0,m=0,p=()=>{b&&h.push(b),b=null;for(let[A,M]of f)d(A,M);f=[],u++};for(let[A,M,L]of a){if(A===0){b&&Sr(s[M])&&!s[M].k.includes(`
2
+ `)?f.push([M,L]):(p(),d(M,L)),m=M+1;continue}(!b||f.length)&&(b&&h.push(b),b={bs:o+m,be:o+m,toks:[],gap:f.map(([H,B])=>({bi:o+H,tok:l[B]})),group:u},f=[]),A===-1?(b.be=o+m+1,m=M+1):b.toks.push(l[L])}p(),Kc(h,e);let v=li(h);return{hunks:v.hunks,cosmetic:r.concat(v.cosmetic),parts:h,cosmeticEq:r}}function Kc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.gap.length)continue;let o=n+1<e.length?e[n+1].bs:1/0;if(r.toks.length){if(r.bs===r.be)for(;r.bs+1<o&&r.bs<t.length&&r.toks[0].k===it&&t[r.bs].k===it;)r.toks=[...r.toks.slice(1),r.toks[0]],r.bs++,r.be++}else for(;r.be+1<o&&r.be<t.length&&t[r.bs].k===it&&t[r.be].k===it;)r.bs++,r.be++}}function li(e,t=()=>!1){let n=[],r=[],o=null,i=-1;for(let s of e){let l=t(s);if(o&&!o.alone&&!l&&s.group===i){o.be=s.be;for(let a of s.gap)o.toks.push(a.tok);for(let a of s.toks)o.toks.push(a);continue}o&&n.push({bs:o.bs,be:o.be,toks:o.toks});for(let a of s.gap)r.push(a);o={bs:s.bs,be:s.be,toks:s.toks.slice(),alone:l},i=s.group}return o&&n.push({bs:o.bs,be:o.be,toks:o.toks}),{hunks:n,cosmetic:r}}var Gc=(e,t)=>e.bs===t.bs&&e.be===t.be&&fi(e.toks,t.toks);function ui(e,t,n){let r=d=>b=>d.some(f=>Gc(b,f)),o=li(e.parts,r(t.parts)),i=li(t.parts,r(e.parts)),s=e.cosmeticEq.concat(o.cosmetic),l=t.cosmeticEq.concat(i.cosmetic),[a,h]=n?Yc(o.hunks,i.hunks,n,s,l):[o.hunks,i.hunks];return{lh:a,rh:h,cosL:s,cosR:l}}function Yc(e,t,n,r,o){let i=(u,m)=>u.k===m.k&&u.raw===m.raw,s=[{list:e.map(u=>({...u})),resp:new Set(r.map(u=>u.bi))},{list:t.map(u=>({...u})),resp:new Set(o.map(u=>u.bi))}],l=u=>u.bs===u.be,a=(u,m,p,v)=>{let A=u.list[m];if(!l(A))return v(A)===p?A.toks:null;let M=m?u.list[m-1].be:0,L=m+1<u.list.length?u.list[m+1].bs:n.length;if(p<M||p>L)return null;let H=A.toks,B=A.bs;for(;B>p;){let te=H[H.length-1];if(!i(te,n[B-1])||u.resp.has(B-1))return null;H=[te,...H.slice(0,-1)],B--}for(;B<p;){if(!i(H[0],n[B])||u.resp.has(B))return null;H=[...H.slice(1),H[0]],B++}return H},h=(u,m,p,v,A,M)=>{let L=u.list[m],H=A?p.slice(p.length-v):p.slice(0,v),B=A?p.slice(0,p.length-v):p.slice(v),te={bs:M,be:M,toks:H};if(l(L)){if(!B.length){u.list[m]=te;return}let K={bs:M,be:M,toks:B};A&&(K.lead=!0),u.list.splice(m,1,...A?[K,te]:[te,K]);return}let re={bs:L.bs,be:L.be,toks:B};u.list.splice(m,1,...A?[re,te]:[te,re])},d=(u,m,p,v,A)=>{let M=u.list[m],L=A?p.slice(p.length-v):p.slice(0,v),H=A?p.slice(0,p.length-v):p.slice(v),B={bs:M.bs,be:M.be,toks:L};if(!H.length){u.list[m]=B;return}let te=A?{bs:M.bs,be:M.bs,toks:H,lead:!0}:{bs:M.be,be:M.be,toks:H};u.list.splice(m,1,...A?[te,B]:[B,te])},b=s[0],f=s[1];for(let u=0;u<64;u++){let m=!1;e:for(let p=0;p<b.list.length;p++)for(let v=0;v<f.list.length;v++){let A=b.list[p],M=f.list[v];if(!(A.bs===M.bs&&A.be===M.be&&fi(A.toks,M.toks)))for(let L of[!0,!1]){let H=te=>L?te.be:te.bs,B=l(A)?[H(M),A.bs]:[H(A)];for(let te of B){let re=a(b,p,te,H),K=re&&a(f,v,te,H);if(!K)continue;let W=(at,Nt)=>L?at[at.length-1-Nt]:at[Nt],he=0;for(;he<re.length&&he<K.length&&W(re,he).k===W(K,he).k;)he++;if(!he)continue;let V=L?re.slice(0,re.length-he):re.slice(he),xe=L?K.slice(0,K.length-he):K.slice(he);if(!(he<re.length&&he<K.length&&!Ns(V)&&!Ns(xe)&&(l(A)&&l(M)||A.bs===M.bs&&A.be===M.be)||!(L?re.slice(re.length-he):re.slice(0,he)).some(at=>!Sr(at)))){if(he===re.length&&he===K.length&&l(A)&&l(M)){if(A.bs===te&&M.bs===te)continue;b.list[p]={bs:te,be:te,toks:re},f.list[v]={bs:te,be:te,toks:K}}else!l(A)&&A.bs===M.bs&&A.be===M.be?(d(b,p,re,he,L),d(f,v,K,he,L)):(h(b,p,re,he,L,te),h(f,v,K,he,L,te));m=!0;break e}}}}if(!m)break}return[b.list,f.list]}var Xc=48,Jc=.3;function Zc(e,t){let n=e.filter(s=>!Sr(s)),r=t.filter(s=>!Sr(s));if(Math.min(n.length,r.length)<Xc)return!1;let o=new Map;for(let s of n)o.set(s.k,(o.get(s.k)||0)+1);let i=0;for(let s of r){let l=o.get(s.k);l>0&&(i++,o.set(s.k,l-1))}return i/Math.min(n.length,r.length)<Jc}var Qc=(e,t)=>{let n=new Set;for(let r of e.toks)typeof r.k!="string"&&n.add(r.k.el);for(let r=e.bs;r<e.be;r++)typeof t[r].k!="string"&&n.add(t[r].k.el);return n},fi=(e,t)=>e.length===t.length&&e.every((n,r)=>n.k===t[r].k);function Rs(e,t,n,r="remote"){let o=Kn(e,t),i=Kn(e,n),{lh:s,rh:l,cosL:a,cosR:h}=ui(o,i,e),d=C=>C.bs===C.be,b=C=>C.toks.some(G=>typeof G.k=="string"),f=C=>d(C)&&!b(C),u=(C,G)=>G.bs<C.be&&C.bs<G.be,m=(C,G)=>!u(C,G)&&G.bs<=C.be&&C.bs<=G.be&&(d(C)&&b(C)||d(G)&&b(G))&&!(d(C)&&d(G)),p=(C,G)=>C.bs===G.bs&&C.be===G.be&&fi(C.toks,G.toks),v=[],A=new Set;for(let C of s){let G=l.find(ye=>!A.has(ye)&&p(C,ye));G?(A.add(G),v.push({bs:C.bs,be:C.be,side:"both",l:C,r:G,toks:C.toks})):v.push({bs:C.bs,be:C.be,side:"L",l:C,toks:C.toks,lead:!!C.lead})}for(let C of l)A.has(C)||v.push({bs:C.bs,be:C.be,side:"R",r:C,toks:C.toks,lead:!!C.lead});v.sort((C,G)=>C.bs-G.bs||C.be-G.be||G.lead-C.lead);let M=0,L=0;for(let C of v)C.side==="both"&&(M+=C.toks.length-(C.be-C.bs));let H=v.map((C,G)=>G),B=C=>H[C]===C?C:H[C]=B(H[C]),te=(C,G)=>(C=B(C),G=B(G),C===G?!1:(H[C]=G,!0)),re=v.map(C=>Qc({bs:C.bs,be:C.be,toks:C.toks},e)),K={L:new Map,R:new Map};v.forEach((C,G)=>{let ye=C.side==="both"?["L","R"]:[C.side];for(let se of ye)for(let Ce of re[G])K[se].has(Ce)||K[se].set(Ce,[]),K[se].get(Ce).push(G)});for(let C of[K.L,K.R])for(let G of C.values())for(let ye=1;ye<G.length;ye++)te(G[0],G[ye]);for(let C=0;C<v.length;C++)for(let G=C+1;G<v.length;G++){let ye=v[C],se=v[G];ye.side===se.side&&ye.side!=="both"||ye.bs>se.be||(u(ye,se)||m(ye,se)?te(C,G):ye.bs===se.bs&&d(ye)&&d(se)&&L++)}let W=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return-1};v.forEach((C,G)=>{if(!(!f(C)||C.side==="both"))for(let ye of C.toks){if(ye.kind!=="open")continue;let se=W(C.side,ye.k);if(se<=C.bs)continue;let Ce=new Uint8Array(se-C.bs),rt=[];if(v.forEach((Ve,Ke)=>{if(!(Ve.side===C.side||d(Ve))&&Ve.bs<se&&Ve.be>C.bs){rt.push(Ke);for(let et=Math.max(Ve.bs,C.bs);et<Math.min(Ve.be,se);et++)Ce[et-C.bs]=1}}),rt.length&&Ce.every(Ve=>Ve===1))for(let Ve of rt)te(G,Ve)}});let he=!0;for(;he;){he=!1;let C=new Map;v.forEach((G,ye)=>{let se=B(ye),Ce=C.get(se)||{bs:G.bs,be:G.be,L:!1,R:!1};Ce.bs=Math.min(Ce.bs,G.bs),Ce.be=Math.max(Ce.be,G.be),G.side!=="R"&&(Ce.L=!0),G.side!=="L"&&(Ce.R=!0),C.set(se,Ce)}),v.forEach((G,ye)=>{for(let[se,Ce]of C){if(B(ye)===B(se)||!(Ce.L&&Ce.R))continue;let rt=G.bs<Ce.be&&G.be>Ce.bs,Ve=d(G)&&b(G)&&(G.bs===Ce.be||G.bs===Ce.bs);(rt||Ve)&&te(ye,se)&&(he=!0)}})}let V=new Map;v.forEach((C,G)=>{let ye=B(G);V.has(ye)||V.set(ye,[]),V.get(ye).push(C)});let xe=[];for(let C of V.values()){let G=C.some(se=>se.side==="L"),ye=C.some(se=>se.side==="R");if(G&&ye){let se=Math.min(...C.map(Ke=>Ke.bs)),Ce=Math.max(...C.map(Ke=>Ke.be)),rt=C.filter(Ke=>Ke.side!=="R").map(Ke=>Ke.l).sort((Ke,et)=>Ke.bs-et.bs),Ve=C.filter(Ke=>Ke.side!=="L").map(Ke=>Ke.r).sort((Ke,et)=>Ke.bs-et.bs);xe.push({bs:se,be:Ce,kind:"conflict",localHunks:rt,remoteHunks:Ve})}else for(let se of C)xe.push({bs:se.bs,be:se.be,kind:se.side,u:se})}let We=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs+.5;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return 1/0},at=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="open"&&Ce.k.el===G.el))return se.bs-.5;for(let se=0;se<e.length;se++)if(e[se].kind==="open"&&e[se].k.el===G.el)return se;return-1/0},Nt=C=>C.kind==="R"?"R":"L",xt=C=>C.kind==="R"?1:0;xe.sort((C,G)=>{if(C.bs!==G.bs)return C.bs-G.bs;let ye=C.bs===C.be,se=G.bs===G.be;if(ye!==se)return ye?-1:1;if(ye&&se&&C.kind!=="conflict"&&G.kind!=="conflict"){let rt=C.u.toks,Ve=G.u.toks,Ke=ut=>ut.length&&ut.every(k=>k.kind==="open"),et=ut=>ut.length&&ut.every(k=>k.kind==="close");if(Ke(rt)&&Ke(Ve)){let ut=Math.max(...rt.map(g=>We(Nt(C),g.k))),k=Math.max(...Ve.map(g=>We(Nt(G),g.k)));if(ut!==k)return k-ut}if(et(rt)&&et(Ve)){let ut=Math.min(...rt.map(g=>at(Nt(C),g.k))),k=Math.min(...Ve.map(g=>at(Nt(G),g.k)));return ut!==k?k-ut:xt(G)-xt(C)}}let Ce=rt=>rt.u&&rt.u.lead?1:0;return Ce(G)-Ce(C)||xt(C)-xt(G)||C.be-G.be});let _e=[],dt=[],Ze=0,Rt=C=>{C>Ze&&(_e.push({bs:Ze,be:C,toks:e.slice(Ze,C),source:"base"}),Ze=C)};for(let C of xe){if(Rt(C.bs),C.kind==="conflict"){let G=ai(e,C.localHunks,C.bs,C.be),ye=ai(e,C.remoteHunks,C.bs,C.be),se=r==="local"?G:r==="both"?G.concat(ye):ye;dt.push({bs:C.bs,be:C.be,base:e.slice(C.bs,C.be),local:G,remote:ye,resolved:se}),_e.push({bs:C.bs,be:C.be,toks:se,source:"conflict",localHunks:C.localHunks,localToks:G,keepsLocal:r!=="remote"})}else _e.push({bs:C.bs,be:C.be,toks:C.u.toks,source:C.kind==="R"?"remote":"local",localHunks:C.kind==="R"?[]:[C.u.l]});Ze=Math.max(Ze,C.be)}Rt(e.length);let nt=new Map(a.map(C=>[C.bi,C.tok])),Qe=new Map(h.map(C=>[C.bi,C.tok])),ct=[];for(let C of _e){C.source==="base"&&(C.toks=C.toks.map((G,ye)=>{let se=C.bs+ye,Ce=nt.get(se),rt=Qe.get(se),Ve=Ce&&rt?r==="remote"?rt:Ce:Ce||rt||G;return Ve===G?G:{...Ve,cosmetic:!0}}));for(let G of C.toks)ct.push({...G,src:C.source})}return{tokens:ct,segments:_e,conflicts:dt,localHunks:s,remoteHunks:l,collapsedDelta:M,samePoint:L,mapLocalOffset:eu(e,s,_e)}}function ai(e,t,n,r){let o=[],i=n;for(let s of t)o=o.concat(e.slice(i,s.bs),s.toks),i=s.be;return o.concat(e.slice(i,r))}var si=e=>e.reduce((t,n)=>t+n.len,0);function eu(e,t,n){let r=new Int32Array(e.length+1);for(let s=0;s<e.length;s++)r[s+1]=r[s]+e[s].len;let o=t.map(s=>({bs:r[s.bs],be:r[s.be],text:s.toks.map(l=>l.raw).join(""),ref:s})),i=n.map(s=>({bs:r[s.bs],be:r[s.be],len:si(s.toks),source:s.source,localHunks:s.localHunks||[],localLen:s.localToks?si(s.localToks):0,keepsLocal:s.keepsLocal,ref:s}));return s=>{let l=null,a=null,h=0,d=0,b=0;for(let u of o){let m=u.bs-b;if(s<=d+m){l=b+(s-d);break}if(d+=m,b=u.bs,s<=d+u.text.length){a=u,h=s-d,l=u.bs;break}d+=u.text.length,b=u.be}l===null&&(l=b+(s-d));let f=0;for(let u of i){if(!a&&l<=u.bs)return f;if(!(a?u.localHunks.includes(a.ref):l<u.be)){f+=u.len;continue}if(u.source==="base")return f+(l-u.bs);if(u.source==="remote")return f+u.len;if(u.source==="local")return f+Math.min(h,u.len);if(!u.keepsLocal||!a)return f+u.len;let p=u.localHunks.indexOf(a.ref),v=si(ai(e,u.localHunks.slice(0,p),u.ref.bs,a.ref.bs));return f+Math.min(v+h,u.localLen)}return f}}function Tr(e,t,n,r="remote"){if(t===n||n===e)return{text:t,conflicts:[],mapLocalOffset:u=>Math.min(u,t.length),granularity:"word"};let o=lo(e,t,n),i=jn(e,o),s=jn(t,o),l=jn(n,o),a=i.length<=2e4&&s.length<=2e4&&l.length<=2e4?Rs(i,s,l,r):null,h="word",d=i;if(!a){let u=m=>m.split(/(?<=\n)/).map(p=>({k:p,raw:p,len:p.length}));d=u(e),a=Rs(d,u(t),u(n),r),h="line"}let b=u=>u.map(m=>m.raw).join(""),f=[0];for(let u of d)f.push(f[f.length-1]+u.len);return{text:b(a.tokens),conflicts:a.conflicts.map(u=>({bs:f[u.bs],be:f[u.be],base:b(u.base),local:b(u.local),remote:b(u.remote),resolved:b(u.resolved)})),mapLocalOffset:a.mapLocalOffset,granularity:h}}function Er(e,t,n=4e3){if(e===t)return[];let r=lo(e,t),o=jn(e,r),i=jn(t,r),s=Kn(o,i,n),l=[0];for(let a of o)l.push(l[l.length-1]+a.len);return s.hunks.map(a=>({bs:l[a.bs],be:l[a.be],text:a.toks.map(h=>h.raw).join("")}))}var Yn="\uFFFC";var tu={caret:0},mn=new Set("A ABBR B BDI BDO CITE CODE DATA DEL DFN EM FONT I INS KBD MARK Q S SAMP SMALL SPAN STRIKE STRONG SUB SUP TIME TT U VAR".split(" ")),Ps=new Set(["BR","WBR","IMG"]),nu=new Set("ADDRESS ARTICLE ASIDE AUDIO BLOCKQUOTE BODY CANVAS CAPTION CENTER COL COLGROUP DD DETAILS DIALOG DIR DIV DL DT FIELDSET FIGCAPTION FIGURE FOOTER FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HEADER HGROUP HR HTML IFRAME LEGEND LI MAIN MATH MENU NAV NOSCRIPT OBJECT OL OPTGROUP OPTION P PRE SCRIPT SECTION SELECT STYLE SUMMARY SVG TABLE TBODY TD TEMPLATE TEXTAREA TFOOT TH THEAD TITLE TR UL VIDEO".split(" "));function Dn(e,t={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(t.ignored&&t.ignored(e)||Ps.has(e.tagName))return!0;if(!mn.has(e.tagName))return!nu.has(e.tagName);if(t.remoteWins&&t.remoteWins(e))return!1;let n=t.inlineCache&&t.inlineCache.get(e);if(n!==void 0)return n;let r=!0;for(let o of e.childNodes)if(!Dn(o,t)){r=!1;break}return t.inlineCache&&t.inlineCache.set(e,r),r}function ru(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function _r(e,t={}){let n={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null},r=(o,i)=>{for(let s of o){if(s.nodeType===3){let d=s.nodeValue;if(!d)continue;n.nodes.push({node:s,s:n.text.length,e:n.text.length+d.length}),n.text+=d;for(let b=0;b<d.length;b++)n.stackAt.push(i);continue}if(s.nodeType!==1)continue;if(t.ignored&&t.ignored(s)){n.pins.push({el:s,i:n.text.length});continue}if(t.skip&&t.skip.has(s))continue;let l=s.tagName;if(t.blocks&&t.blocks.has(s)){n.text.length&&n.text[n.text.length-1]!==it&&(n.stackAt.push(i),n.text+=it);let d={el:s,tag:l,from:n.text.length,to:-1,depth:i.length,block:!0};n.marks.push(d);let b=i.concat([d]);r(s.childNodes,b),n.stackAt.push(b),n.text+=it,d.to=n.text.length;continue}let a=mn.has(l)&&ru(s);if(Ps.has(l)||!mn.has(l)||t.remoteWins&&t.remoteWins(s)||t.atomize&&t.atomize(s)||a){n.atoms.push({i:n.text.length,el:s,key:a?l+":empty":l,stack:i}),n.stackAt.push(i),n.text+=Yn;continue}let h={el:s,tag:l,from:n.text.length,to:-1,depth:i.length};n.marks.push(h),r(s.childNodes,i.concat([h])),h.to=n.text.length}};if(r(e,[]),n.atoms.length===1&&n.atoms[0].el.tagName==="BR"&&n.marks.length===0&&ao(n).trim()===""){let o=n.atoms[0];n.placeholder=o.el,n.text=n.text.slice(0,o.i)+n.text.slice(o.i+1),n.stackAt.splice(o.i,1);for(let i of n.nodes)i.s>o.i&&(i.s--,i.e--);n.atoms=[]}return n.atomAt=new Map(n.atoms.map(o=>[o.i,o])),n}function ou(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g,"&nbsp;")}function iu(e){let t="<"+e.tagName.toLowerCase();for(let n of e.attributes)t+=` ${n.name}="${n.value.replace(/"/g,"&quot;")}"`;return t+">"}function hi(e,t,n){let r="",o=[];for(let i=t;i<n;i++){let s=e.stackAt[i],l=0;for(;l<o.length&&l<s.length&&o[l]===s[l];)l++;for(;o.length>l;)r+=`</${o.pop().tag.toLowerCase()}>`;for(;o.length<s.length;){let h=s[o.length];r+=iu(h.el),o.push(h)}let a=e.atomAt.get(i);r+=a?a.el.outerHTML:e.text[i]===it?"":ou(e.text[i])}for(;o.length;)r+=`</${o.pop().tag.toLowerCase()}>`;return r}function su(e,t){let n=[...e.el.attributes].filter(r=>!t(e.el,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tag+"|"+n}function Fs(e,t){let n=[...e.attributes].filter(r=>!t(e,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tagName+"|"+n+"|"+e.innerHTML}function Ms(e,t=()=>!1){let n=new Map,r=i=>{let s=n.get(i);return s===void 0&&(s="{"+i.map(l=>su(l,t)).sort().join(",")+"}",n.set(i,s)),s},o="";for(let i=0;i<e.text.length;i++){let s=e.atomAt.get(i);o+=(s?"["+Fs(s.el,t)+"]":e.text[i])+r(e.stackAt[i])}return e.text.length===0&&e.placeholder&&(o+="[br]"),o}function Gn(e,t,n,r=o=>o.key){let o=[],i=e.text,s=0,l=a=>{if(a<=s)return;let h=i.slice(s,a);if(n)for(let d of h.split(/(?<=\n)/))o.push({k:d,raw:d,len:d.length});else for(let d of jn(h,t))o.push(d)};for(let a of e.atoms)l(a.i),o.push({k:"\0"+r(a),raw:Yn,len:1,atom:!0}),s=a.i+1;return l(i.length),o}function ao(e){if(!e.atoms.length)return e.text;let t="",n=0;for(let r of e.atoms)t+=e.text.slice(n,r.i),n=r.i+1;return t+e.text.slice(n)}var mi=e=>{let t=new Int32Array(e.length+1);for(let n=0;n<e.length;n++)t[n+1]=t[n]+e[n].len;return t};function Ls(e,t,n,r){let o=mi(t),i=mi(n),s=[],l=0,a=0;for(let d of r.hunks){a+=d.bs-l;let b=a+d.toks.length;s.push({bs:o[d.bs],be:o[d.be],ss:i[a],se:i[b],text:e.text.slice(i[a],i[b]),toks:d.toks,lead:!!d.lead}),a=b,l=d.be}let h=new Map;for(let d of r.cosmetic)h.set(d.bi,d.tok.raw);return{hunks:s,respell:h}}function Is(e,t,n){let r=s=>s===it||/\s/.test(s),o=s=>s.replace(/[\u001E\s]/g,""),i=[];for(let s of e){let l=t.slice(s.bs,s.be),a=n.slice(s.ss,s.se);if(!l.includes(it)&&!a.includes(it)||l.includes(Yn)||a.includes(Yn)||o(l)!==o(a)){i.push(s);continue}let h=0,d=0;for(;;){let b=h,f=d;for(;b<l.length&&r(l[b]);)b++;for(;f<a.length&&r(a[f]);)f++;let u=h,m=d;for(;u<b&&m<f&&l[u]===a[m];)u++,m++;let p=b,v=f;for(;p>u&&v>m&&l[p-1]===a[v-1];)p--,v--;if(p>u||v>m){let A=a.slice(m,v);i.push({bs:s.bs+u,be:s.bs+p,ss:s.ss+m,se:s.ss+v,text:A,toks:[...A].map(M=>({k:M,raw:M,len:1})),lead:s.lead})}if(b>=l.length)break;h=b+1,d=f+1}}return i}function js(e,t,n){let r=new Int32Array(t+1).fill(-1),o=new Int32Array(n+1).fill(-1),i=0,s=0,l=a=>{for(;i<a;)r[i]=s,o[s]=i,i++,s++};for(let a of e)l(a.bs),i=a.be,s=a.se;return l(t),r[t]=s,o[s]=t,{bTo:r,toB:o}}function Ds(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function pi(e){let{out:t,policy:n="remote",L:r,R:o}=e,i=e.provenance||new WeakMap,s=e.textMappers||new WeakMap,l=e.conflicts||[],a=e.decisions||[],h=l.length,d=!!(r&&r.reverse&&r.map&&o&&o.reverse&&o.map),b={base:null,local:null,remote:null};if(d&&e.moveIn){let c=ne=>Ae=>ne.some(ee=>ee===Ae||ee.nodeType===1&&ee.contains(Ae)),x=c(e.local),S=c(e.remote),w=c(e.base),R=new Set,P=ne=>{if(!mn.has(ne.tagName))return;let Ae=r.map.get(ne),ee=o.map.get(ne);(Ae&&!x(Ae)||ee&&!S(ee))&&R.add(ne);for(let ae of ne.children)P(ae)};for(let ne of e.base)ne.nodeType===1&&P(ne);let X=ne=>Ae=>{if(!mn.has(Ae.tagName))return!1;let ee=ne.reverse.get(Ae);return!!ee&&(R.has(ee)||!w(ee))};R.size&&(b.base=ne=>R.has(ne)),b.local=X(r),b.remote=X(o)}let f={base:new Set,local:new Set,remote:new Set};if(d&&e.moveIn){let c=w=>R=>w.some(P=>P===R||P.nodeType===1&&P.contains(R)),x=c(e.local),S=c(e.remote);for(let w of _r(e.base,{...e,atomize:b.base}).atoms){let R=r.map.get(w.el),P=o.map.get(w.el),X=!!R&&!x(R),ne=!!P&&!S(P);!X&&!ne||(f.base.add(w.el),R&&!X&&f.local.add(R),P&&!ne&&f.remote.add(P),x(w.el)&&f.local.add(w.el),S(w.el)&&f.remote.add(w.el))}}let u=_r(e.base,{...e,atomize:b.base,skip:f.base}),m=_r(e.local,{...e,atomize:b.local,skip:f.local}),p=_r(e.remote,{...e,atomize:b.remote,skip:f.remote}),v=new Map(u.atoms.map(c=>[c.el,c])),A=(c,x,S)=>{x.namespaceURI?c.setAttributeNS(x.namespaceURI,x.name,S):c.setAttribute(x.name,S)},M=(c,x,S,w)=>{if(!x&&(!S||!w)){for(let P of(S||w).attributes)A(c,P,P.value);return}let R=new Map;for(let P of[x,S,w])if(P)for(let X of P.attributes)R.set(X.name,X);for(let[P,X]of R){let ne=x?x.getAttribute(P):null,Ae=S?S.getAttribute(P):ne,ee=w?w.getAttribute(P):ne,ae;Ae===ee?ae=Ae:Ae===ne?(ae=ee,a.push({kind:"attr",el:c,name:P,source:"remote"})):ee===ne?(ae=Ae,a.push({kind:"attr",el:c,name:P,source:"local"})):(ae=n==="local"?Ae:ee,l.push({kind:"attr",el:c,name:P,base:ne,local:Ae,remote:ee,resolved:ae}),a.push({kind:"attr",el:c,name:P,source:"both"})),ae!=null&&A(c,X,ae)}},L=(c,x,S,w)=>c&&e.mergeAttrs?e.mergeAttrs(c,x,S,w):M(w,c,x,S),H=e.mergeElement||((c,x,S)=>{let w=t.createElement(c.tagName);L(c,x,S,w);let R=x||c,P=S||c,X=n==="local"?R.isEqualNode(c)?P:R:P.isEqualNode(c)?R:P;for(let ne of X.childNodes)w.appendChild(t.importNode(ne,!0));return i.set(w,{base:c,local:x,remote:S}),w}),B=e.cloneUnit||((c,x)=>{let S=t.importNode(c,!0);return i.set(S,{base:null,local:x==="local"?c:null,remote:x==="remote"?c:null}),S}),te=e.atomKey||(c=>Fs(c,()=>!1)),re=(c,x)=>{let S=new Map;for(let w of c.atoms)if(e.remoteWins&&e.remoteWins(w.el)&&mn.has(w.el.tagName))S.set(w,"w"+w.el.tagName+"#"+(w.el.id||""));else if(!d)S.set(w,w.key);else if(c===u)S.set(w,"="+te(w.el));else{let R=x.reverse.get(w.el),P=R?v.get(R):null;P?S.set(w,"="+te(P.el)):R?S.set(w,"m"+te(w.el)):S.set(w,"="+te(w.el))}return w=>S.get(w)},K=re(u,null),W=re(m,r),he=re(p,o),V=lo(ao(u),ao(m),ao(p)),xe=Gn(u,V,!1,K),We=Gn(m,V,!1,W),at=Gn(p,V,!1,he),Nt=xe.length>2e4||We.length>2e4||at.length>2e4;Nt&&(xe=Gn(u,V,!0,K),We=Gn(m,V,!0,W),at=Gn(p,V,!0,he));let xt=ui(Kn(xe,We),Kn(xe,at),xe),_e=Ls(m,xe,We,{hunks:xt.lh,cosmetic:xt.cosL}),dt=Ls(p,xe,at,{hunks:xt.rh,cosmetic:xt.cosR});_e.hunks=Is(_e.hunks,u.text,m.text),dt.hunks=Is(dt.hunks,u.text,p.text);let Ze=js(_e.hunks,u.text.length,m.text.length),Rt=js(dt.hunks,u.text.length,p.text.length),nt=u.text.length,Qe=c=>new Map(c.atoms.map(x=>[x.el,x])),ct=Qe(m),C=Qe(p),G=(c,x,S)=>{let w=new Set;if(!d)return w;for(let R of c.atoms){let P=v.get(x.reverse.get(R.el));P&&S.bTo[P.i]<0&&w.add(P)}return w},ye=G(m,r,Ze),se=G(p,o,Rt),Ce=c=>!Dn(c,{...e,remoteWins:null}),rt=new Set;if(d)for(let c of u.atoms){if(!Ce(c.el))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&!S?x:S&&!x?S:null;w&&(ct.has(w)||C.has(w))&&!w.isEqualNode(c.el)&&rt.add(c)}let Ve=1,Ke=(c,x)=>({id:Ve++,tag:c,base:null,local:null,remote:null,rank:x}),et=new Map,ut=[];for(let c of u.marks){let x=Ke(c.tag,c.depth);x.block=!!c.block,x.base=c.el,x.baseMark=c,et.set(c.el,x),ut.push(x)}let k=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},g=(c,x,S,w)=>{for(let R of c.marks){let P=S?S.reverse.get(R.el):null;P&&S.identical.has(P)&&S.pairIdenticalChildren&&S.pairIdenticalChildren(P);let X=P?et.get(P):null;if(X&&X[x]&&(X=null),!X){let ne=k(R,w),Ae=0;if(ne)for(let ee of ut){if(ee.tag!==R.tag||ee[x]||!!ee.block!=!!R.block)continue;let ae=Math.min(ne[1],ee.baseMark.to)-Math.max(ne[0],ee.baseMark.from);(ae>Ae||ae===Ae&&ae>0&&Math.abs(ee.rank-R.depth)<Math.abs(X.rank-R.depth))&&(X=ee,Ae=ae)}}X||(X=Ke(R.tag,R.depth),X.block=!!R.block,X.new=x),X[x]=R.el,X[x+"Mark"]=R,et.set(R.el,X)}};g(m,"local",r,Ze.toB),g(p,"remote",o,Rt.toB);let y=c=>c.merged||c,O=c=>{let x=new Set;for(let S of c)S.block||x.add(et.get(S.el));return x},_=new Map,E=c=>{let x=_.get(c);return x||(x=O(c),_.set(c,x)),x},I=(c,x)=>{let S=[],w=null;for(let R=0;R<nt;R++){let P=x[R];if(P<0){w&&S.push(w),w=null;continue}let X=E(u.stackAt[R]),ne=E(c.stackAt[P]),Ae=new Set,ee=new Set;for(let ae of ne)X.has(ae)||Ae.add(ae);for(let ae of X)ne.has(ae)||ee.add(ae);if(!Ae.size&&!ee.size){w&&S.push(w),w=null;continue}if(w&&Ds(w.added,Ae)&&Ds(w.removed,ee)){w.be=R+1;continue}w&&S.push(w),w={bs:R,be:R+1,added:Ae,removed:ee}}return w&&S.push(w),S},N=I(m,Ze.bTo),j=I(p,Rt.bTo),J=c=>c.be>c.bs?[c.bs,c.be-1]:[c.bs-1,c.bs],$=(c,x)=>{if(nt===0)return null;let[S,w]=J(c);for(let R of x){if(R.be<=S)continue;if(R.bs>w)break;let P=R.bs<=S&&w<R.be;return P&&c.text===""&&R.bs===c.bs&&R.be===c.be?"straddle":P?R:c.be>c.bs?"straddle":null}return null},ce=c=>c.bs===c.be,ge=(c,x)=>{let S=!1;for(let w=c.bs;w<c.be;w++){let R=u.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}for(let w=c.ss;w<c.se;w++){let R=x.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}return S},ht=(c,x)=>c.bs<x.be&&x.bs<c.be,ft=(c,x)=>c.bs<=x.be&&x.bs<=c.be&&ce(c)!==ce(x),ue=(c,x)=>u.text.slice(c.bs,c.be).includes(it)||x.text.slice(c.ss,c.se).includes(it),Ge=c=>{if(ce(c))return!1;let x=c.bs,S=c.be;for(;x>0&&/\s/.test(u.text[x-1]);)x--;for(;S<u.text.length&&/\s/.test(u.text[S]);)S++;return(x===0||u.text[x-1]===it)&&(S===u.text.length||u.text[S]===it)},Ft=(c,x)=>!ue(c,x)&&!Ge(c),vt=(c,x)=>ht(c,x)||ft(c,x)&&!(ge(c,m)&&Ft(x,p))&&!(ge(x,p)&&Ft(c,m)),Ht=(c,x)=>{if(c.bs!==x.bs||c.be!==x.be||c.toks.length!==x.toks.length)return!1;let S=c.ss,w=x.ss;for(let R=0;R<c.toks.length;R++){let P=c.toks[R],X=x.toks[R];if(P.k!==X.k||P.atom&&!m.atomAt.get(S).el.isEqualNode(p.atomAt.get(w).el))return!1;S+=P.len,w+=X.len}return!0},Wt=(c,x,S,w)=>{for(let R of u.atoms){if(R.i<c.bs||R.i>=c.be||w.has(R)||rt.has(R))continue;let P=x.bTo[R.i],X=P>=0?S.atomAt.get(P):null;if(X&&!X.el.isEqualNode(R.el))return!0}return!1},Tt=[],Et=_e.hunks,T=dt.hunks,D=0,F=0,z=0,q=0,U=0,Q=c=>{c>z&&(Tt.push({src:"base",from:z,to:c,dL:q,dR:U}),z=c)};for(;D<Et.length||F<T.length;){let c=Et[D],x=T[F],S=!!c&&(!x||c.bs<x.bs||c.bs===x.bs&&c.be<=x.be&&!x.lead);if(c&&x&&c.bs===x.bs&&ce(c)&&ce(x)){let Ot=ge(c,m),Ln=ge(x,p);Ot!==Ln&&(S=Ln)}let w=S?c:x,R=S?x:c,P=!!R&&Ht(c,x),X=!!R&&(S?!!Et[D+1]&&Ht(Et[D+1],x):!!T[F+1]&&Ht(c,T[F+1])),ne=!!R&&!P&&!X&&(nt===0||vt(c,x)),Ae=ne,ee=$(w,S?j:N);if(ee==="straddle"&&(Ae=!0),!Ae&&w.be>w.bs&&(Ae=Wt(w,S?Rt:Ze,S?p:m,S?ye:se)),!Ae&&P){Q(w.bs),Tt.push({src:"both",lfrom:c.ss,rfrom:x.ss,len:w.text.length}),z=w.be,q+=w.text.length-(w.be-w.bs),U+=w.text.length-(w.be-w.bs),D++,F++;continue}if(!Ae){Q(w.bs),Tt.push({src:S?"local":"remote",from:w.ss,to:w.se,inherit:ee&&ee!=="straddle"?ee:null}),z=w.be,S?(q+=w.text.length-(w.be-w.bs),D++):(U+=w.text.length-(w.be-w.bs),F++);continue}let ae=w.bs,Be=w.be,Me=D,qe=F,kt=Ot=>Ot.bs<Be&&Ot.be>ae||ce(Ot)&&(Ot.bs===ae||Ot.bs===Be);S?Me++:qe++,ne&&(ae=Math.min(ae,R.bs),Be=Math.max(Be,R.be),S?qe++:Me++);let lt=!0;for(;lt;){for(lt=!1;Me<Et.length&&kt(Et[Me]);)ae=Math.min(ae,Et[Me].bs),Be=Math.max(Be,Et[Me].be),Me++,lt=!0;for(;qe<T.length&&kt(T[qe]);)ae=Math.min(ae,T[qe].bs),Be=Math.max(Be,T[qe].be),qe++,lt=!0}let Xt=ae+q,Bt=ae+U,sn=Be-ae,cn=Be-ae;for(let Ot=D;Ot<Me;Ot++)sn+=Et[Ot].text.length-(Et[Ot].be-Et[Ot].bs);for(let Ot=F;Ot<qe;Ot++)cn+=T[Ot].text.length-(T[Ot].be-T[Ot].bs);let gn=Xt+sn,bn=Bt+cn;Q(ae);let Ct={kind:"text",node:e.node||null,base:hi(u,ae,Be),local:hi(m,Xt,gn),remote:hi(p,Bt,bn),resolved:null,range:null,bs:ae,be:Be,lss:Xt,lse:gn,rss:Bt,rse:bn};Ct.resolved=n==="local"?Ct.local:n==="remote"?Ct.remote:Ct.local+Ct.remote,n!=="remote"&&Tt.push({src:"local",from:Xt,to:gn,conflict:Ct}),n!=="local"&&Tt.push({src:"remote",from:Bt,to:bn,conflict:Ct}),l.push(Ct),z=Be,q+=sn-(Be-ae),U+=cn-(Be-ae),D=Me,F=qe}Q(nt);let le=u.text,ke=[];if(_e.respell.size||dt.respell.size){let c=mi(xe),x=[];for(let S=0;S<xe.length;S++){let w=xe[S].raw,R=_e.respell.get(S)??w,P=dt.respell.get(S)??w;(R!==w||P!==w)&&ke.push([c[S],R!==w&&P!==w?"both":R!==w?"local":"remote"]),x.push(R===P?R:R===w?P:P===w||n==="local"?R:P)}le=x.join("")}let me="",ve=[],Pe=[],je=[],wt=[];for(let c of Tt){let x=me.length;if(c.src==="base"){for(let S=c.from;S<c.to;S++)ve.push(S),Pe.push(S+c.dL),je.push(S+c.dR),wt.push(c);me+=le.slice(c.from,c.to)}else if(c.src==="both"){for(let S=0;S<c.len;S++)ve.push(-1),Pe.push(c.lfrom+S),je.push(c.rfrom+S),wt.push(c);me+=m.text.slice(c.lfrom,c.lfrom+c.len)}else{let S=c.src==="local"?m:p;for(let w=c.from;w<c.to;w++)ve.push(-1),Pe.push(c.src==="local"?w:-1),je.push(c.src==="remote"?w:-1),wt.push(c);me+=S.text.slice(c.from,c.to)}c.ms=x,c.me=me.length,c.conflict&&(c.conflict.range||(c.conflict.range=[x,x]),c.conflict.range[1]=me.length)}let pe=me.length,Xe=new Int32Array(nt+1).fill(-1),Ee=new Int32Array(m.text.length+1).fill(-1),Dt=new Int32Array(p.text.length+1).fill(-1);for(let c=0;c<pe;c++)ve[c]>=0&&(Xe[ve[c]]=c),Pe[c]>=0&&(Ee[Pe[c]]=c),je[c]>=0&&(Dt[je[c]]=c);let At=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},Mt=[],gt=[];for(let c of new Set(et.values()))c.new==="local"?Mt.push(c):c.new==="remote"&&gt.push(c);let xr=(c,x)=>{c.remote=x.remote,c.remoteMark=x.remoteMark,c.new="both",x.merged=c,et.set(x.remote,c)};if(Mt.length&&gt.length){let c=e.idOf;for(let x of Mt){let S=c?c.local(x.local):null;if(!S)continue;let w=gt.find(R=>!R.merged&&R.tag===x.tag&&!!R.block==!!x.block&&c.remote(R.remote)===S);w&&xr(x,w)}for(let x of Mt){if(x.remote)continue;let S=At(x.localMark,Ee);if(S)for(let w of gt){if(w.merged||w.tag!==x.tag||!!w.block!=!!x.block)continue;let R=At(w.remoteMark,Dt);if(R&&Math.min(S[1],R[1])-Math.max(S[0],R[0])>0){xr(x,w);break}}}}_.clear();let vr=c=>{for(let x of c)if(x.block)return y(et.get(x.el));return null},hn=u.marks.some(c=>c.block)||m.marks.some(c=>c.block)||p.marks.some(c=>c.block),nn=new Array(pe).fill(null),Un=new Set;if(hn){let c=(ee,ae,Be)=>{let Me=new Set([ee,ae,Be]);Me.delete(null);let qe=[];for(let lt of Me){let Xt=lt===ee,Bt=lt===ae,sn=lt===Be;(Bt===sn?Bt:Bt===Xt?sn:Bt)&&qe.push(lt)}if(qe.length<=1)return qe[0]||null;let kt=n==="local"?ae:Be;return qe.includes(kt)?kt:qe[0]},x=(ee,ae)=>ae>=0?vr(ee.stackAt[ae]):null,S=new Map;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let ae=ve[ee]>=0?x(u,ve[ee]):null,Be=x(m,Pe[ee]),Me=x(p,je[ee]);S.set(ee,[ae,ve[ee]>=0?c(ae,Be,Me):Be||Me])}let w=new Set([...S.values()].map(ee=>ee[1])),R=ee=>ee!==it&&ee!==Yn&&!/\s/.test(ee),P=(ee,ae)=>{let Be=ee;for(;Be<ae&&!R(me[Be]);)Be++;return Be<ae&&ve[Be]>=0?x(u,ve[Be]):null},X=new Map,ne=0;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let[ae,Be]=S.get(ee),Me=P(ne,ee),qe=Be,kt=X.get(qe)===qe&&Me===qe;qe&&X.has(qe)&&!kt&&ae&&!X.has(ae)&&!w.has(ae)&&(qe=ae),qe&&!X.has(qe)&&X.set(qe,Me);for(let lt=ne;lt<=ee;lt++)nn[lt]=qe;ne=ee+1}let Ae=ee=>{for(let ae=0;ae<ee.text.length;ae++)if(R(ee.text[ae])&&!x(ee,ae))return!0;return!1};if(!Ae(u)&&!Ae(m)&&!Ae(p)){let ee=[],ae=0;for(let Me=0;Me<pe;Me++)(me[Me]===it||Me===pe-1)&&(ee.push([ae,Me]),ae=Me+1);let Be=new Set(nn);for(let Me=0;Me<ee.length;Me++){let[qe,kt]=ee[Me];if(nn[kt])continue;let lt=qe;for(;lt<=kt&&!R(me[lt]);)lt++;if(lt>kt)continue;let Xt=x(u,ve[lt]),Bt=x(m,Pe[lt]),sn=x(p,je[lt]),cn=c(Xt,Bt,sn)||Bt||sn||Xt;if(cn&&!Be.has(cn)){Be.add(cn);for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=cn;continue}let gn=Me>0&&nn[ee[Me-1][1]],bn=Me+1<ee.length&&nn[ee[Me+1][1]];if(gn)Un.add(ee[Me-1][1]);else if(bn&&me[kt]===it)Un.add(kt);else continue;for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=gn||bn}}}let Qr=new Map,eo=c=>{let x=Qr.get(c);if(x)return x;x=[1/0,-1/0];for(let[S,w]of[[c.baseMark,Xe],[c.localMark,Ee],[c.remoteMark,Dt]]){let R=S&&At(S,w);R&&(x[0]=Math.min(x[0],R[0]),x[1]=Math.max(x[1],R[1]))}return Qr.set(c,x),x},to=(c,x,S)=>{let w=-1,R=-1;for(let P=0;P<c.length;P++){let X=et.get(c[P].el);X===x&&(w=P),X===S&&(R=P)}return w>=0&&R>=0?w-R:0},zn=(c,x)=>[...c].sort((S,w)=>{for(let X of x){let ne=to(X,S,w);if(ne)return ne}let R=eo(S),P=eo(w);return R[0]-P[0]||P[1]-R[1]||S.rank-w.rank||S.id-w.id}),no=new Map,Y=new Map,Te=c=>{let x=ve[c],S=Pe[c],w=je[c],R=wt[c];if(x>=0){let Me=u.stackAt[x],qe=m.stackAt[S],kt=p.stackAt[w],lt=no.get(Me);lt||no.set(Me,lt=new Map);let Xt=lt.get(qe);Xt||lt.set(qe,Xt=new Map);let Bt=Xt.get(kt);if(Bt)return Bt;let sn=E(Me),cn=E(qe),gn=E(kt),bn=new Set;for(let Ct of new Set([...sn,...cn,...gn])){let Ot=sn.has(Ct),Ln=cn.has(Ct),xs=gn.has(Ct);(Ln===xs?Ln:Ln===Ot?xs:Ln)&&bn.add(Ct)}return Bt=zn(bn,[qe,kt,Me]),Xt.set(kt,Bt),Bt}if(R.src==="both"){let Me=m.stackAt[S],qe=p.stackAt[w];return zn(new Set([...E(Me),...E(qe)]),[Me,qe])}let X=(R.src==="local"?m:p).stackAt[R.src==="local"?S:w];if(!R.inherit)return zn(E(X),[X]);let ne=Y.get(R);ne||Y.set(R,ne=new Map);let Ae=ne.get(X);if(Ae)return Ae;let ee=new Set(E(X));for(let Me of R.inherit.added)ee.add(y(Me));for(let Me of R.inherit.removed)ee.delete(y(Me));let ae=R.src==="local"?p:m,Be=(R.src==="local"?Rt.bTo:Ze.bTo)[R.inherit.bs];return Ae=zn(ee,[X,ae.stackAt[Be]]),ne.set(X,Ae),Ae},be=new Int32Array(m.text.length+1);be[m.text.length]=pe;for(let c=m.text.length-1;c>=0;c--)be[c]=Ee[c]>=0?Ee[c]:be[c+1];tu.caret+=m.text.length;let Ne=c=>c<=0?0:(c>m.text.length&&(c=m.text.length),Ee[c-1]>=0?Ee[c-1]+1:be[c]),$e=[],ie=[],Se=null,oe=[],Re="",Fe=-1,Pt=c=>{Se?Se.appendChild(c):$e.push(c)},rn=c=>{if(!Re)return;let x=t.createTextNode(Re);Pt(x),ie.push({node:x,ms:Fe,me:c,local:[],u:oe.length?oe[oe.length-1].u:null}),Re=""},pn=new Set,Ut=new Map,wn=new Set,De=c=>{let x=t.createElement(c.tag);if(c.block&&Ar.add(x),!Ut.has(c)){Ut.set(c,x),L(c.base,c.local,c.remote,x),i.set(x,{base:c.base,local:c.local,remote:c.remote});let w=(X,ne)=>d&&c[ne]&&X.reverse.get(c[ne])?ne:null,R=!c.base&&(w(r,"local")||w(o,"remote"));if(R){let X=R==="local"?r.reverse.get(c.local):o.reverse.get(c.remote),ne=i.get(x);ne.local=ne.local||r.map.get(X)||null,ne.remote=ne.remote||o.map.get(X)||null,a.push({kind:"move",el:x,source:R})}else c.base||a.push({kind:"insert",el:x,source:c.local&&c.remote?"both":c.local?"local":"remote"});let P=i.get(x);P.local&&(wn.has(P.local)?P.local=null:wn.add(P.local))}else{let w=Ut.get(c);for(let R of w.attributes)R.name!=="id"&&R.name!=="data-id"&&A(x,R,R.value);i.set(x,{base:null,local:null,remote:null})}Pt(x),oe.push({u:c,el:x}),Se=x},Ue=new Set,Z=new Map;for(let c of m.pins){let x=Ne(c.i);Z.has(x)||Z.set(x,[]),Z.get(x).push(c)}let de=c=>{let x=Z.get(c);if(x){rn(c);for(let S of x){let w=S.el.namespaceURI&&S.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?t.createElementNS(S.el.namespaceURI,S.el.tagName):t.createElement(S.el.tagName);i.set(w,{base:null,local:S.el,remote:null,pinned:!0}),Ue.add(w),Pt(w)}}},we=u.atoms.length||m.atoms.length||p.atoms.length,Ie=c=>{if(!we)return null;let x=ve[c]>=0?u.atomAt.get(ve[c]):null,S=Pe[c]>=0?m.atomAt.get(Pe[c]):null,w=je[c]>=0?p.atomAt.get(je[c]):null;return x||S||w?{ab:x,al:S,ar:w}:null},Oe=(c,x,S,w)=>{if(!c||!d)return null;let R=v.get(x.reverse.get(c.el))||null;return!R||R===w||(w?R.el.isEqualNode(w.el):S.bTo[R.i]>=0)?null:R},Ye=(c,x)=>{if(!c||!d||!e.moveIn)return null;let S=x.reverse.get(c.el);return S&&!v.has(S)?S:null},ot=(c,x)=>{let S=new Map;for(let w of c.atoms)S.set(x(w),(S.get(x(w))||0)+1);return S},qt=ot(u,K),zt=ot(m,W),Jt=ot(p,he),_t=c=>{let x=K(c);return qt.get(x)===1&&(zt.get(x)||0)<=1&&(Jt.get(x)||0)<=1},Zt=new Map,mt=new Set,bt=new Set,Qt=new Set;for(let c=0;c<pe;c++){let x=Ie(c);if(!x)continue;let{ab:S,al:w,ar:R}=x,P=Oe(R,o,Rt,S),X=Oe(w,r,Ze,S),ne=S,Ae=null;if(P?(ne=P,Ae="remote"):X&&(ne=X,Ae="local"),ne){mt.has(ne)?Zt.set(c,{dup:ne.el}):(mt.add(ne),Zt.set(c,{bk:ne,from:Ae,al:w,ar:R}));continue}let ee=Ye(R,o),ae=Ye(w,r),Be=ee||ae;if(Be){bt.has(Be)?Zt.set(c,{dup:Be}):(bt.add(Be),Zt.set(c,{moveIn:Be,side:ee?"remote":"local",sideEl:ee?R.el:w.el}));continue}let Me=(kt,lt)=>kt&&d&&v.get(lt.reverse.get(kt.el))||null,qe=Me(R,o)||Me(w,r);if(qe&&(Qt.add(qe),wt[c].conflict&&_t(qe))){if(mt.has(qe)){Zt.set(c,{dup:qe.el});continue}mt.add(qe)}Zt.set(c,{al:w,ar:R})}let ln=new Map,ro=(c,x)=>{if(c[x]>=0)return c[x];for(let S=x-1;S>=0;S--)if(c[S]>=0)return c[S]+1;return 0};if(d)for(let c of u.atoms){if(mt.has(c)||Qt.has(c))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&ct.get(x),R=S&&C.get(S);if(x&&!w||S&&!R)continue;let P=!(w&&R)&&rt.has(c);if(!P&&!(w&&R&&_t(c)))continue;let X=n==="local"?[[w,Ee],[R,Dt]]:[[R,Dt],[w,Ee]],[ne,Ae]=X.find(([ae])=>ae),ee=ro(Ae,ne.i);ln.has(ee)||ln.set(ee,[]),ln.get(ee).push({a:c,lt:x,rt:S,edited:P}),mt.add(c)}if(d&&e.moveIn){let c=[[m,r,Ee,"local"],[p,o,Dt,"remote"]];n!=="local"&&c.reverse();for(let[x,S,w,R]of c)for(let P of x.atoms){let X=Ye(P,S);if(!X||bt.has(X))continue;bt.add(X);let ne=ro(w,P.i);ln.has(ne)||ln.set(ne,[]),ln.get(ne).push({move:X,side:R,sideEl:P.el})}}let wr=c=>{let x=ln.get(c);if(x){if(rn(c),x.some(S=>Ce(S.move?S.sideEl:S.a.el)))for(;oe.length;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;for(let{a:S,lt:w,rt:R,edited:P,move:X,side:ne,sideEl:Ae}of x){if(X){let ae=e.moveIn(X,ne,Ae);ae&&Pt(ae);continue}pn.add(S);let ee=H(S.el,w,R);P&&(l.push({kind:"structure",el:ee,detail:"edit-beats-delete",base:S.el}),a.push({kind:"insert",el:ee,source:w?"local":"remote"})),Pt(ee)}}},Ar=new Set;for(let c=0;c<pe;c++){let x=Ie(c),w=!!x&&Ce((x.ab||x.al||x.ar).el)?[]:nn[c]?[nn[c],...Te(c)]:Te(c),R=0;for(;R<oe.length&&R<w.length&&oe[R].u===w[R];)R++;if(R<oe.length)for(rn(c);oe.length>R;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;if(de(c),wr(c),w.length>oe.length)for(rn(c);oe.length<w.length;)De(w[oe.length]);if(me[c]===it){if(Un.has(c))continue;rn(c);let P=oe.length;for(;P>0&&!oe[P-1].u.block;)P--;if(P>0)for(;oe.length>=P;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;continue}if(x){rn(c);let P=Zt.get(c),X;if(P.dup){l.push({kind:"structure",el:null,detail:"both-moved",base:P.dup});continue}if(P.moveIn){if(X=e.moveIn(P.moveIn,P.side,P.sideEl),!X)continue}else if(P.bk){let ne=P.bk;if(pn.add(ne),ne===x.ab)X=H(ne.el,P.al.el,P.ar.el);else{let Ae=r.map.get(ne.el)||null,ee=o.map.get(ne.el)||null;X=H(ne.el,Ae,ee),(!Ae||!ee)&&l.push({kind:"structure",el:null,detail:"move-beats-delete",base:ne.el}),a.push({kind:"move",el:X,source:P.from})}}else P.al?(X=B(P.al.el,"local"),P.ar&&(i.get(X).remote=P.ar.el),a.push({kind:"insert",el:X,source:P.ar?"both":"local"})):(X=B(P.ar.el,"remote"),a.push({kind:"insert",el:X,source:"remote"}));Pt(X);continue}Re||(Fe=c),Re+=me[c]}if(rn(pe),(Z.has(pe)||ln.has(pe))&&(oe.length=0,Se=null,de(pe),wr(pe)),pe===0&&(m.placeholder||p.placeholder||u.placeholder)){let c=t.createElement("br");i.set(c,{base:u.placeholder,local:m.placeholder,remote:p.placeholder}),$e.push(c)}let fe=0,ze=c=>{for(;fe>0&&ie[fe-1].me>=c;)fe--;for(;fe<ie.length&&ie[fe].me<c;)fe++;let x=ie[fe];if(!x)return ie[ie.length-1]||null;let S=ie[fe+1];return x.me===c&&S&&S.ms===c?S:x},st=new Map,tt={},Je=(c,x,S)=>{let w=ze(c)||(S?tt:null);if(!w)return;let R=st.get(w)||{l:!1,r:!1};x!=="remote"&&(R.l=!0),x!=="local"&&(R.r=!0),st.set(w,R)},an=c=>{if(c.conflict)return!0;let x=c.src==="local"?m.text:c.src==="remote"?p.text:"";for(let S=c.from;S<c.to;S++)if(x[S]!==Yn&&x[S]!==it)return!0;return!1};for(let c of Tt)c.src!=="base"&&Je(c.ms,c.conflict?"both":c.src,an(c));for(let[c,x]of ke)Xe[c]>=0&&Je(Xe[c],x);for(let c of ie.length?ie:[tt]){let x=st.get(c);x&&a.push({kind:"text",node:c.node||null,source:x.l&&x.r?"both":x.l?"local":"remote"})}for(let c of ut){if(Ut.has(c))continue;let x=!c.local&&!(d&&r.map.get(c.base)),S=!c.remote&&!(d&&o.map.get(c.base));!x&&!S||a.push({kind:"remove",source:x&&S?"both":x?"local":"remote",base:c.base})}let on=(c,x,S)=>{if(x<=c)return!1;for(let w=c;w<x;w++)if(S[w]>=0)return!1;return!0};for(let c of ut)for(let x of["local","remote"]){let S=c[x+"Mark"],w=c.baseMark;if(!S)continue;let R=x==="local"?Ze:Rt;if(!on(w.from,w.to,R.bTo)||!on(S.from,S.to,R.toB))continue;let P=(x==="local"?Et:T).find(X=>X.ss<=S.from&&S.from<X.se);P&&(P.be<=w.from||P.bs>=w.to)&&a.push({kind:"move",el:Ut.get(c)||null,source:x})}let An=c=>{let x=et.get(c.node.parentNode);return x?y(x):null};for(let c of m.nodes){let x=-1;for(let w=c.s;w<c.e;w++)if(Ee[w]>=0){x=Ee[w];break}let S;if(x>=0)S=ze(x);else{let w=Ne(c.s),R=An(c);S=ie.find(P=>P.u===R&&P.me>=w)||ie.filter(P=>P.u===R).pop()}S&&S.local.push(c)}let en=new Map,$t=ie[ie.length-1]||null,Yt=0;for(let c of m.nodes){let x=null;for(let S=c.s;S<=c.e;S++){let w=Ne(S);for(;Yt>0&&ie[Yt-1].me>=w;)Yt--;for(;Yt<ie.length&&ie[Yt].me<w;)Yt++;let R=X=>X&&w>=X.ms&&w<=X.me&&(w<X.me||S===c.e||X===x),P=R(ie[Yt])?ie[Yt]:R(ie[Yt+1])?ie[Yt+1]:ie[Yt]||$t;if(!P)break;if(x===P){let X=en.get(P);X[X.length-1].to=S-c.s;continue}x=P,en.has(P)||en.set(P,[]),en.get(P).push({node:c.node,from:S-c.s,to:S-c.s,flatStart:c.s})}}for(let c of ie){let x=c.local,S=!1;for(let X of x)for(let ne=X.s;ne<X.e&&!S;ne++)(Ee[ne]<c.ms||Ee[ne]>=c.me)&&(S=!0);i.set(c.node,{base:null,local:x.map(X=>X.node),remote:null,caret:en.get(c)||[],partial:S});let w=c.ms,R=c.me-c.ms,P=X=>{let ne=0,Ae=-1;for(let ee of x){let ae=ee.e-ee.s;if(X<=ne+ae){Ae=ee.s+(X-ne);break}ne+=ae}return Ae<0&&(Ae=x.length?x[x.length-1].e:0),Math.max(0,Math.min(Ne(Ae)-w,R))};P.flat=X=>Math.max(0,Math.min(Ne(X)-w,R)),s.set(c.node,P)}function Sc(){if(!m.text.includes(it))return[{flatLocal:m.text,localNodes:m.nodes,textNodes:ie,lToM:Ee,mapLocal:Ne}];let c=[],x=0,S=0;for(let w=0;w<=m.text.length;w++){if(w<m.text.length&&m.text[w]!==it)continue;let R=x,P=w;if(P>R){let X=[];for(;S<m.nodes.length&&m.nodes[S].e<=R;)S++;for(let ne=S;ne<m.nodes.length&&m.nodes[ne].s<P;ne++){let Ae=m.nodes[ne],ee=Math.max(Ae.s,R),ae=Math.min(Ae.e,P);ee<ae&&X.push({node:Ae.node,s:ee-R,e:ae-R})}c.push({flatLocal:m.text.slice(R,P),localNodes:X,textNodes:ie,lToM:Ee.subarray?Ee.subarray(R,P+1):Ee.slice(R,P+1),mapLocal:ne=>Ne(R+Math.max(0,Math.min(ne,P-R)))})}x=w+1}return c}let Tc={...e,blocks:Ar,ignored:c=>Ue.has(c)||(e.ignored?e.ignored(c):!1)},ys=e.ignoreAttribute||(()=>!1),Ec=Ms(_r($e,Tc),ys)!==Ms(p,ys);return{nodes:$e,text:me,textNodes:ie,localDiverged:Ec,mapLocal:Ne,conflicts:l.slice(h),granularity:Nt?"line":"word",segments:Sc(),localHunks:Et,remoteHunks:T,lToM:Ee}}var lu="http://www.w3.org/1999/xhtml";function au(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function Kt(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===lu}function cu(e){let t=(e.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return t==="application/json"||t.endsWith("+json")}function co(e,t){let n=e.getAttribute("src"),r=(e.getAttribute("type")||"text/javascript").split(";")[0].trim().toLowerCase();if(n){let o=n;try{let i=new URL(n,t);o=i.origin+i.pathname+i.search}catch{}return"script|src|"+r+"|"+o}return"script|inline|"+r+"|"+au(e.textContent.trim())}var uu={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function Xn(e,t=[],n=!1){if(!Kt(e)||e.hasAttribute("src"))return null;let r=[uu,...t];for(let o=0;o<r.length;o++){let i=r[o];if(!i.match(e))continue;if(!cu(e))return n&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let s=i.identity(e);return s==null||s===""?null:{key:o+":"+s,raw:s,recognizer:i}}return null}function qs(e,t,n){let r=new Set,o=i=>{Kt(i)&&!t(i)&&r.add(co(i,n))};o(e);for(let i of e.querySelectorAll("script"))o(i);return r}function Cr(e,t){let n=t.createElement("div");n.innerHTML="<script><\/script>";let r=n.firstChild;for(let o of e.attributes)r.setAttribute(o.name,o.value);return r.textContent=e.textContent,r}function Bs(e,t,n){let r=[],o=[],i=Array.from(e.querySelectorAll("script"));Kt(e)&&i.unshift(e);for(let s of i){if(!Kt(s)||n.ignored(s)||n.skip.has(s)||t.has(co(s,n.baseURI)))continue;let l=s.ownerDocument.createElement("script");for(let a of s.attributes)l.setAttribute(a.name,a.value);l.textContent=s.textContent,n.beforeNodeAdded(l)!==!1&&(l.hasAttribute("src")&&o.push(new Promise(a=>{l.addEventListener("load",()=>a()),l.addEventListener("error",()=>a())})),s.replaceWith(l),n.afterNodeAdded(l),r.push(l))}return{executed:r,loads:o}}function fu(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function du(e,t){try{let n=new URL(e,t);return n.origin+n.pathname+n.search}catch{return e}}function Hs(e,t){let n=e.tagName;if(n==="TITLE"||n==="BASE")return n;if(n==="SCRIPT")return co(e,t);if(n==="LINK"){let r=e.getAttribute("href");return r?"link|"+(e.getAttribute("rel")||"")+"|"+du(r,t):e.outerHTML}if(n==="META"){for(let r of["charset","name","property","http-equiv","itemprop"])if(e.hasAttribute(r))return"meta|"+r+"="+e.getAttribute(r);return e.outerHTML}return n==="STYLE"?"style|"+fu(e.textContent):e.outerHTML}function gi(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
3
+ `;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let n=e.indexOf("*/",t+2);if(n===-1)return e.length;t=n+2;continue}return t}}function hu(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,n)=>n.length%2===0?n+'\\"':t)}var mu=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,pu=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function bi(e){try{return JSON.parse(e)}catch{return JSON.parse(gu(e))}}function gu(e){let t="",n=0,r=(o,i)=>{throw new Error(`Invalid relaxed JSON: ${o} at position ${i}`)};for(;n<e.length&&(n=gi(e,n),!(n>=e.length));){let o=e[n];if("{}[]:".includes(o)){t+=o,n++;continue}if(o===","){let l=gi(e,n+1);if(e[l]==="}"||e[l]==="]"){n++;continue}t+=o,n++;continue}if(o==='"'||o==="'"){let l=n+1;for(;l<e.length&&e[l]!==o;)e[l]==="\\"&&l++,l++;l>=e.length&&r("unterminated string",n);let a=e.slice(n+1,l);o==="'"&&(a=hu(a)),t+='"'+a+'"',n=l+1;continue}let i=n;for(;i<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[i]);)i++;i===n&&r("unexpected character "+JSON.stringify(o),n);let s=e.slice(n,i);if(s==="true"||s==="false"||s==="null"||mu.test(s)){t+=s,n=i;continue}if(pu.test(s)){if(e[gi(e,i)]===":"){t+='"'+s+'"',n=i;continue}r("unquoted value "+JSON.stringify(s),n)}r("invalid token "+JSON.stringify(s),n)}return t}var yt=Symbol("hyper-morph-json-merge:missing"),$s=["id","_id","uuid","key","slug","code","name"];function Jn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Or(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function bu(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})}function Sn(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Sn(e[n],t[n]))return!1;return!0}if(Jn(e)&&Jn(t)){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Or(t,r)||!Sn(e[r],t[r]))return!1;return!0}return!1}function Us(e,t,n,r){return Sn(t,n)?t:Sn(t,e)?n:Sn(n,e)?t:Jn(t)&&Jn(n)?ku(Jn(e)?e:{},t,n,r):Array.isArray(t)&&Array.isArray(n)?wu(Array.isArray(e)?e:[],t,n,r):n}function zs(e,t,n,r){return t===yt&&n===yt?yt:t===yt?e===yt?n:Sn(n,e)?yt:n:n===yt?e===yt?t:yt:Us(e,t,n,r)}function ku(e,t,n,r){let o={},i=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(n)]);for(let s of i){let l=zs(Or(e,s)?e[s]:yt,Or(t,s)?t[s]:yt,Or(n,s)?n[s]:yt,r);l!==yt&&bu(o,s,l)}return o}function yu(e){return e===null||typeof e!="object"}function uo(e){return typeof e+":"+String(e)}function xu(e,t){for(let n of t){let r=new Set;for(let o of n){if(!Or(o,e))return!1;let i=o[e];if(typeof i!="string"&&typeof i!="number")return!1;let s=uo(i);if(r.has(s))return!1;r.add(s)}}return!0}function vu(e,t,n,r){let o=[e,t,n],i=!0;for(let s of o)for(let l of s)Jn(l)||(i=!1);if(i){for(let s of r.keyCandidates)if(xu(s,o))return{kind:"keyed",field:s};return null}for(let s of o){let l=new Set;for(let a of s){if(!yu(a))return null;let h=uo(a);if(l.has(h))return null;l.add(h)}}return{kind:"self"}}function wu(e,t,n,r){let o=vu(e,t,n,r);if(!o)return n;let i=o.kind==="self"?uo:u=>uo(u[o.field]),s=u=>{let m=new Map;for(let p of u)m.set(i(p),p);return m},l=s(e),a=s(t),h=s(n),d=new Map,b=new Set([...l.keys(),...a.keys(),...h.keys()]);for(let u of b){let m=zs(l.has(u)?l.get(u):yt,a.has(u)?a.get(u):yt,h.has(u)?h.get(u):yt,r);m!==yt&&d.set(u,m)}let f=[];for(let u of n){let m=i(u);d.has(m)&&f.push(m)}for(let u=0;u<t.length;u++){let m=i(t[u]);if(!d.has(m)||f.includes(m))continue;let p=0;for(let v=u-1;v>=0;v--){let A=f.indexOf(i(t[v]));if(A!==-1){p=A+1;break}}f.splice(p,0,m)}return f.map(u=>d.get(u))}function Vs(e,t,n,r={}){let o=r.keyCandidates?[...r.keyCandidates,...$s]:$s;return Us(e===void 0?yt:e,t,n,{keyCandidates:o})}function ki(e,t,n,r={}){let o=r.parse||bi,i=[],s=(b,f)=>{if(typeof b!="string")return yt;try{return o(b)}catch(u){return i.push(`${f} side is not valid JSON (${u.message})`),yt}},l=s(t,"local"),a=s(n,"remote");if(l===yt)return{text:n,warnings:i};if(a===yt)return{text:t,warnings:i};let h=s(e,"base"),d=Vs(h===yt?void 0:h,l,a,r);return Sn(d,a)?{text:n,warnings:i}:Sn(d,l)?{text:t,warnings:i}:{text:JSON.stringify(d,null,2),warnings:i}}var Le=e=>!!e&&e.nodeType===1,Au=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" ")),Ws=5e4;function yi(e,t,n,r){let o=r.ignored,i=_s({ignored:o,ignoreAttribute:r.ignoreAttribute}),{unitsOf:s,meta:l}=i,a=r.baseURI,h=r.mergeTags!==null,d=T=>D=>{if(h&&D.tagName==="SCRIPT"){let F=Xn(D,r.mergeTags);if(F)return"merge:"+F.key}return D.parentElement&&D.parentElement.tagName==="HEAD"?Hs(D,a):T(D)},b=d(r.identity.base),f=d(r.identity.local),u=d(r.identity.remote),m=r.authored||r.identity,p=T=>T&&T.nodeType===9?T.documentElement:T,v=p(e),A=p(t),M=p(n),L=globalThis.__hyperMorphProfile,H=L?performance.now():0,B="[id],[data-id],script,head>*",te=T=>T===In?B:null,re=so(v,b,o,te(r.identity.base)),K=r.localIsBase?Gs():oi(v,A,{analyzer:i,baseIndex:re,sideIndex:so(A,f,o,te(r.identity.local)),baseId:m.base,sideId:m.local}),W=oi(v,M,{analyzer:i,baseIndex:re,sideIndex:so(M,u,o,te(r.identity.remote)),baseId:m.base,sideId:m.remote});Ve(),Ke(K,W),Ke(W,K),L&&(L.alignTotal=(L.alignTotal||0)+(performance.now()-H),H=performance.now());let he=v.ownerDocument.implementation.createHTMLDocument(""),V=new WeakMap,xe=new WeakMap,We=[],at=[],Nt=new Set,xt=[],_e=new Set,dt=new Set,Ze=new Set,Rt=new WeakMap,nt=r.conflicts||"remote",Qe=T=>We.push(T),ct=T=>We.push(T),C=T=>at.push(T),G=Ce(),ye=y(v,K.map.get(v),W.map.get(v),!!r.localIsBase,!!r.childrenOnly);ye.tagName==="HTML"?he.replaceChild(ye,he.documentElement):he.body.appendChild(ye),L&&(L.build=(L.build||0)+(performance.now()-H));let se=r.childrenOnly?!Ge(ft(ye),ft(M)):!ht(ye,M);return{doc:he,root:ye,provenance:V,textMappers:xe,decisions:We,conflicts:at,localDiverged:se,mergedScripts:Nt,segments:xt,remoteIdOf:r.identity.remote,customIdentity:r.identity.remote!==In,L:K,R:W};function Ce(){let T=new Map,D=new Set;if(r.localIsBase||!K.insertedByHash)return{partner:T,drop:D};let F=K.insertedByHash(),z=W.insertedByHash();if(!F.size||!z.size)return{partner:T,drop:D};let q={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},U=pe=>{let Xe=0;for(let Ee=pe.parentNode;Ee;Ee=Ee.parentNode)Xe++;return Xe},Q=[],le=pe=>{let Xe=pe.textContent.trim();return Xe.split(/\s+/).length>=3||Xe.replace(/\s/g,"").length>=12},ke=pe=>{let Xe=K.map.get(pe),Ee=W.map.get(pe);return Xe&&K.reverse.get(Xe.parentNode)!==pe.parentNode||Ee&&W.reverse.get(Ee.parentNode)!==pe.parentNode},me=(pe,Xe,Ee)=>{for(let At of Ee.parentNode.children){let Mt=At!==Ee&&pe.reverse.get(At);if(Mt&&ke(Mt))return!0}let Dt=pe.reverse.get(Ee.parentNode);if(Dt){for(let At of Dt.children)if(!Xe.map.has(At)&&!o(At))return!0}return!1};for(let[pe,Xe]of F){let Ee=z.get(pe);if(!Ee)continue;let Dt=Xe.length===1&&Ee.length===1;for(let At of Xe)Dn(At,q)||Q.push([At,Ee,U(At),Dt&&(le(At)||me(K,W,At)||me(W,K,Ee[0]))])}if(!Q.length)return{partner:T,drop:D};Q.sort((pe,Xe)=>pe[2]-Xe[2]);let ve=new Set,Pe=new Set,je=pe=>{for(let Xe of pe.querySelectorAll("*"))ve.add(Xe)},wt=(pe,Xe)=>pe.reverse.get(Xe.parentNode)||null;for(let[pe,Xe,,Ee]of Q){if(ve.has(pe))continue;let Dt=wt(K,pe),At=gt=>!Pe.has(gt)&&!ve.has(gt)&&gt.tagName===pe.tagName,Mt=Xe.find(gt=>At(gt)&&Dt&&wt(W,gt)===Dt)||(Ee?Xe.find(At):null);Mt&&(Pe.add(Mt),je(pe),je(Mt),!(Dt&&wt(W,Mt)===Dt)&&(T.set(pe,Mt),T.set(Mt,pe),D.add(nt==="local"?Mt:pe)))}return{partner:T,drop:D}}function rt(T,D,F){if(_e.add(T),G.drop.has(T))return null;_e.add(F);let z=D==="local"?T:F,q=D==="local"?F:T,U;return i.unitHash(z)===i.unitHash(q)?(U=ce(z,"local",!0),V.get(U).remote=q):U=$(z,q),C({kind:"structure",el:U,detail:"both-moved",base:null,local:z,remote:q}),Qe({kind:"insert",el:U,source:"both"}),U}function Ve(){if(!K.weak||!W.weak||!K.weak.size||!W.weak.size||!K.unpair)return;let T=new Map;for(let F of K.weak){let z=K.map.get(F);Le(F)&&Le(z)&&T.set(i.unitHash(z),F)}let D=!1;for(let F of Array.from(W.weak)){let z=W.map.get(F);if(!Le(F)||!Le(z))continue;let q=T.get(i.unitHash(z));!q||q===F||!K.weak.has(q)||K.map.has(F)&&W.map.has(q)||K.map.get(q).tagName===z.tagName&&(K.unpair(q),W.unpair(F),D=!0)}D&&(K.rematch(),W.rematch())}function Ke(T,D){if(!T.weak||!T.weak.size||!D.insertedByHash)return;let F=D.insertedByHash();if(!F.size)return;let z=!1;for(let q of Array.from(T.weak)){let U=T.map.get(q);if(!U)continue;let Q=F.get(i.unitHash(U));Q&&Q.some(le=>le.tagName===U.tagName)&&(T.unpair(q),z=!0)}z&&T.rematch()}function et(T,D){if(T.map.has(D))return T.map.get(D);let F=[];for(let q=D.parentNode;q&&!T.map.has(q);q=q.parentNode)F.push(q);let z=F.length?F[F.length-1].parentNode:D.parentNode;if(!z||!T.identical.has(z))return null;T.pairIdenticalChildren(z);for(let q=F.length-1;q>=0;q--)T.pairIdenticalChildren(F[q]);return T.map.get(D)||null}function ut(T,D,F){if(dt.has(T)||Ze.has(T))return C({kind:"structure",el:null,detail:"both-moved",base:T}),dt.has(T)?null:ce(F,D);let z=et(K,T),q=et(W,T);(!z||!q)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:T});let U=y(T,z,q,!1);return(D==="local"?Qe:ct)({kind:"move",el:U,source:D}),U}function k(T,D,F,z){return z||!D||D===F?{el:F,asBase:!0,twin:q=>q,baseOf:q=>q,units:s(F),here:()=>!0,parentOfTwin:()=>F}:{el:D,asBase:!1,twin:q=>T.map.get(q),baseOf:q=>T.reverse.get(q),units:s(D),here:q=>Le(q)?q.parentNode===D||D.tagName==="TEMPLATE"&&q.parentNode===D.content:q.parent===D||D.tagName==="TEMPLATE"&&q.parent===D.content}}function g(T,D,F){return!D||F&&F.identical.has(T)?!1:Le(T)?l(T).hash!==l(D).hash:T.value!==D.value}function y(T,D,F,z,q=!1){let U=z||r.remoteWins(T),Q=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName),le={base:T,local:D||null,remote:F||null};if(V.set(Q,le),_e.add(T),dt.add(T),D&&_e.add(D),F&&_e.add(F),r.skipUnchanged&&!q&&(r.localIsBase||K.identical.has(T))&&F&&W.identical.has(T)&&!r.remoteWins(T)){le.unchanged=!0;for(let me of T.attributes)me.namespaceURI?Q.setAttributeNS(me.namespaceURI,me.name,me.value):Q.setAttribute(me.name,me.value);return Q}Ze.add(T),q||E(T,U?T:D,F,Q);let ke=T.tagName;if(Kt(T))_(T,U?T:D,F,Q);else if(ke==="TEXTAREA")Q.textContent=O(T.textContent,(U?T:D)?(U?T:D).textContent:T.textContent,F?F.textContent:T.textContent,Q,"text");else{let me=ge(T,D,F,U,Q),ve=ke==="TEMPLATE"&&Q.content?Q.content:Q;for(let Pe of me)ve.appendChild(Pe)}return Ze.delete(T),Q}function O(T,D,F,z,q){if(D===F)return D;if(D===T)return F!==T&&ct({kind:q,node:z,source:"remote"}),F;if(F===T)return Qe({kind:q,node:z,source:"local"}),D;let U=nt==="local"?D:F;return C({kind:q,node:z,base:T,local:D,remote:F,resolved:U}),We.push({kind:q,node:z,source:"both"}),U}function _(T,D,F,z){let q=T.textContent,U=D?D.textContent:q,Q=F?F.textContent:q,le=h?Xn(T,r.mergeTags,!0):null;if(le&&U!==Q){let ke=F&&F.getAttribute("merge-key")||T.getAttribute("merge-key"),{text:me,warnings:ve}=ki(r.localIsBase?void 0:q,U,Q,{parse:le.recognizer.parse,keyCandidates:ke?ke.split(/[\s,]+/).filter(Boolean):void 0});for(let Pe of ve)console.warn(`[hyper-morph] merge "${le.raw}": ${Pe}`);z.textContent=me,Nt.add(z),me!==Q?Qe({kind:"text",node:z,source:me===U?"local":"both"}):me!==q&&ct({kind:"text",node:z,source:"remote"});return}z.textContent=O(q,U,Q,z,"text")}function E(T,D,F,z){let q=new Map;for(let U of[T,D,F])if(U)for(let Q of U.attributes)r.ignoreAttribute(U,Q.name)||q.set(Q.name,Q);for(let[U,Q]of q){let le=T?T.getAttribute(U):null,ke=D?D.getAttribute(U):le,me=F?F.getAttribute(U):le,ve;ke===me?ve=ke:ke===le?(ve=me,ct({kind:"attr",el:z,name:U,source:"remote"})):me===le?(ve=ke,Qe({kind:"attr",el:z,name:U,source:"local"})):(ve=I(U,le,ke,me),ve===void 0&&(ve=nt==="local"?ke:me,C({kind:"attr",el:z,name:U,base:le,local:ke,remote:me,resolved:ve})),We.push({kind:"attr",el:z,name:U,source:"both"})),ve!=null&&(Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,ve):z.setAttribute(U,ve))}}function I(T,D,F,z){if(T==="class"){let q=me=>new Set((me||"").split(/\s+/).filter(Boolean)),U=q(D),Q=q(F),le=q(z),ke=new Set;for(let me of new Set([...U,...Q,...le])){let ve=U.has(me),Pe=Q.has(me),je=le.has(me);(Pe===je?Pe:Pe===ve?je:Pe)&&ke.add(me)}return[...ke].join(" ")}if(T==="style"){let q=ve=>{let Pe=new Map;if(!ve)return Pe;let je=0,wt=null,pe="",Xe=()=>{let Ee=pe.indexOf(":");Ee>0&&Pe.set(pe.slice(0,Ee).trim(),pe.slice(Ee+1).trim()),pe=""};for(let Ee of ve){if(wt){pe+=Ee,Ee===wt&&(wt=null);continue}if(Ee==='"'||Ee==="'"){wt=Ee,pe+=Ee;continue}if(Ee==="("?je++:Ee===")"&&je--,Ee===";"&&je===0){Xe();continue}pe+=Ee}return pe.trim()&&Xe(),Pe},U=q(D),Q=q(F),le=q(z),ke=new Map,me=!1;for(let ve of new Set([...U.keys(),...Q.keys(),...le.keys()])){let Pe=U.get(ve)??null,je=Q.get(ve)??null,wt=le.get(ve)??null,pe;je===wt?pe=je:je===Pe?pe=wt:wt===Pe?pe=je:(pe=nt==="local"?je:wt,me=!0),pe!=null&&ke.set(ve,pe)}return me?void 0:[...ke].map(([ve,Pe])=>`${ve}: ${Pe}`).join("; ")}}function N(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=Tr(q,U,Q,nt),ke=le.text===""?null:he.createTextNode(le.text);ke&&(V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),xe.set(ke,le.mapLocalOffset)),U!==q&&Q!==q?We.push({kind:"text",node:ke,source:"both"}):U!==q?Qe({kind:"text",node:ke,source:"local"}):Q!==q&&ct({kind:"text",node:ke,source:"remote"});for(let me of le.conflicts)C({kind:"text",node:ke,base:q.slice(me.bs,me.be),local:me.local,remote:me.remote,resolved:me.resolved});return ke}function j(T,D){return Er(T,D).every(F=>F.bs===F.be)}function J(T,D){let F=T?T.value:"",z=D?D.value:"",q;if(F===z||!z?q=F:F?j(F,z)?q=z:j(z,F)?q=F:(q=nt==="local"?F:nt==="both"?F+z:z,C({kind:"structure",el:null,detail:"insert-collision",local:F,remote:z,resolved:q})):q=z,T&&_e.add(T),D&&_e.add(D),q==="")return null;let U=he.createTextNode(q);return V.set(U,{base:null,local:T?T.nodes:null,remote:D?D.nodes:null}),F?Qe({kind:"insert",el:U,source:z&&F===z?"both":"local"}):ct({kind:"insert",el:U,source:"remote"}),U}function $(T,D){let F={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},z=le=>s(le).every(ke=>Le(ke)?Dn(ke,F):ke.kind==="text"),q=null;if(z(T)&&z(D)){let le=T.textContent,ke=D.textContent;le===ke||j(ke,le)?q=D:j(le,ke)&&(q=T)}if(!q){let le=nt==="local",ke=ce(le?T:D,le?"local":"remote",!0),me=V.get(ke);return le?me.remote=D:me.local=T,C({kind:"structure",el:ke,detail:"insert-collision",local:T,remote:D,resolved:le?T:D}),ke}let U=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);E(null,T,D,U),V.set(U,{base:null,local:T,remote:D}),_e.add(T),_e.add(D);let Q=pi({base:Array.from(q.childNodes),local:Array.from(T.childNodes),remote:Array.from(D.childNodes),out:he,policy:nt,idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:U});xt.push(...Q.segments);for(let le of Q.nodes)U.appendChild(le);return U}function ce(T,D,F=!1){if(!F&&Le(T)){let Q=G.partner.get(T);if(Q)return rt(T,D,Q)}if(!Le(T)){if(T.value==="")return null;let Q=T.kind==="comment"?he.createComment(T.value):he.createTextNode(T.value);return V.set(Q,{base:null,local:D==="local"?T.nodes:null,remote:D==="remote"?T.nodes:null}),_e.add(T),Q}let z=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);for(let Q of T.attributes)Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,Q.value):z.setAttribute(Q.name,Q.value);V.set(z,{base:null,local:D==="local"?T:null,remote:D==="remote"?T:null}),_e.add(T);let q=T.tagName==="TEMPLATE"&&z.content?z.content:z,U=D==="local"?K:W;for(let Q of s(T)){let le=Le(Q)?U.reverse.get(Q):null;if(le&&dt.has(le)){C({kind:"structure",el:null,detail:"both-moved",base:le});continue}if(le&&!Ze.has(le)){let me=K.map.get(le)||null,ve=W.map.get(le)||null;if(me||ve){let Pe=y(le,me,ve,!1);D==="local"?Qe({kind:"move",el:Pe,source:"local"}):ct({kind:"move",el:Pe,source:"remote"}),q.appendChild(Pe);continue}}let ke=ce(Q,D);ke&&q.appendChild(ke)}return z}function ge(T,D,F,z,q){D&&K.identical.has(T)&&K.pairIdenticalChildren(T),F&&W.identical.has(T)&&W.pairIdenticalChildren(T);let U=k(K,D,T,z),Q=k(W,F,T,!1),le=s(T),ke=new Set(le),me=new Map;for(let Y=0;Y<le.length;Y++)me.set(le[Y],Y);let ve=[],Pe=new Set,je=new Map,wt=new Set,pe=new Set,Xe=[];no();let Ee=Y=>{let Te=[];for(let be of Y.units){if(pe.has(be))continue;let Ne=Y.baseOf(be);Ne&&ke.has(Ne)&&Te.push(me.get(Ne))}return Te},Dt=Y=>Y.every((Te,be)=>be===0||Te>=Y[be-1]),At=!U.asBase&&!Dt(Ee(U)),Mt=!Q.asBase&&!Dt(Ee(Q));At&&Mt&&C({kind:"structure",el:null,detail:"both-reordered",base:T});let gt=Mt||!At?{V:Q,A:W,side:"remote",other:U,otherA:K,otherSide:"local"}:{V:U,A:K,side:"local",other:Q,otherA:W,otherSide:"remote"};At?Qe({kind:"move",el:null,source:Mt?"both":"local",base:T}):Mt&&ct({kind:"move",el:null,source:"remote",base:T});let xr=U.asBase?[]:U.units.filter(Y=>!U.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),vr=Q.asBase?[]:Q.units.filter(Y=>!Q.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),hn=new Map;if(xr.length&&vr.length){let Y=new Map,Te=new Map;for(let ie of vr){if(Le(ie)){let oe=u(ie);oe&&Y.set(oe,ie)}let Se=i.unitHash(ie);Te.has(Se)||Te.set(Se,[]),Te.get(Se).push(ie)}let be=(ie,Se)=>{let oe=ie.units.indexOf(Se);for(let Re=oe-1;Re>=0;Re--){let Fe=ie.baseOf(ie.units[Re]);if(Fe)return Fe}return"start"},Ne=new Map,$e=new Map;for(let ie of vr){let Se=be(Q,ie);Le(ie)?($e.has(Se)||$e.set(Se,[]),$e.get(Se).push(ie)):ie.kind==="text"&&!Ne.has(Se)&&Ne.set(Se,ie)}for(let ie of xr){let Se=null;if(Le(ie)){let oe=f(ie);oe&&Y.has(oe)&&!hn.has(Y.get(oe))&&(Se=Y.get(oe))}else if(ie.kind==="text"){let oe=Ne.get(be(U,ie));oe&&!hn.has(oe)&&(Se=oe)}if(!Se){let oe=Te.get(i.unitHash(ie));oe&&(Se=oe.find(Re=>!hn.has(Re)&&Le(Re)===Le(ie)&&(Le(Re)?Re.tagName===ie.tagName:Re.kind===ie.kind))||null)}if(!Se&&Le(ie)){let oe=m.local(ie),Re=($e.get(be(U,ie))||[]).filter(Fe=>{let Pt=m.remote(Fe);return!hn.has(Fe)&&Fe.tagName===ie.tagName&&!(oe&&Pt&&oe!==Pt)&&i.similar(ie,Fe)});Re.length===1&&(Se=Re[0])}Se&&(hn.set(Se,ie),hn.set(ie,Se))}}let nn=Y=>{if(_e.has(Y))return je.get(Y)||null;let Te=U.twin(Y),be=Q.twin(Y),Ne=Te&&!U.asBase&&!U.here(Te),$e=be&&!Q.asBase&&!Q.here(be);if(Ne||$e){if((!Te||!be)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),!Wt(Y))return _e.add(Y),null;C({kind:"structure",el:null,detail:"both-moved",base:Y})}if(!Te&&!be)return _e.add(Y),ct({kind:"remove",source:"both",base:Y}),null;if(!Te&&!g(Y,be,W))return _e.add(Y),Qe({kind:"remove",source:"local",base:Y}),null;if(!be&&!g(Y,Te,K))return _e.add(Y),ct({kind:"remove",source:"remote",base:Y}),null;let ie=!Te||!be,Se=U.asBase?K.map.get(Y)||null:Te,oe;return Le(Y)?oe=y(Y,Se,be,U.asBase):Y.kind==="comment"?oe=vt(Y,Se,be,U.asBase):oe=N(Y,Se,be,U.asBase),_e.add(Y),oe&&(je.set(Y,oe),Te&&je.set(Te,oe),be&&je.set(be,oe),ie&&(C({kind:"structure",el:oe,detail:"edit-beats-delete",base:Y}),Te?Qe({kind:"insert",el:oe,source:"local"}):ct({kind:"insert",el:oe,source:"remote"}))),oe},Un=(Y,Te,be,Ne)=>{if(_e.has(Y))return je.get(Y)||null;let $e=Te.baseOf(Y);if($e&&ke.has($e))return pe.has($e)&&!pe.has(Y)?Qr($e,Y,Ne):nn($e);if($e)return eo($e,Y,Ne);let ie=hn.get(Y);if(ie){let oe=Ne==="local"?Y:ie,Re=Ne==="local"?ie:Y,Fe;return Le(oe)?i.unitHash(oe)===i.unitHash(Re)?(Fe=ce(oe,"local"),V.get(Fe).remote=Re):Fe=$(oe,Re):Fe=J(oe,Re),_e.add(oe),_e.add(Re),Fe&&(je.set(oe,Fe),je.set(Re,Fe),Le(oe)&&Qe({kind:"insert",el:Fe,source:"both"})),Fe}let Se=ce(Y,Ne);return Se&&(je.set(Y,Se),Ne==="local"?Qe({kind:"insert",el:Se,source:"local"}):ct({kind:"insert",el:Se,source:"remote"})),Se},Qr=(Y,Te,be)=>{let Ne;return Le(Y)?(Ne=ut(Y,be,Te),Ne&&_e.add(Te)):(Ne=ce(Te,be),_e.add(Te),Ne&&(be==="local"?Qe:ct)({kind:"insert",el:Ne,source:be})),Ne&&je.set(Te,Ne),Ne},eo=(Y,Te,be)=>{let $e=(be==="local"?W:K).map.get(Y),ie=Te,Se=$e?Tt($e,be==="local"?F:D,be==="local"?W:K):!1,oe=$e&&!Se&&!Et(Y,$e);if(oe&&be===gt.otherSide)return C({kind:"structure",el:null,detail:"both-moved",base:Y}),null;if(oe&&C({kind:"structure",el:null,detail:"both-moved",base:Y}),$e||C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),Ze.has(Y)){C({kind:"structure",el:null,detail:"both-moved",base:Y});let Fe=ce(ie,be);return Fe&&je.set(Te,Fe),Fe}let Re=Le(Y)?y(Y,be==="local"?ie:K.map.get(Y)||null,be==="remote"?ie:W.map.get(Y)||null,!1):null;return Re&&(je.set(Y,Re),je.set(Te,Re),$e&&je.set($e,Re),be==="local"?Qe({kind:"move",el:Re,source:"local"}):ct({kind:"move",el:Re,source:"remote"})),Re};for(let Y of gt.V.units){if(pe.has(Y)){let be=je.get(Y);Pe.has(be)||(ve.push(be),Pe.add(be));continue}if(_e.has(Y)&&!(je.get(Y)&&Pe.has(je.get(Y)))){let be=gt.V.baseOf(Y);be&&!ke.has(be)&&C({kind:"structure",el:null,detail:"both-moved",base:be});continue}let Te=Un(Y,gt.V,gt.A,gt.side);Te&&!Pe.has(Te)&&(ve.push(Te),Pe.add(Te),!gt.V.baseOf(Y)&&!hn.has(Y)&&!pe.has(Y)&&wt.add(Te))}for(let Y of Xe)Pe.has(Y.frag)||(ve.splice(to(Y.at),0,Y.frag),Pe.add(Y.frag));if(!gt.other.asBase){let Y=gt.other,Te=gt.otherSide,be=gt.otherA,Ne=null,$e=0,ie=null;for(let Se of Y.units){let oe=je.get(Se);if(oe&&Pe.has(oe)){Ne=oe,ie=null;continue}if(_e.has(Se)){let Pt=Y.baseOf(Se);Pt&&!ke.has(Pt)&&C({kind:"structure",el:null,detail:"both-moved",base:Pt});continue}let Re=Un(Se,Y,be,Te);if(!Re)continue;let Fe;if(ie)Fe=ve.indexOf(ie)+1;else if(Ne){if(Fe=ve.indexOf(Ne)+1,Te==="remote")for(;Fe<ve.length&&wt.has(ve[Fe]);)Fe++}else Fe=$e++;ve.splice(Fe,0,Re),Pe.add(Re),ie=Re}}for(let Y=0;Y<le.length;Y++){let Te=le[Y];if(_e.has(Te))continue;let be=nn(Te);be&&ve.splice(to(Y),0,be)}return ve;function to(Y){for(let Te=Y-1;Te>=0;Te--){let be=je.get(le[Te]);if(be){let Ne=ve.indexOf(be);if(Ne>=0)return Ne+1}}return 0}function zn(Y){let Te={ignored:o,remoteWins:()=>!1},be=Z=>Y(Z)||Le(Z)&&r.remoteWins(Z)&&mn.has(Z.tagName)&&Dn(Z,Te),Ne=new Map,$e=Z=>{if(!Le(Z)||!Au.has(Z.tagName))return!1;let de=Ne.get(Z);return de===void 0&&(de=!o(Z)&&!r.remoteWins(Z)&&s(Z).every(be),Ne.set(Z,de)),de},ie=Z=>!Le(Z)&&Z.kind==="text",Se=null,oe=new Map,Re=Z=>{let de=oe.get(Z);if(de)return de;let we=Le(Z)?Z.textContent:Z.value;de=new Set;let Ie=we.toLowerCase();if(!(we.length>Ws))if(/^[\x00-\x7f]*$/.test(Ie))for(let Oe of Ie.split(/[^\p{L}\p{N}]+/u))Oe&&de.add(Oe);else for(let Oe of ci(Ie))/^[\s\p{P}]+$/u.test(Oe)||de.add(Oe);return oe.set(Z,de),de},Fe=Z=>(Le(Z)?Z.textContent:Z.value).toLowerCase().replace(/\s+/g," ").trim(),Pt=new Map,rn=Z=>{let de=Pt.get(Z);if(de)return de;de=new Set(Re(Z));let we=Oe=>{if(Oe)for(let Ye of Re(Oe))de.add(Ye)},Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z);return Ie&&(we(Ie),we(K.map.get(Ie)),we(W.map.get(Ie))),Pt.set(Z,de),de},pn=(Z,de)=>{let we=Fe(de),Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z),Oe=mt=>we?mt.split(we).length-1:0;if(Ie&&Le(de)&&!ke.has(de)){let mt=Oe(Fe(Ie));for(let bt of[K.map.get(Ie),W.map.get(Ie)]){if(!bt||bt===de||bt.ownerDocument!==de.ownerDocument)continue;let Qt=Fe(bt);if(Qt.length>we.length&&Oe(Qt)>=mt&&(Qt.startsWith(we)||Qt.endsWith(we)))return!1}}let Ye=Re(de),ot=rn(Z),qt=0;for(let mt of Ye)ot.has(mt)&&qt++;if(Ye.size&&qt*2>=Ye.size)return!0;if(!we||we.length>Ws)return!1;let zt=Ie?[Z,Ie,K.map.get(Ie),W.map.get(Ie)]:[Z],Jt=(mt,bt)=>mt!==bt&&(mt.startsWith(bt)||mt.endsWith(bt));if(zt.some(mt=>mt&&Jt(Fe(mt),we)))return!0;if(!ke.has(de)||!Ie)return!1;let _t=Fe(Z),Zt=Fe(Ie);return[K.map.get(de),W.map.get(de)].some(mt=>{let bt=mt&&Fe(mt);return!!bt&&_t!==bt&&(_t.startsWith(bt)&&!Zt.startsWith(bt)||_t.endsWith(bt)&&!Zt.endsWith(bt))})},Ut=Z=>{Se||(Se=new Set),Se.add(Z)},wn=Z=>{Ut(Z);for(let[de,we]of[[K,U],[W,Q]]){if(we.asBase)continue;let Ie=de.map.get(Z);Ie&&we.here(Ie)&&Ut(Ie)}},De=(Z,de)=>Z.asBase||le.every(we=>!Le(we)||de.identical.has(we)&&Z.here(de.map.get(we)))&&Z.units.every(we=>!Le(we)||Z.baseOf(we));if(De(U,K)&&De(Q,W))return null;let Ue=Z=>{if(Z.asBase)return!1;let de=-1;for(let we of Z.units){let Ie=Le(we)?Z.baseOf(we):null;if(!Ie||!ke.has(Ie))continue;let Oe=me.get(Ie);if(Oe<de)return!0;de=Oe}return!1};if(Ue(U)||Ue(Q))return null;for(let[Z,de]of[[U,K],[Q,W]]){if(Z.asBase||De(Z,de))continue;let we=Z.units,Ie=de===K?m.local:m.remote,Oe=(fe,ze)=>{let st=Le(fe)&&m.base(fe),tt=Le(ze)&&Ie(ze);return!st||!tt||st===tt},Ye=new Map;for(let fe=0;fe<we.length;fe++)Ye.set(we[fe],fe);let ot=fe=>!!fe&&(Le(fe)?Z.here(fe):Ye.has(fe)),qt=fe=>{let ze=Z.twin(fe);return ot(ze)?ze:null},zt=le.filter(fe=>!Z.twin(fe)&&$e(fe)),Jt=we.filter(fe=>!Z.baseOf(fe)&&$e(fe)),_t=(fe,ze)=>ze===le?!!qt(fe):ke.has(Z.baseOf(fe)),Zt=fe=>{let ze=new Int32Array(fe.length),st=new Int32Array(fe.length),tt=-1;for(let Je=0;Je<fe.length;Je++)ze[Je]=tt,_t(fe[Je],fe)&&(tt=Je);tt=fe.length;for(let Je=fe.length-1;Je>=0;Je--)st[Je]=tt,_t(fe[Je],fe)&&(tt=Je);return{prev:ze,next:st}},mt=Zt(we),bt=Zt(le),Qt=(fe,ze)=>{wn(fe),Ut(ze)};for(let fe of Jt){let ze=Ye.get(fe),st=mt.prev[ze],tt=mt.next[ze],Je=st>=0?Z.baseOf(we[st]):null,an=tt<we.length?Z.baseOf(we[tt]):null,on=Je?me.get(Je):-1,An=an?me.get(an):le.length;for(let en=Math.max(0,on);en<=Math.min(An,le.length-1);en++){let $t=le[en];($e($t)||ie($t))&&(!Oe($t,fe)||!pn($t,fe)||(ie($t)?Ut(fe):Qt($t,fe)))}}let ln=(fe,ze,st)=>{for(let tt=ze+st;tt>=0&&tt<fe.length;tt+=st){let Je=fe[tt];if($e(Je))return Je;if(Le(Je)||Je.value.trim())return null}return null},ro=fe=>{let ze=new Set;for(let st of s(fe))if(!Le(st)&&st.kind==="text")for(let tt of Re(st))ze.add(tt);return ze},wr=(fe,ze)=>{let st=Re(ze),tt=new Set;for(let Je of ro(fe))st.has(Je)||tt.add(Je);return tt},Ar=(fe,ze)=>{if(!fe.size)return!1;let st=Re(ze),tt=0;for(let Je of fe)st.has(Je)&&tt++;return tt*2>=fe.size};for(let fe of le){if(de.identical.has(fe)||!$e(fe))continue;let ze=qt(fe);if(!ze||!$e(ze))continue;let st=wr(ze,fe),tt=wr(fe,ze);for(let Je of[-1,1]){let an=ln(le,me.get(fe),Je);an&&Ar(st,an)&&(Qt(fe,ze),wn(an));let on=ln(we,Ye.get(ze)??-1,Je);if(on&&Ar(tt,on)){Qt(fe,ze);let An=Z.baseOf(on);An?Qt(An,on):Ut(on)}}}for(let fe of zt){let ze=me.get(fe),st=bt.prev[ze],tt=bt.next[ze],Je=st>=0?qt(le[st]):null,an=tt<le.length?qt(le[tt]):null,on=Je?Ye.get(Je)??-1:-1,An=an?Ye.get(an)??-1:we.length;for(let en=Math.max(0,on);en<=Math.min(An,we.length-1);en++){let $t=we[en];if(($e($t)||ie($t))&&!(!Oe(fe,$t)||!pn($t,fe))&&(wn(fe),!ie($t))){let Yt=Z.baseOf($t);Yt?Qt(Yt,$t):Ut($t)}}}}if(!Se)return null;for(let Z of Array.from(Se))if(ke.has(Z))for(let de of[K,W]){let we=de.map.get(Z);we&&we.parentNode!==(de===K?D:F)&&!(de===K?U:Q).asBase&&Se.delete(Z)}return Se.size?Se:null}function no(){if((U.asBase||K.identical.has(T))&&(Q.asBase||W.identical.has(T)))return;let Y={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},Te=De=>Le(De)?Dn(De,Y):De.kind==="text",be=zn(Te),Ne=De=>be&&be.has(De)||Te(De),$e=le.map(Ne);if(!$e.includes(!0))return;let ie=De=>{let Ue=De.units,Z=new Map;for(let ot=0;ot<Ue.length;ot++)Z.set(Ue[ot],ot);let de=[],we=-1;for(let ot=0;ot<le.length;ot++){if($e[ot])continue;let qt=De.twin(le[ot]),zt=qt?Z.get(qt):void 0;zt===void 0||zt<=we||Ne(qt)||(de.push([ot,zt]),we=zt)}let Ie=[],Oe=-1,Ye=-1;for(let ot=0;ot<=de.length;ot++){let[qt,zt]=ot<de.length?de[ot]:[le.length,Ue.length],Jt={bLo:-1,bHi:-1,sLo:-1,sHi:-1,next:zt};for(let _t=Oe+1;_t<qt;_t++)$e[_t]&&(Jt.bLo<0&&(Jt.bLo=_t),Jt.bHi=_t);for(let _t=Ye+1;_t<zt;_t++)Ne(Ue[_t])&&(Jt.sLo<0&&(Jt.sLo=_t),Jt.sHi=_t);Ie.push(Jt),Oe=qt,Ye=zt}return{units:Ue,list:Ie}},Se=ie(U),oe=ie(Q),Re=[];for(let De of[Se,oe])for(let Ue of De.list)Ue.bLo>=0&&Re.push([Ue.bLo,Ue.bHi]);Re.sort((De,Ue)=>De[0]-Ue[0]);let Fe=[];for(let[De,Ue]of Re){let Z=Fe[Fe.length-1];Z&&De<=Z.hi?Z.hi=Math.max(Z.hi,Ue):Fe.push({lo:De,hi:Ue})}let Pt=(De,Ue)=>{let Z=-1,de=-1;for(let Oe=0;Oe<De.list.length;Oe++){let Ye=De.list[Oe];Ye.bLo<Ue.lo||Ye.bLo>Ue.hi||(Z<0&&(Z=Oe),de=Oe)}let we=1/0,Ie=-1;for(let Oe=Z;Oe>=0&&Oe<=de;Oe++){let Ye=De.list[Oe];Ye.sLo>=0&&(we=Math.min(we,Ye.sLo),Ie=Math.max(Ie,Ye.sHi)),Oe<de&&(we=Math.min(we,Ye.next),Ie=Math.max(Ie,Ye.next))}return Ie<0?[]:De.units.slice(we,Ie+1)},rn=(De,Ue)=>De.length===Ue.length&&De.every((Z,de)=>i.unitHash(Z)===i.unitHash(Ue[de])),pn=De=>!Le(De)&&De.kind==="comment",Ut=De=>{if(!De.length)return[];let Ue=(Oe,Ye)=>Le(Oe)?Oe:Oe.nodes[Ye?Oe.nodes.length-1:0],Z=Ue(De[0]),de=Ue(De[De.length-1],!0),we=Oe=>Oe&&Le(Oe)&&o(Oe);for(;we(Z.previousSibling);)Z=Z.previousSibling;for(;we(de.nextSibling);)de=de.nextSibling;let Ie=[];for(let Oe=Z;Oe&&(Ie.push(Oe),Oe!==de);Oe=Oe.nextSibling);return Ie},wn=De=>De.some(Ue=>Le(Ue)&&o(Ue));for(let De of Fe){let Ue=le.slice(De.lo,De.hi+1),Z=U.asBase?null:Pt(Se,De),de=Q.asBase?null:Pt(oe,De);if(Ue.some(pn)||Z&&Z.some(pn)||de&&de.some(pn))continue;let we=Ut(Z||Ue),Ie=Ut(de||Ue);if((!Z||rn(Ue,Z))&&(!de||rn(Ue,de))&&!(Z&&wn(we)))continue;let Oe=pi({base:Ut(Ue),local:we,remote:Ie,out:he,policy:nt,blocks:be,L:Z?K:Ks(K,T),R:de?W:Ks(W,T),idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,mergeElement:(ot,qt,zt)=>y(ot,qt,zt,!1),cloneUnit:ce,mergeAttrs:E,atomKey:i.unitHash,moveIn:ut,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:q});xt.push(...Oe.segments);let Ye=he.createDocumentFragment();for(let ot of Oe.nodes)Ye.appendChild(ot);for(let ot of[...Ue,...Z||[],...de||[]])_e.add(ot),pe.add(ot),je.set(ot,Ye);Xe.push({frag:Ye,at:De.lo})}}}function ht(T,D){let F=V.get(T);return F&&F.unchanged?!0:T.tagName!==D.tagName||!ue(T,D)?!1:Ge(ft(T),ft(D))}function ft(T){return T.tagName==="TEMPLATE"&&T.content?T.content:T}function ue(T,D){let F=0;for(let z of T.attributes)if(!r.ignoreAttribute(T,z.name)&&(F++,D.getAttribute(z.name)!==z.value))return!1;for(let z of D.attributes)r.ignoreAttribute(D,z.name)||F--;return F===0}function Ge(T,D){let F=Ft(T,q=>{let U=V.get(q);return!!(U&&U.pinned)}),z=Ft(D,o);if(F.length!==z.length)return!1;for(let q=0;q<F.length;q++){let U=F[q],Q=z[q];if(typeof U=="string"||typeof Q=="string"){if(U!==Q)return!1}else{if(U.nodeType!==Q.nodeType)return!1;if(U.nodeType===1){if(!ht(U,Q))return!1}else if(U.nodeValue!==Q.nodeValue)return!1}}return!0}function Ft(T,D){let F=[],z=null;for(let q=T.firstChild;q;q=q.nextSibling){if(q.nodeType===3){z=z===null?q.nodeValue:z+q.nodeValue;continue}q.nodeType===1&&D(q)||(z!==null&&(z!==""&&F.push(z),z=null),F.push(q))}return z!==null&&z!==""&&F.push(z),F}function vt(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=U===Q?U:U===q?Q:Q===q||nt==="local"?U:Q;if(U!==q&&Q!==q&&U!==Q&&C({kind:"text",node:null,base:q,local:U,remote:Q,resolved:le}),!D&&!F)return null;let ke=he.createComment(le);return V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),ke}function Ht(T,D){let F=D.map.get(T);if(!F)return null;let z=Le(F)?F.parentNode:F.parent,q=Le(T)?T.parentNode:T.parent;return D.map.get(q)===z?null:D.reverse.get(z)||null}function Wt(T){let D=new Set([T]),F=T;for(let z=0;z<64;z++){let q=Ht(F,K)||Ht(F,W);if(!q)return!1;if(q===T||Le(T)&&Le(q)&&T.contains(q)||D.has(q))return!0;D.add(q),F=q}return!0}function Tt(T,D,F){if(!D)return!1;let z=Le(T)?T.parentNode:T.parent;return z===D||D.tagName==="TEMPLATE"&&z===D.content}function Et(T,D){let F=Le(T)?T.parentNode:T.parent,z=Le(D)?D.parentNode:D.parent;return!!(K.map.get(F)===z?K:W.map.get(F)===z?W:null)}}function Ks(e,t){return e.map.get(t)?Gs():{map:{get:r=>r&&r.nodeType===1&&e.map.get(r)||r,has:()=>!0},reverse:{get:r=>e.reverse.get(r)||r,has:()=>!0},moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}function Gs(){let e={get:t=>t,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var Ys=new Set(["INPUT","OPTION","TEXTAREA"]);function Xs(e,t,n,r){let o=e.ownerDocument,{provenance:i,textMappers:s}=n,l=r.hooks,a=[],h=[],d=[],b=new Set,f=[],u=[],m=new Set,p=new Map,v=k=>!!k&&(k===e||e.contains(k)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(k)),A=new Map,M=new Map,L=new Map,H=new Map;(function k(g){let y=i.get(g);if(y){if(g.nodeType===1){let _=y.local?r.toLive(y.local):null;_&&v(_)&&_.nodeType===1&&(A.set(g,_),M.set(_,g))}else if(Array.isArray(y.local)){let _=K(y.local,y.local.map(E=>r.toLive(E)).filter(E=>E&&v(E)&&E.nodeType===g.nodeType));if(_.length&&(A.set(g,_[0]),M.set(_[0],g),L.set(g,_)),Array.isArray(y.caret))for(let E of y.caret){let I=r.toLive(E.node);if(!I||!v(I)||I.nodeType!==3)continue;let N=H.get(I);Array.isArray(N)||H.set(I,N=[]),N.push({merged:g,from:E.from,to:E.to,flatStart:E.flatStart})}else{let E=0;for(let I of _)H.set(I,{merged:g,shift:E}),E+=I.nodeValue.length}}}let O=g.nodeType===1&&g.tagName==="TEMPLATE"&&g.content?g.content.childNodes:g.childNodes;for(let _ of O)k(_)})(t);let B=new Set;for(let k of A.values())B.add(k);for(let k of L.values())for(let g of k)B.add(g);for(let k of n.segments||[])W(k);let te=r.restoreFocus===!1?null:Su(o,H);r.childrenOnly?We(he(e),he(t)):V(e,t);for(let{node:k,parent:g}of f)b.has(k)||!k.parentNode||k.nodeType===1&&(r.ignored(k)||at(k))||ct(k,g);return Tu(o,te,H,s,L,p),{applied:a,moved:h,replaced:d,identities:u,mergedScriptsLive:m,liveOf:A};function re(k,g){let y=k.slice(g.bs,g.be),O=0;for(;O<y.length&&O<g.text.length&&y[O]===g.text[O];)O++;let _=0;for(;_<y.length-O&&_<g.text.length-O&&y[y.length-1-_]===g.text[g.text.length-1-_];)_++;return{bs:g.bs+O,be:g.be-_,text:g.text.slice(O,g.text.length-_)}}function K(k,g){if(!g.length)return g;let y=new Set;for(let _ of k){let E=_.parentNode;if(E)for(let I=E.firstChild;I;I=I.nextSibling)I.nodeType===3&&y.add(r.toLive(I))}let O=[];for(let _ of g){O.push(_);for(let E=_.nextSibling;E&&E.nodeType===3&&!y.has(E)&&!O.includes(E);E=E.nextSibling)O.push(E)}return O}function W(k){let g=[];for(let ue of k.localNodes){let Ge=r.toLive(ue.node);if(!Ge||!v(Ge)||Ge.nodeType!==3)return;g.push(Ge)}let y=K(k.localNodes.map(ue=>ue.node),g);if(!y.length)return;let O=y.map(ue=>ue.nodeValue).join(""),{flatLocal:_,lToM:E,mapLocal:I}=k;if(O===_)return;let N=k.textNodes.map(ue=>({node:ue.node,ms:ue.ms,me:ue.me})),j=[],J=0;for(let ue of y)j.push(J),J+=ue.nodeValue.length;let $=(ue,Ge)=>y.find((Ft,vt)=>j[vt]<=ue&&ue+Ge<=j[vt]+Ft.nodeValue.length)||null,ce=[],ge=0;for(let ue of Er(_,O).map(Ge=>re(_,Ge))){let Ge=ue.bs+ge;ge+=ue.text.length-(ue.be-ue.bs);let Ft,vt;if(ue.be>ue.bs){Ft=E[ue.bs];let Ht=Ft>=0;for(let Wt=ue.bs;Ht&&Wt<ue.be;Wt++)E[Wt]!==Ft+(Wt-ue.bs)&&(Ht=!1);if(!Ht)continue;vt=Ft+(ue.be-ue.bs)}else{let Ht=ue.bs>0?E[ue.bs-1]:0,Wt=ue.bs<_.length?E[ue.bs]:0;if(Ht<0||Wt<0)continue;Ft=vt=I(ue.bs)}ce.push({ms:Ft,me:vt,text:ue.text,live:vt===Ft?$(Ge,ue.text.length):null})}ce.sort((ue,Ge)=>Ge.ms-ue.ms);let ht=(ue,Ge)=>(L.get(ue.node)||[A.get(ue.node)]).includes(Ge),ft=ue=>!!ue&&ue.nodeType===1&&mn.has(ue.tagName);for(let ue of ce){let Ge=N.find(vt=>vt.ms<=ue.ms&&ue.me<=vt.me&&ue.ms<vt.me);if(Ge&&ue.live&&Ge.ms===ue.ms&&!ht(Ge,ue.live)){let vt=N.find(Ht=>Ht.me===ue.ms&&ht(Ht,ue.live));vt&&(Ge=vt)}if(!Ge&&ue.me===ue.ms){let vt=N.find(Et=>Et.me===ue.ms),Ht=N.find(Et=>Et.ms===ue.ms),Wt=vt||Ht;if(!Wt)continue;let Tt=Wt.node;for(;ft(Tt.parentNode)&&(vt?Tt.parentNode.lastChild:Tt.parentNode.firstChild)===Tt;)Tt=Tt.parentNode;if(Tt===Wt.node)Ge=Wt;else{let Et=Tt.ownerDocument.createTextNode(ue.text);Tt.parentNode.insertBefore(Et,vt?Tt.nextSibling:Tt);continue}}if(!Ge)continue;let Ft=Ge.node.nodeValue;Ge.node.nodeValue=Ft.slice(0,ue.ms-Ge.ms)+ue.text+Ft.slice(ue.me-Ge.ms),Ge.me+=ue.text.length-(ue.me-ue.ms)}}function he(k){return k.nodeType===1&&k.tagName==="TEMPLATE"&&k.content?k.content:k}function V(k,g){b.add(k);let y=i.get(g);if(y&&y.remote&&n.remoteIdOf){let _=n.remoteIdOf(y.remote);_&&u.push([k,_])}if(y&&y.unchanged){n.customIdentity&&y.remote&&dt(k,y.remote),y.remote&&_e(k,y.remote);return}if(l.beforeNodeMorphed(k,g)===!1)return;ye(k,g);let O=k.tagName;if(Kt(k))k.textContent!==g.textContent&&(a.push({kind:"text",node:k,before:k.textContent,after:g.textContent}),k.textContent=g.textContent),n.mergedScripts.has(g)&&m.add(k);else if(O==="TEXTAREA")ut(k,g,y);else{Ke(k,g,y);let _=O==="TEMPLATE"&&k.content?k.content:k,E=O==="TEMPLATE"&&g.content?g.content:g;r.protectFocusedValue==="subtree"&&Ce(k)&&k!==o.body?xe(_):We(_,E)}l.afterNodeMorphed(k,g)}function xe(k){for(let g=k.firstChild;g;g=g.nextSibling){let y=M.get(g);y&&A.get(y.parentNode)!==k||(b.add(g),g.nodeType===1&&xe(g))}}function We(k,g){let y=nt(k.firstChild),O=new Set;for(let _ of Array.from(g.childNodes)){let E=A.get(_);E&&b.has(E)&&!O.has(E)&&(E=null);let I=i.get(_);if(I&&I.pinned){E&&E.nodeType===1&&((E.parentNode!==k||nt(E.nextSibling)!==y)&&Qe(k,E,y),b.add(E),O.add(E));continue}if(E&&E.nodeType===1){if(E!==y){let J=E.parentNode;if(J===k&&y&&rt(E)){let $=E.nextSibling;for(let ce=y;ce&&ce!==E;){let ge=ce.nextSibling;Qe(k,ce,$),ce=ge}}else Qe(k,E,y),J!==k&&(h.push(E),a.push({kind:"move",el:E,from:J,to:k}))}O.add(E),V(E,_),y=nt(E.nextSibling);continue}if(E&&E.nodeType!==1){let J=L.get(_)||[E];E!==y&&Qe(k,E,y);let $=_.nodeValue;if(_.nodeType===3){let ce=Nt(_),ge=J.map(ht=>ht.nodeValue).join("");ce!=null&&ge!==ce&&($=Tr(ce,ge,_.nodeValue).text)}l.beforeNodeMorphed(E,_)!==!1&&(E.nodeValue!==$&&(a.push({kind:"text",node:E,before:E.nodeValue,after:$}),E.nodeValue=$),l.afterNodeMorphed(E,_)),b.add(E),O.add(E),p.set(_,E),y=nt(E.nextSibling);continue}if(_.nodeType===3&&y&&y.nodeType===3&&!b.has(y)&&!H.has(y)){y.nodeValue!==_.nodeValue&&(a.push({kind:"text",node:y,before:y.nodeValue,after:_.nodeValue}),y.nodeValue=_.nodeValue),b.add(y),p.set(_,y),y=nt(y.nextSibling);continue}let N=i.get(_),j=C(N&&N.unchanged&&N.remote?N.remote:_);l.beforeNodeAdded(j)!==!1&&(k.insertBefore(j,y),b.add(j),j.nodeType===3&&p.set(_,j),j.nodeType===1&&(d.push(j),Rt(j,_),Kt(j)||G(j,_),r.formState==="property"&&Ve(N)&&_e(j,N.remote)),y=nt(j.nextSibling),a.push({kind:"insert",node:j,parent:k}),l.afterNodeAdded(j))}for(let _ of Array.from(k.childNodes))b.has(_)||O.has(_)||_.nodeType===1&&(r.ignored(_)||at(_))||(B.has(_)?f.push({node:_,parent:k}):ct(_,k))}function at(k){return r.preserve&&k.parentNode&&k.parentNode.nodeType===1&&k.parentNode.tagName==="HEAD"&&r.preserve(k)===!0}function Nt(k){let g=i.get(k);return!g||!Array.isArray(g.local)?null:g.local.map(y=>y.nodeValue).join("")}function xt(k){return i.get(k)}function _e(k,g){if(!Ys.has(k.tagName)&&!k.querySelector("input,option,textarea"))return;let y=(O,_)=>{if(O.tagName!==_.tagName)return;O.tagName==="TEXTAREA"?ut(O,_,{remote:_}):Ys.has(O.tagName)&&Ke(O,_,{remote:_});let E=Ze(O),I=Ze(_);if(E.length===I.length)for(let N=0;N<E.length;N++)y(E[N],I[N])};y(k,g)}function dt(k,g){let y=Ze(k),O=Ze(g);if(y.length===O.length)for(let _=0;_<y.length;_++){let E=n.remoteIdOf(O[_]);E&&u.push([y[_],E]),dt(y[_],O[_])}}function Ze(k){let g=k.tagName==="TEMPLATE"&&k.content?k.content:k;return Array.from(g.children).filter(y=>!r.ignored(y))}function Rt(k,g){if(!n.remoteIdOf)return;let y=(O,_)=>{let E=i.get(_);if(E&&E.remote&&_.nodeType===1){let j=n.remoteIdOf(E.remote);j&&u.push([O,j])}let I=O.childNodes,N=_.childNodes;for(let j=0;j<I.length&&j<N.length;j++)y(I[j],N[j])};y(k,g)}function nt(k){for(;k&&k.nodeType===1&&r.ignored(k);)k=k.nextSibling;return k}function Qe(k,g,y){if(typeof k.moveBefore=="function"&&g.ownerDocument===k.ownerDocument)try{k.moveBefore(g,y);return}catch{}k.insertBefore(g,y)}function ct(k,g){l.beforeNodeRemoved(k)!==!1&&(k.parentNode.removeChild(k),a.push({kind:"remove",node:k,parent:g}),l.afterNodeRemoved(k))}function C(k){if(Kt(k))return Cr(k,o);let g=o.importNode(k,!0);if(g.nodeType===1)for(let y of Array.from(g.querySelectorAll("script")))Kt(y)&&y.replaceWith(Cr(y,o));return g}function G(k,g){let y=k.tagName==="TEMPLATE"&&k.content?k.content:k,O=g.tagName==="TEMPLATE"&&g.content?g.content:g,_=Array.from(y.childNodes),E=Array.from(O.childNodes);for(let I=0;I<E.length&&I<_.length;I++){let N=E[I],j=_[I],J=A.get(N);J&&b.has(J)&&(J=null);let $=i.get(N);if($&&$.pinned){if(J&&J.nodeType===1){let ce=J.parentNode;Qe(y,J,j),ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),b.add(J)}j.remove();continue}if(J){let ce=J.parentNode;Qe(y,J,j),j.remove(),J.nodeType===1?(ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),V(J,N)):(b.add(J),p.set(N,J),J.nodeValue!==N.nodeValue&&(a.push({kind:"text",node:J,before:J.nodeValue,after:N.nodeValue}),J.nodeValue=N.nodeValue));continue}b.add(j),j.nodeType===3&&p.set(N,j),N.nodeType===1&&!Kt(N)&&G(j,N)}}function ye(k,g){for(let y of Array.from(g.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name))continue;let O=y.namespaceURI?k.getAttributeNS(y.namespaceURI,y.localName):k.getAttribute(y.name);O!==y.value&&l.beforeAttributeUpdated(y.name,k,"update")!==!1&&(y.namespaceURI?k.setAttributeNS(y.namespaceURI,y.name,y.value):k.setAttribute(y.name,y.value),a.push({kind:"attr",el:k,name:y.name,before:O,after:y.value}))}for(let y of Array.from(k.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name)||(y.namespaceURI?g.hasAttributeNS(y.namespaceURI,y.localName):g.hasAttribute(y.name))||l.beforeAttributeUpdated(y.name,k,"remove")===!1)continue;let _=y.value;y.namespaceURI?k.removeAttributeNS(y.namespaceURI,y.localName):k.removeAttribute(y.name),a.push({kind:"attr",el:k,name:y.name,before:_,after:null})}}function se(k,g){let y=k.tagName;return y==="INPUT"?g==="value"||g==="checked"||g==="disabled":y==="OPTION"?g==="selected":!1}function Ce(k){return k===o.activeElement}function rt(k){let g=o.activeElement;return!!g&&g!==o.body&&k.contains(g)}function Ve(k){let g=k&&k.remote;return g&&g.nodeType===1?g:null}function Ke(k,g,y){let O=k.tagName,_=Ve(y),E=r.formState==="property"&&_?_:g;if(O==="INPUT"){let I=r.protectFocusedValue&&Ce(k),N=(k.getAttribute("type")||"").toLowerCase(),j=N!=="file"&&N!=="checkbox"&&N!=="radio",J=_&&_.hasAttribute("value")&&_.value!==_.getAttribute("value")?_.value:null;if(j&&!I)if(r.formState==="property"){let $=g.getAttribute("value"),ce=k.getAttribute("value");(ce!==$||k.value!==E.value)&&l.beforeAttributeUpdated("value",k,$==null?"remove":"update")!==!1&&(ce!==$&&($==null?k.removeAttribute("value"):k.setAttribute("value",$),a.push({kind:"attr",el:k,name:"value",before:ce,after:$})),k.value!==E.value&&(k.value=E.value))}else if(g.hasAttribute("value")||J!=null){let $=J??g.getAttribute("value");k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1?(k.setAttribute("value",$),k.value!==$&&(k.value=$),a.push({kind:"attr",el:k,name:"value",before:null,after:$})):k.value!==$&&k.getAttribute("value")===$&&(k.value=$)}else(k.hasAttribute("value")||k.value!=="")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&(k.removeAttribute("value"),k.value="",a.push({kind:"attr",el:k,name:"value",before:"",after:null}));if(!j&&N!=="file"){let $=g.getAttribute("value");$==null?k.hasAttribute("value")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&k.removeAttribute("value"):k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1&&k.setAttribute("value",$)}I||(et(k,E,"checked"),r.formState==="property"&&k.indeterminate!==E.indeterminate&&(k.indeterminate=E.indeterminate)),et(k,E,"disabled")}else if(O==="OPTION"){let I=k.parentNode&&k.closest("select");r.protectFocusedValue&&I&&Ce(I)||et(k,E,"selected")}}function et(k,g,y){let O=r.formState==="property"?!!g[y]:g.hasAttribute(y);if(r.formState!=="property"){let _=k.hasAttribute(y);if(_!==O){if(l.beforeAttributeUpdated(y,k,O?"update":"remove")===!1)return;O?k.setAttribute(y,""):k.removeAttribute(y),a.push({kind:"attr",el:k,name:y,before:_?"":null,after:O?"":null})}}k[y]!==O&&(k[y]=O)}function ut(k,g,y){if(r.protectFocusedValue&&Ce(k)||l.beforeAttributeUpdated("value",k,"update")===!1)return;let O=Ve(y),_=g.textContent,E=O&&O.value!==O.defaultValue?O.value:_;r.formState!=="property"&&k.textContent!==_&&(a.push({kind:"text",node:k,before:k.textContent,after:_}),k.textContent=_),k.value!==E&&(k.value=E)}}function Su(e,t){let n=e.activeElement;if(!n||n===e.body||n===e.documentElement)return null;let r={el:n,id:n.getAttribute&&n.getAttribute("id"),scrollTop:n.scrollTop,scrollLeft:n.scrollLeft};if(n.tagName==="INPUT"||n.tagName==="TEXTAREA"){try{r.selection=[n.selectionStart,n.selectionEnd,n.selectionDirection]}catch{}return r}let o=e.getSelection&&e.getSelection();if(o&&o.rangeCount){let i=o.getRangeAt(0);r.range={sc:i.startContainer,so:i.startOffset,ec:i.endContainer,eo:i.endOffset}}return r}function Tu(e,t,n,r,o,i){if(!t)return;let s=t.el;if(!s.isConnected&&t.id&&(s=e.getElementById(t.id)),!s||!s.isConnected)return;if(e.activeElement!==s)try{s.focus({preventScroll:!0})}catch{}try{s.scrollTop=t.scrollTop,s.scrollLeft=t.scrollLeft}catch{}if(t.selection){try{s.setSelectionRange&&!s.selectionEnd&&t.selection[1]!=null&&s.setSelectionRange(t.selection[0],t.selection[1],t.selection[2]||"none")}catch{}return}if(!t.range)return;let l=(d,b)=>{let f=n.get(d);if(Array.isArray(f)){let u=f.find(A=>b>=A.from&&b<A.to)||f.find(A=>b===A.to)||f[f.length-1],m=i.get(u.merged);if(!m||!m.isConnected)return null;let p=r.get(u.merged),v=p&&p.flat?p.flat(u.flatStart+b):b;return[m,Math.max(0,Math.min(v,m.nodeValue.length))]}if(f){let u=(o.get(f.merged)||[d])[0];if(!u.isConnected)return null;let m=r.get(f.merged),p=f.shift+b,v=m?m(p):p;return[u,Math.max(0,Math.min(v,u.nodeValue.length))]}return d.isConnected?[d,Math.min(b,d.nodeType===3?d.nodeValue.length:d.childNodes.length)]:null},a=l(t.range.sc,t.range.so),h=l(t.range.ec,t.range.eo);if(!(!a||!h))try{let d=e.createRange();d.setStart(a[0],a[1]),d.setEnd(h[0],h[1]);let b=e.getSelection();b.removeAllRanges(),b.addRange(d)}catch{}}var jm=Symbol("hyper-morph-duplicate-key");var Eu='[editor-ui],[clay~="editor-ui"],[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]',_u='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',Cu='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function Ou(e){if(e.tagName!=="LINK"&&e.tagName!=="SCRIPT")return!1;let t=e.getAttribute("src")||e.getAttribute("href")||"";return/^(chrome|moz|safari-web)-extension:/.test(t)}function Nu(e,t,n,r){if(t==null)return;if(typeof t=="string")return t;let o=t;if(o.nodeType===9){let i=e.getAttribute("id");o=i&&o.getElementById(i)||(e.tagName==="BODY"?o.body:e.tagName==="HTML"?o.documentElement:o.body&&o.body.firstElementChild)}if((!o||o.nodeType!==1||o.tagName!==e.tagName)&&(o=Ru(e,t,r)),!!o)return n?Array.from(o.childNodes):o}function Ru(e,t,n){let r=t.nodeType===9?t.documentElement:t;if(!r||r.nodeType!==1)return null;let o=new Map,i=[r,...r.querySelectorAll("script")];for(let a of i){let h=Xn(a,n);h&&!o.has(h.key)&&o.set(h.key,a.textContent)}if(!o.size)return null;let s=e.cloneNode(!0),l=!1;for(let a of[s,...s.querySelectorAll("script")]){let h=Xn(a,n);h&&o.has(h.key)&&(a.textContent=o.get(h.key),l=!0)}return l?s:null}function Js(e,t){if(typeof e=="string"||e.nodeType===9)return e;if(e.nodeType===1&&e===e.ownerDocument.documentElement)return e.ownerDocument;let n=t.implementation.createHTMLDocument(""),r=e.nodeType===1&&e.tagName==="HTML"?e:null;if(r)return n.replaceChild(n.adoptNode(r),n.documentElement),n;let o=e.nodeType===11?Array.from(e.childNodes):e.nodeType?[e]:Array.from(e);for(let i of o)n.body.appendChild(n.adoptNode(i));return n}function Tn(e,t,n={}){let r=n||{};if(!r.head?.block)return Zs(e,t,r);try{return Zs(e,t,r)}catch(o){return Promise.reject(o)}}function Zs(e,t,n){let r=n.policy||"sync",o=r==="raw"?void 0:(a,h)=>Ou(a)||(r==="history"?!(h&&a.matches(Cu))&&a.matches(_u):a.matches(Eu)),i=n.callbacks||{},s={ignore:o,hooks:i,protectFocusedValue:n.ignoreActiveValue===!0?"subtree":!1,restoreFocus:n.restoreFocus!==!1,formState:n.formStateSync||"attribute",scripts:{execute:n.scripts?.handle!==!1,merge:n.scripts?.merge!==!1,mergeTags:n.scripts?.mergeTags||[]},head:{awaitLoads:!!n.head?.block,preserve:n.head?.shouldPreserve||(()=>!1)}};if(typeof n.key=="function"&&(s.identity={base:n.key,local:n.key,remote:n.key}),e&&e.nodeType===9)return Nr(Object.assign({},s,{live:e,base:n.scripts?.mergeBase||null,remote:Js(t,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let a=Object.assign({},s,{live:e.ownerDocument,base:n.scripts?.mergeBase||null,remote:Js(t,e.ownerDocument)});return Nr(a)}n.morphStyle==="innerHTML"&&(s.children=!0);let l=Nu(e,n.scripts?.mergeBase,!!s.children,s.scripts.mergeTags);return l!==void 0&&(s.base=l),xi(e,t,s)}var Mu=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply"]),un=()=>{};function Rr(e,t=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let s of Object.keys(e))if(!Mu.has(s))throw new TypeError(`unknown option "${s}"`);let n=Object.assign({beforeNodeAdded:un,afterNodeAdded:un,beforeNodeRemoved:un,afterNodeRemoved:un,beforeNodeMorphed:un,afterNodeMorphed:un,beforeAttributeUpdated:un},e.hooks||{}),r=e.conflicts||"remote";if(!["remote","local","both"].includes(r))throw new TypeError("conflicts must be remote, local or both");let o=e.formState||"attribute";if(!["attribute","property"].includes(o))throw new TypeError("formState must be attribute or property");let i=e.protectFocusedValue;if(i!==void 0&&typeof i!="boolean"&&i!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');return{ignored:ni(e.ignore,t),remoteWins:ni(e.remoteWins,t),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:r,protectFocusedValue:i===void 0?!0:i,restoreFocus:e.restoreFocus!==!1,head:Object.assign({awaitLoads:!1,preserve:()=>!1},e.head||{}),scripts:Object.assign({execute:!0,merge:!0,mergeTags:[]},e.scripts||{}),formState:o,hooks:n,children:!!e.children,beforeApply:typeof e.beforeApply=="function"?e.beforeApply:null}}function Zn(e){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){if(typeof e.first=="function")return e.first;if(typeof e.then=="function")return e.then}return In}function Qn(e,t){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let n=ri(t,e.map),r=typeof e.then=="function"?e.then:In;if(typeof e.first=="function"){let o=e.first;return i=>o(i)||n.get(i)||r(i)}return o=>n.get(o)||r(o)}return In}function Lu(e,t,n,r={}){let o=b=>b&&b.nodeType===9?b.documentElement:b,i=o(t),s=o(n),l=o(e)||i,a=Object.assign({},r);delete a.live,delete a.base,delete a.remote;let h=Rr(a,[l,i,s].filter(Boolean)),d=r.identity||{};return yi(l,i,s,{identity:{base:Qn(d.base,l),local:Qn(d.local,i),remote:Qn(d.remote,s)},authored:{base:Zn(d.base),local:Zn(d.local),remote:Zn(d.remote)},skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un,ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:i.ownerDocument&&i.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===t,childrenOnly:h.children})}function vi({liveRoot:e,baseRoot:t,localRoot:n,remoteRoot:r,toLive:o,options:i,identity:s,childrenOnly:l,isDocument:a}){let h=Rr(i,[e,t,n,r].filter(Boolean));if(h.ignored(e))return{report:wi(),loads:[]};let d=e.ownerDocument,b=h.scripts.execute?qs(e,h.ignored,d.baseURI):null,f=yi(t||n,n,r,{identity:{base:Qn(s.base,t||n),local:Qn(s.local,n),remote:Qn(s.remote,r)},authored:{base:Zn(s.base),local:Zn(s.local),remote:Zn(s.remote)},ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:d.baseURI,localIsBase:!t,childrenOnly:l,skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un});h.beforeApply&&h.beforeApply(f.doc);let u=globalThis.__hyperMorphProfile,m=u?performance.now():0,p=Xs(e,f.root,f,{toLive:o,ignored:h.ignored,ignoreAttribute:h.ignoreAttribute,formState:h.formState,protectFocusedValue:h.protectFocusedValue,restoreFocus:h.restoreFocus,preserve:h.head.preserve,hooks:h.hooks,childrenOnly:l});u&&(u.apply=(u.apply||0)+(performance.now()-m));let v=[];if(h.head.awaitLoads)for(let L of p.applied){if(L.kind!=="insert"||L.node.nodeType!==1)continue;let H=L.node;H.tagName==="LINK"&&/\bstylesheet\b/i.test(H.getAttribute("rel")||"")&&H.getAttribute("href")&&H.closest("head")&&v.push(new Promise(te=>{H.addEventListener("load",()=>te()),H.addEventListener("error",()=>te())}))}if(b){let L=Bs(e,b,{ignored:h.ignored,skip:p.mergedScriptsLive,baseURI:d.baseURI,beforeNodeAdded:h.hooks.beforeNodeAdded,afterNodeAdded:h.hooks.afterNodeAdded});v.push(...L.loads)}let A=L=>L&&p.liveOf&&p.liveOf.get(L)||null;return{report:{applied:p.applied,decisions:f.decisions.map(L=>Object.assign({},L,{node:L.node?A(L.node):null,el:L.el?A(L.el):null,applied:!!(L.node?A(L.node):L.el&&A(L.el))})),conflicts:f.conflicts.map(L=>Object.assign({},L,{node:L.node?A(L.node):L.node,el:L.el?A(L.el):L.el})),localDiverged:f.localDiverged,identities:p.identities,moved:p.moved,replaced:p.replaced},loads:v}}var Qs=new WeakMap;function wi(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[]}}function Nr(e){let t=e||{},n=t.live;if(!n||n.nodeType!==9)throw new TypeError("live must be a Document");let r=Qs.get(n);r||(r=ti(n),Qs.set(n,r));let o=r("remote",t.remote),i=typeof t.base=="string"&&t.base===""?null:t.base,s=i?r("base",i):null,l=t.local?t.local.root:n.documentElement,a=t.local?t.local.toLive:b=>b;As(n,o);let{report:h,loads:d}=vi({liveRoot:n.documentElement,baseRoot:s?s.documentElement:null,localRoot:l,remoteRoot:o.documentElement,toLive:a,options:t,identity:t.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(d).then(()=>h)}function Iu(e,t,n={}){return Nr(Object.assign({},n,{live:e,base:null,remote:t}))}function el(e,t){if(e==null)return{root:t.createElement("template"),first:null};if(typeof e=="string"){let r=/^\s*(?:<!--[\s\S]*?-->\s*)*(?:<!doctype[^>]*>\s*)?<(html|body)[\s>]/i.exec(e);if(r){let i=io(e,t),s=r[1].toLowerCase()==="html"?i.documentElement:i.body;return{root:s,first:s}}let o=t.createElement("template");return o.innerHTML=e,{root:o,first:o.content.firstElementChild}}if(e.nodeType===9)return{root:e.documentElement,first:e.documentElement};if(e.nodeType===1){let r=t.createElement("template"),o=e.isConnected;return r.content.appendChild(o?t.importNode(e,!0):e),{root:r,first:e}}if(e.nodeType===11){let r=t.createElement("template");return r.content.appendChild(e),{root:r,first:r.content.firstElementChild}}let n=t.createElement("template");for(let r of Array.from(e))n.content.appendChild(r.parentNode?t.importNode(r,!0):r);return{root:n,first:n.content.firstElementChild}}function xi(e,t,n={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let r=e.ownerDocument,{base:o,...i}=n,s=!!i.children;if(Rr(i,[e]).ignored(e))return Promise.resolve(wi());let l=el(t,r),a=o!=null?el(o,r):null,h,d=null;if(s)h=l.root,d=a?a.root:null;else{if(h=l.first,d=a?a.first:null,!h){let u=Rr(i);return u.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),u.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e]})}if(h.tagName!==e.tagName){let u=Rr(i,[e,h]);if(u.hooks.beforeNodeMorphed(e,h)===!1)return Promise.resolve(wi());let m=vi({liveRoot:e,baseRoot:d&&d.tagName===e.tagName?d:null,localRoot:e,remoteRoot:h,toLive:v=>v,options:i,identity:i.identity||{},childrenOnly:!0,isDocument:!1}),p=Kt(h)?Cr(h,r):r.importNode(h,!1);if(!Kt(p))for(;e.firstChild;)p.appendChild(e.firstChild);return u.hooks.beforeNodeAdded(p)===!1||u.hooks.beforeNodeRemoved(e)===!1?Promise.resolve(m.report):(e.replaceWith(p),u.hooks.afterNodeRemoved(e),u.hooks.afterNodeAdded(p),u.hooks.afterNodeMorphed(e,h),m.report.replaced.push(p),m.report.applied.push({kind:"insert",node:p,parent:p.parentNode},{kind:"remove",node:e,parent:p.parentNode}),Promise.all(m.loads).then(()=>m.report))}}let{report:b,loads:f}=vi({liveRoot:e,baseRoot:d,localRoot:e,remoteRoot:h,toLive:u=>u,options:i,identity:i.identity||{},childrenOnly:s,isDocument:!1});return Promise.all(f).then(()=>b)}var Ai={mergeDocument:Nr,morphDocument:Iu,morphElement:xi,merge3:Lu,morph:Tn};var fo=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Si=new Set(fo),tl=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Mr=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var mo={};ei(mo,{EmptyListInsert:()=>Ir,MAX_RULE_DEPTH:()=>nr,MaxRuleDepthExceeded:()=>Pn,NoRulesTag:()=>Ti,RuleTargetReadOnly:()=>jr,RulesParseError:()=>er,ShapeMismatch:()=>Lr,UnknownRulesVersion:()=>tr,WriteRefused:()=>ho,WriteRejected:()=>Ei});var er=class extends Error{constructor(t,n){super(t),this.name="RulesParseError",this.cause=n}},tr=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},nr=20,Pn=class extends Error{constructor(t){super(`rule depth exceeded ${nr} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},Lr=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Ir=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},jr=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},ho=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}},Ti=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},Ei=class extends Error{constructor(t,n){super(`write rejected: ${t.length} unknown key(s), ${n.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=n}};function En(e,t,n,r={}){if(Object.prototype.hasOwnProperty.call(r,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return _i(e,t,n,{depth:0,path:[]},r)}function _i(e,t,n,r,o){if(r.depth>nr)throw new Pn(r.path);if(typeof n=="string")return qu(e,t,n,r,o);if(Array.isArray(n)){let[i,s]=n,l=e.find(t,i,o);return rl(o,r,l),l.map((a,h)=>_i(e,a,s,{depth:r.depth+1,path:[...r.path,h]},o))}if(typeof n=="object"&&n!==null){let i={};for(let[s,l]of Object.entries(n))i[s]=_i(e,t,l,{depth:r.depth+1,path:[...r.path,s]},o);return i}return null}function qu(e,t,n,r,o){if(n.endsWith("[]")){let l=n.slice(0,-2),a=e.find(t,l,o);return rl(o,r,a),a.map(h=>e.text(h))}if(n.startsWith("@"))return nl(e,t,n.slice(1));let i=St(n);if(i!==-1){let l=n.slice(0,i),a=n.slice(i+1),h=l?e.find(t,l,o):[t];return h.length===0?null:nl(e,h[0],a)}if(n===".")return e.text(t);let s=e.find(t,n,o);return s.length===0?null:e.text(s[0])}function rl(e,t,n){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),n)}catch(r){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,r)}}function nl(e,t,n){if(Si.has(n)){let o=e.prop(t,n);return o==null?null:String(o)}let r=e.attr(t,n);return r||null}var ol=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Bu=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),il=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function Ci(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Hu(e,t){if(Ci(e,t))return!0;for(let[n,r]of Object.entries(Bu))if(r.includes(t)&&Ci(e,n))return!0;return!1}function Dr(e){let t=ol[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function $u(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=ol[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Hu(n,o))||r.bundles.some(o=>Ci(n,o)))return n;n=n.parentElement}return null}function sl(e,t){return!!$u(e,t)}var Uu=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function ll(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function al(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function cl(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?sl(e,n):al(e,r,i,!1))||o&&al(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=cl(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&ll(b,f))}return e.nodeType===1&&ll(e,a),a}function Pr(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Dr(t),d=cl(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Uu.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Dr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}function ul(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function zu(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Lt={semanticExclude:!0,find(e,t,n={}){let r=zu(e);if(!r||!r.querySelectorAll)return[];let o=Array.from(r.querySelectorAll(t));n.includeRulesTag||(o=o.filter(l=>!ul(l)));let i=[];n.skip&&i.push(n.skip);let s=n.templateAttr===null?null:n.templateAttr||"cms-template";if(s&&i.push("["+s+"]"),i.length){let l=i.join(", ");o=o.filter(a=>!a.closest||!a.closest(l))}return o},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,n){if(n===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,n)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,n){if(n===void 0){let r=e?e[t]:void 0;return r!==void 0?r:null}e[t]=n},clone(e){return e.cloneNode(!0)},insertAt(e,t,n){let r=e.children[n]||null;e.insertBefore(t,r)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let o=r.content.firstElementChild;if(!o)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(o,e),o},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function kn(e,t={}){if(t.exclude===null)return Lt;let n=[Dr("data"),t.exclude].filter(Boolean).join(", "),r=e.nodeType===9?e:e.ownerDocument||e,o=e.nodeType===9?e.documentElement:e;if(!t._write&&!o?.matches?.(n)&&!o?.querySelector?.(n)&&!r?.querySelector?.(n))return Lt;let i=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=Pr(i,{capability:"data",exclude:t.exclude||null})),h=m=>{let p=a();return m===e?p.cloneOf(e):p.cloneOf(m)||m},d=m=>l?.original(m)||m,b=(m,p)=>{a().liveToClone.set(m,p),a().cloneToLive.set(p,m);let v=m.childNodes||[],A=p.childNodes||[];for(let M=0;M<Math.min(v.length,A.length);M++)b(v[M],A[M])},f=(m,p,v,A)=>{let M=Array.from(m.childNodes).filter(re=>l.cloneOf(re)),H=M[0];for(;H&&M.includes(H);)H=H.nextSibling;for(let re of M)re.remove();if(v==="innerHTML"){let re=s.createElement("template");re.innerHTML=A;for(let K of Array.from(re.content.childNodes))m.insertBefore(K,H||null)}else m.insertBefore(s.createTextNode(A),H||null);let B=Pr(m,{capability:"data",exclude:t.exclude||null});p.replaceChildren(...Array.from(B.root?.childNodes||[]));let te=re=>{let K=B.original(re);K&&(l.liveToClone.set(K,re),l.cloneToLive.set(re,K));for(let W of Array.from(re.childNodes||[]))te(W)};for(let re of Array.from(p.childNodes))te(re)},u={...Lt,find(m,p,v={}){let A=h(m);if(!A?.querySelectorAll)return[];let M=a().query(p,A);v.includeRulesTag||(M=M.filter(B=>!ul(B)));let L=[];v.skip&&L.push(v.skip);let H=v.templateAttr===null?null:v.templateAttr||"cms-template";if(H&&L.push(`[${H}]`),L.length){let B=L.join(", ");M=M.filter(te=>!te.closest?.(B))}return M},parent(m){let p=h(m)?.parentElement;return p?d(p):null},children(m){return Array.from(h(m)?.children||[],d)},text(m,p){if(p===void 0){let M=d(m);return!M?.matches?.(n)&&!M?.querySelector?.(n)?Lt.text(M):(h(m)?.textContent||"").trim()}let v=d(m);if(!v?.matches?.(n)&&!v?.querySelector?.(n)&&!l){Lt.text(v,p);return}let A=a().cloneOf(v);A?f(v,A,"textContent",p):Lt.text(v,p)},attr(m,p,v){let A=d(m);if(v===void 0)return Lt.attr(A,p);Lt.attr(A,p,v);let M=l?.cloneOf(A);M&&(Lt.attr(M,p,v),Pr(A,{capability:"data",exclude:t.exclude||null}).root===null&&(M.remove(),l.liveToClone.delete(A),l.cloneToLive.delete(M)))},removeAttr(m,p){let v=d(m);Lt.removeAttr(v,p);let A=l?.cloneOf(v);A&&Lt.removeAttr(A,p)},prop(m,p,v){let A=d(m);if(v===void 0)return p==="innerHTML"||p==="outerHTML"||p==="textContent"||p==="innerText"?Lt.prop(h(A),p):Lt.prop(A,p);let M=p==="innerHTML"||p==="textContent"||p==="innerText",L=M?a().cloneOf(A):l?.cloneOf(A);L&&M?f(A,L,p,v):(Lt.prop(A,p,v),L&&Lt.prop(L,p,v))},clone(m){let p=h(m);return p===m?Lt.clone(m):s.importNode(p,!0)},insertAt(m,p,v){let A=d(m),L=u.children(A)[v]||(()=>{for(let te=A.children.length-1;te>=0;te--){let re=A.children[te];if(a().cloneOf(re))return re.nextElementSibling}return A.firstElementChild})(),H=d(p);A.insertBefore(H,L||null);let B=a().cloneOf(A);if(B){let te=a().cloneOf(H);te||(te=s.importNode(H,!0),b(H,te));let re=Array.from(B.children);B.insertBefore(te,re[v]||null)}},remove(m){let p=d(m),v=a().cloneOf(p);Lt.remove(p),v&&Lt.remove(v)},replaceWith(m,p){let v=d(m),A=a().cloneOf(v),M=Lt.replaceWith(v,p);if(A){let L=Pr(M,{capability:"data",exclude:t.exclude||null});if(!L.root)A.remove();else{A.replaceWith(L.root);let H=B=>{let te=L.original(B);te&&(l.liveToClone.set(te,B),l.cloneToLive.set(B,te));for(let re of Array.from(B.childNodes||[]))H(re)};H(L.root)}}return M}};return u}var rr=Lt;function Oi(e){try{return JSON.parse(e)}catch(t){throw new er(`Invalid strict JSON: ${t.message}`,t)}}function or(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function n(o){let i=[],s=0;for(;s<o.length;){let l=o[s];if(/\s/.test(l)){s++;continue}if("{}".includes(l)){i.push({type:l,value:l}),s++;continue}if(l==="["){let b=!1,f=s+1;for(;f<o.length&&/\s/.test(o[f]);)f++;if(f<o.length&&/[a-zA-Z_]/.test(o[f])&&(b=!0),!b){i.push({type:l,value:l}),s++;continue}}if(l==="]"){i.push({type:l,value:l}),s++;continue}if(l===":"){i.push({type:t.COLON,value:l}),s++;continue}if(l===","){i.push({type:t.COMMA,value:l}),s++;continue}if(l==='"'||l==="'"){let b=l,f=s+1;for(;f<o.length&&o[f]!==b;)o[f]==="\\"&&f++,f++;i.push({type:t.STRING,value:o.substring(s+1,f),quoted:!0,sourceQuote:b}),s=f+1;continue}let a=s,h;for(;a<o.length&&!/[{},]/.test(o[a]);)if(o[a]===":"){let b=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],f=!1;for(let u of b){let m=u.substring(1);if(o.substring(a+1,a+1+m.length)===m){f=!0,a+=m.length;break}}if(!f)break}else if(o[a]==="["){for(a++;a<o.length&&o[a]!=="]";){if(o[a]==='"'||o[a]==="'"){let b=o[a];for(a++;a<o.length&&o[a]!==b;)o[a]==="\\"&&a++,a++}a++}a<o.length&&o[a]==="]"&&a++}else a++;h=o.substring(s,a);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(h)?d=t.NUMBER:h==="true"||h==="false"||h==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(h)&&(d=t.SELECTOR),i.push({type:d,value:h,quoted:!1}),s=a}return i}function r(o){let i="";for(let s=0;s<o.length;s++){let l=o[s];if("{}".includes(l.type)||"[]".includes(l.type)){i+=l.value;continue}if(l.type===t.COLON){i+=l.value;continue}if(l.type===t.COMMA){let a=o[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;i+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(h,d)=>d.length%2===0?d+'\\"':h)),i+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){i+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){i+=`"${l.value}"`;continue}i+=`"${l.value}"`}return i}try{let o=n(e),i=r(o);return JSON.parse(i)}catch(o){throw new er("Invalid extraction rules syntax: "+o.message,o)}}var dl="1",fl=/^[a-zA-Z0-9_-]+$/;function Fr(e,t,n){let r;if(n===void 0)r="script[data-rules-name]";else{if(typeof n!="string"||!fl.test(n))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(n)} (must match ${fl})`);r=`script[data-rules-name~="${n}"]`}let o=e.find(t,r,{includeRulesTag:!0});if(o.length===0)return null;n!==void 0&&o.length>1&&console.warn(`hyper-html-api: ${o.length} rules tags match data-rules-name~="${n}"; using the first.`);let i=o[0],s=e.attr(i,"data-rules-version");if(s!==dl)throw new tr(s);return{rules:or(e.text(i)),tagNode:i}}var Bp=new Function("url","return import(url)");function kl(e,t,n,r){let o=e.length,i=t.length,s=new Array(o).fill(-1);if(r){let v=new Set;for(let A=0;A<o;A++){let M=r[A];!(M>=0&&M<i)||v.has(M)||(s[A]=M,v.add(M))}}if(o===0||i===0)return s;let l=e.map(v=>gl(v,n)),a=t.map(v=>gl(v,n)),h=new Array(i).fill(!1);for(let v of s)v>=0&&(h[v]=!0);let d=new Map;a.forEach((v,A)=>{h[A]||d.set(v,d.has(v)?-1:A)});let b=new Map;l.forEach((v,A)=>{s[A]>=0||b.set(v,(b.get(v)||0)+1)}),l.forEach((v,A)=>{if(s[A]>=0||b.get(v)!==1)return;let M=d.get(v);M===void 0||M===-1||h[M]||(s[A]=M,h[M]=!0)});let f=[];for(let v=0;v<o;v++)s[v]<0&&f.push(v);let u=[];for(let v=0;v<i;v++)h[v]||u.push(v);if(f.length===0||u.length===0)return s;let m=o*i+1,p=(v,A)=>Wu(e[v],t[A],n)*m+Math.abs(v-A);for(let[v,A]of Ku(f,u,p))s[v]=A;return s}var yl=e=>typeof e=="object"&&e!==null;function gl(e,t){if(!yl(t))return e==null?" null":String(e);let n=Object.keys(t);return JSON.stringify(n.map(r=>{let o=JSON.stringify(e?.[r]);return o===void 0?" undef":o}))}function Wu(e,t,n){if(!yl(n))return e===t?0:1;let r=Object.keys(n);if(r.length===0)return 0;let o=0;for(let i of r){let s=JSON.stringify(e?.[i]),l=JSON.stringify(t?.[i]);s!==l&&o++}return o}function Ku(e,t,n){return e.length<=t.length?bl(e,t,n,!1):bl(t,e,(r,o)=>n(o,r),!0)}function bl(e,t,n,r){let o=e.length,i=t.length,s=[];for(let b=0;b<=o;b++)s.push(new Float64Array(i+1).fill(1/0));let l=[];for(let b=0;b<=o;b++)l.push(new Uint8Array(i+1));for(let b=0;b<=i;b++)s[o][b]=0;for(let b=o-1;b>=0;b--)for(let f=i-1;f>=0;f--){let u=n(e[b],t[f])+s[b+1][f+1],m=s[b][f+1];u<=m?(s[b][f]=u,l[b][f]=1):s[b][f]=m}let a=[],h=0,d=0;for(;h<o&&d<i;)l[h][d]&&(a.push(r?[t[d],e[h]]:[e[h],t[d]]),h++),d++;return a}function Ri(e,t,n,r,o,i,s,l={}){let a=e.find(t,n,l);if(o.length===0){a.forEach(B=>e.remove(B)),Ni(l,"onRowsApplied",i.path,[]);return}let h=o.length>a.length,d=a[0]||null;if(h&&!d&&(d=Ju(e,t,n,l),!d))throw new Ir(i.path);let b=a.map(B=>Xu(e,B,r,l)),f=null;if(h&&d){f=e.clone(d),l.templateAttr&&e.removeAttr(f,l.templateAttr);let B=e.stripIds(f);B>0&&console.warn(`[hyper-html-api] stripped ${B} id attribute(s) from cloned template at "${i.path.join(".")||"(root)"}"`)}let u=kl(o,b,r,Gu(e,a,o,i,l)),m=a[0]||d,p=e.parent(m),v=a.length>0?xl(e,p,m):0,A=Zu(e,a),M=new Set,L=[],H=o.map((B,te)=>{let re=u[te];if(re>=0)return M.add(re),L.push(!1),a[re];L.push(!0);let K=e.clone(f);return e.stripIds(K),K});a.forEach((B,te)=>{M.has(te)||e.remove(B)}),A?H.forEach((B,te)=>{let re=v+te;e.children(p).findIndex(he=>e.sameNode(he,B))!==re&&e.insertAt(p,B,re)}):Qu(e,H,L,p,v),Yu(e,H,r,o,i,s,l),Ni(l,"onRowsApplied",i.path,H)}function Ni(e,t,n,r){if(typeof e[t]=="function")try{return e[t](n.slice(),r)}catch(o){console.warn(`[hyper-html-api] ${t} threw at "${n.join(".")||"(root)"}"`,o);return}}function Gu(e,t,n,r,o){let i=Ni(o,"identifyRows",r.path,n);if(!Array.isArray(i))return null;let s=new Array(n.length).fill(-1),l=new Set;for(let a=0;a<n.length;a++)if(i[a]){for(let h=0;h<t.length;h++)if(!(l.has(h)||!e.sameNode(t[h],i[a]))){s[a]=h,l.add(h);break}}return s}function Yu(e,t,n,r,o,i,s){t.forEach((l,a)=>{if(n===null){let h=r[a],d=h==null?"":String(h);e.text(l)!==d&&e.text(l,d)}else{let h=i(e,l,n,r[a],{depth:o.depth+1,path:[...o.path,a]},s);h&&h!==l&&(t[a]=h)}})}function Xu(e,t,n,r){return n===null?e.text(t):En(e,t,n,r.onRowsRead?{...r,onRowsRead:void 0}:r)}function xl(e,t,n){let r=e.children(t);for(let o=0;o<r.length;o++)if(e.sameNode(r[o],n))return o;return-1}function Ju(e,t,n,r){if(!r.templateAttr)return null;let o=t;for(;o;){let i=e.find(o,n,{includeRulesTag:!1,templateAttr:null});for(let s of i)if(e.attr(s,r.templateAttr)!=null)return s;o=e.parent(o)}return null}function Zu(e,t){if(t.length<=1)return!0;let n=e.parent(t[0]);if(!n)return!1;let r=e.children(n),o=[];for(let i of t){let s=r.findIndex(l=>e.sameNode(l,i));if(s===-1)return!1;o.push(s)}return o.sort((i,s)=>i-s),o[o.length-1]-o[0]===o.length-1}function Qu(e,t,n,r,o){let i=null,s=o;for(let l=0;l<t.length;l++){if(!n[l]){i=t[l];continue}let a=i?e.parent(i):r;if(!a)continue;let h=i?xl(e,a,i)+1:s++;e.insertAt(a,t[l],h),i=t[l]}}var vl=new Set(["checked","selected","disabled","readOnly","paused"]);function ir(e,t,n,r,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let i=[];if(Mi(n,r,[],i),i.length)throw new Lr(i);po(e,t,n,r,{depth:0,path:[]},o)}function po(e,t,n,r,o,i={}){if(o.depth>nr)throw new Pn(o.path);if(r===void 0)return t;if(typeof n=="string")return ef(e,t,n,r,o,i);if(Array.isArray(n)){let[s,l]=n;return Ri(e,t,s,l,r,o,po,i),t}if(typeof n=="object"&&n!==null){for(let[s,l]of Object.entries(n)){let a=po(e,t,l,r==null?r:r[s],{depth:o.depth+1,path:[...o.path,s]},i);a&&a!==t&&(t=a)}return t}return t}function ef(e,t,n,r,o,i){if(n.endsWith("[]")){let a=n.slice(0,-2);return Ri(e,t,a,null,r,o,po,i),t}if(n.startsWith("@"))return Al(e,t,n.slice(1),r);let s=St(n);if(s!==-1){let a=n.slice(0,s),h=n.slice(s+1),d=a?e.find(t,a,i):[t];return d.length===0||Al(e,d[0],h,r),t}if(n===".")return wl(e,t,r),t;let l=e.find(t,n,i);return l.length===0||wl(e,l[0],r),t}function wl(e,t,n){let r=n==null?"":String(n);e.text(t)!==r&&e.text(t,r)}function Al(e,t,n,r){if(Mr.has(n)){let i=e.prop(t,n);if(i===r||i!=null&&r!=null&&String(i)===String(r))return t;throw new jr(n)}if(n==="outerHTML"){let i=r==null?"":String(r);return e.replaceWith(t,i)}if(tl.has(n)){let i=tf(n,r);return e.prop(t,n)!==i&&e.prop(t,n,i),t}let o=r==null?"":String(r);return e.attr(t,n)!==o&&e.attr(t,n,o),t}function tf(e,t){return t==null?vl.has(e)?!1:"":vl.has(e)?t==="false"?!1:!!t:t}function Mi(e,t,n,r){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,i)=>{typeof o=="object"&&o!==null&&r.push({path:Br([...n,i]),expected:"scalar",got:qr(o)})}):r.push({path:Br(n),expected:"array",got:qr(t)});return}t!==null&&typeof t=="object"&&r.push({path:Br(n),expected:"scalar",got:qr(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){r.push({path:Br(n),expected:"array",got:qr(t)});return}let o=e[1];t.forEach((i,s)=>Mi(o,i,[...n,s],r));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){r.push({path:Br(n),expected:"object",got:qr(t)});return}for(let[o,i]of Object.entries(e))Mi(i,t[o],[...n,o],r)}}}function qr(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Br(e){return e.join(".")}var mf=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...il],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"]});function Li(e,t,n){if(n&&typeof n=="object")return{rules:n,tagNode:null};if(typeof n=="string"){let r=t&&t.ownerDocument?t.ownerDocument:t;return Fr(e,r,n)}return null}var Vt={extract:(e,t,n={})=>En(kn(e,n),e,t,n),apply:(e,t,n,r={})=>ir(kn(e,{...r,_write:!0}),e,t,n,r),findRulesIn:(e,t)=>Fr(rr,e,t),findRules:(e,t)=>Li(rr,e,t),bind:(e,t,n={})=>{let r=Li(rr,e,t);if(!r){let o=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${o}`)}return{...r,get:()=>En(kn(e,n),e,r.rules,n),set:o=>ir(kn(e,{...n,_write:!0}),e,r.rules,o,n)}},parseStrict:Oi,parseRelaxed:or,ruleAttrIndex:St,splitRule:oo,errors:mo,DOM_PROPERTIES:fo};var ji={};ei(ji,{fromString:()=>yn,getRuleAtPath:()=>Fn,getValueAtPath:()=>bf,setAtPath:()=>Ii,toString:()=>gf});function gf(e){return e.map(String).join(".")}function yn(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function Fn(e,t){let n=e;for(let r of t){if(n==null)return;if(typeof n=="string"){if(n.endsWith("[]")&&(typeof r=="number"||r==="*")){n=n.slice(0,-2);continue}return}if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function bf(e,t){let n=e;for(let r of t){if(n==null)return;n=n[r]}return n}function Ii(e,t,n){if(t.length===0)return n;let[r,...o]=t;if(typeof r=="number"){let i=Array.isArray(e)?[...e]:[];return i[r]=Ii(i[r],o,n),i}return{...e&&typeof e=="object"?e:{},[r]:Ii((e||{})[r],o,n)}}function Hr(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[n,r]of Object.entries(e))t[n]=Hr(r);return t}return""}function go(e,t,{ignoreActiveValue:n=!0}={}){Ai.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:n,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var Tl=new WeakMap,Di=e=>e.map(String).join(".");function kf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function El(e,t){if(!e||!e.querySelector)return null;let n=e.querySelector(`[data-hcms-path="${kf(t)}"]`),r=n&&n.querySelector(".hcms-array-items");return r?Array.from(r.children).filter(o=>o.matches&&o.matches("[data-hcms-card], [data-hcms-array-item]")):null}function _l(e,t,n){let r=El(e,t);!r||r.length!==n.length||r.forEach((o,i)=>{n[i]&&Tl.set(o,n[i])})}function bo(){let e=new Map;return{hooks:{onRowsRead(t,n){e.set(Di(t),n)}},seed(t){for(let[n,r]of e)_l(t,n,r);e.clear()}}}function Cl(e){return{identifyRows(t,n){let r=El(e,Di(t));return!r||r.length!==n.length?null:r.map(o=>Tl.get(o)||null)},onRowsApplied(t,n){_l(e,Di(t),n)}}}var Ol={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Pi="data-hcms-rollback-ui",yf=0;function Nl(e,t,n,r={}){return xf(e,t,n,r)}function xf(e,t,n,r){let{shellRoot:o,structural:i,structuralPath:s,formRoot:l}=r,a=l?{...Ol,...Cl(l)}:Ol;if(!i)try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return{ok:!1,error:f}}let h=vf(e,t,s),d=h?Af(h):null,b=h?null:Tf(e,o);try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return d?Sf(h,d):b&&Ef(e,o,b),{ok:!1,error:f}}}function vf(e,t,n){if(!n||!e)return null;let r=yn(n),o=[],i=t;for(let s of r){if(typeof i=="string"||i==null||Array.isArray(i))break;if(typeof i=="object"&&s in i){if(o.push(s),i=i[s],Array.isArray(i)||typeof i=="string"&&i.endsWith("[]"))break}else return null}return!Array.isArray(i)&&!(typeof i=="string"&&i.endsWith("[]"))?null:wf(e,t,o)}function wf(e,t,n){if(n.length===0)return null;let r=e,o=t;for(let i=0;i<n.length;i++){let s=n[i];if(!o||typeof o!="object"||Array.isArray(o))return null;let l=o[s];if(l==null)return null;if(i===n.length-1){if(Array.isArray(l)){let[a]=l;return r.querySelector?.(a)?.parentElement||null}if(typeof l=="string"&&l.endsWith("[]")){let a=l.slice(0,-2);return r.querySelector?.(a)?.parentElement||null}return null}o=l}return null}function Af(e){let t=[],n=[];for(let r of Array.from(e.childNodes))t.push(Fi(r,n));return{nodes:t,retained:n}}function Sf(e,t){let n=e.cloneNode(!1);for(let r of t.nodes)n.appendChild(r);Tn(e,Array.from(n.childNodes),Ml()),Rl(e,t.retained)}function Tf(e,t){let n=[],r=[];for(let o of Array.from(e.childNodes))o===t||t&&o.contains?.(t)||n.push(Fi(o,r));return{nodes:n,retained:r}}function Ef(e,t,n){let r=e.cloneNode(!1);for(let o of n.nodes)r.appendChild(o);Tn(e,Array.from(r.childNodes),Ml()),Rl(e,n.retained)}function Fi(e,t){let n=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let i=String(++yf);n.setAttribute(Pi,i),t.push({id:i,node:e})}let r=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,o=n.nodeType===1&&n.tagName==="TEMPLATE"?n.content:n;for(let i of Array.from(r.childNodes||[]))o.appendChild(Fi(i,t));return n}function Rl(e,t){for(let{id:n,node:r}of t){let o=e.querySelector(`[${Pi}="${n}"]`);o===r?r.removeAttribute(Pi):r.isConnected?o?.remove():o?.replaceWith(r)}}function Ml(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function yo(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var _f='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',qi='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',jl={"@scalar":`
3
4
  <label class="hcms-field" data-hcms-shape="scalar">
4
5
  <span class="hcms-label" data-hcms-label></span>
5
6
  <textarea class="mirk-textarea" rows="1" data-hcms-field></textarea>
@@ -39,13 +40,13 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
39
40
  </section>
40
41
  `,"@object-array-item":`
41
42
  <article class="hcms-card mirk-sortable__item" draggable="true">
42
- ${Eo}
43
+ ${_f}
43
44
  <div class="hcms-card-body mirk-sortable__body">
44
45
  <div class="hcms-card-fields"></div>
45
46
  <div class="hcms-card-controls">
46
47
  <button type="button" class="hcms-move hcms-move-up hcms-sr-only" data-hcms-action="move-up" aria-label="Move up">\u2191</button>
47
48
  <button type="button" class="hcms-move hcms-move-down hcms-sr-only" data-hcms-action="move-down" aria-label="Move down">\u2193</button>
48
- <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${tr}</button>
49
+ <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${qi}</button>
49
50
  </div>
50
51
  </div>
51
52
  <div class="hcms-error" hidden></div>
@@ -59,7 +60,7 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
59
60
  <span class="mirk-button__label">Choose</span>
60
61
  </label>
61
62
  <a class="mirk-file__name" data-hcms-field></a>
62
- <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${tr}</button>
63
+ <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${qi}</button>
63
64
  </div>
64
65
  <div class="hcms-error" hidden></div>
65
66
  </div>
@@ -73,7 +74,7 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
73
74
  </label>
74
75
  <figure class="mirk-image__thumb">
75
76
  <span class="mirk-image__frame"><img class="mirk-image__preview" data-hcms-field alt="" /></span>
76
- <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${tr}</button>
77
+ <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${qi}</button>
77
78
  </figure>
78
79
  </div>
79
80
  <div class="hcms-error" hidden></div>
@@ -147,11 +148,11 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
147
148
  <input class="hcms-chip-field" data-hcms-field aria-label="Item" placeholder="\u2026" />
148
149
  <button type="button" class="hcms-remove" data-hcms-action="remove" aria-label="Remove">\xD7</button>
149
150
  </span>
150
- `},Co=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function ht(e){let t=e.head||e.documentElement;if(t)for(let r of Co)vn(e,t,r)}function rr(e,t){if(!gn[t])return null;let r=e&&(e.head||e.documentElement);return r?vn(e,r,t):null}var pn={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},dt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},To=new Set([...Object.values(dt),"@chips","@chips-item"]);function Qe(e,t,r,n){if(typeof e!="string")return"@scalar";let i=Q(e),o=gt(e,i,r,n),s=bt(o,t,"data-hcms-component");if(s&&dt[s]){let a=dt[s],l=Array.isArray(r)&&r.some(c=>c==="*"||typeof c=="number");return a==="@number"&&!fn(e,i,t,l,o).every(Oo)||(a==="@checkbox"||a==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!fn(e,i,t,l,o).every(Mo)?"@scalar":a}if(i>=0){let a=e.slice(i+1);if(pn[a])return pn[a]}return"@scalar"}function bn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e),o=bt(gt(e,i,r,n),t,"data-hcms-component");return o&&dt[o]||null}var Ro=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Oo(e){return e==null||e===""?!0:Ro.test(String(e))}function Mo(e){return e==null||e===""||e==="true"||e==="false"}function fn(e,t,r,n,i){if(!r||!r.querySelectorAll)return[];if(!i||i===".")return[];let o=null;try{o=r.querySelectorAll(i)}catch{return[]}let s=t>=0?e.slice(t+1):null,a=[];for(let l of o)if(!(l.closest&&l.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in l?a.push(l.value):a.push(l.getAttribute?l.getAttribute(s):null):a.push((l.textContent||"").trim()),!n))break;return a}function pt(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let r=e.slice(0,-2).trim();if(!r)return null;let n=null;try{n=t.querySelector(r)}catch{return null}let i=n&&n.closest?n.closest("[data-hcms-component]"):null;return(i&&i.getAttribute?i.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function Ie(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&ce(r,n)||i&&i!==n&&ce(r,i)||ce(r,t)}function ft(e,t,r){let n=pt(e,r);if(!n)return null;let i=Ie(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function kn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e),o=bt(gt(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let s=o.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function yn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e);return bt(gt(e,i,r,n),t,"data-hcms-crop")}function No(e,t){return t>=0?e.slice(0,t):e}function gt(e,t,r,n){let i=No(e,t);return i&&i!=="."?i:Io(n,r)}function Io(e,t){if(e==null||!Array.isArray(t))return"";let r=[],n=e;for(let i of t){if(n==null||typeof n=="string")break;if(Array.isArray(n)){if(typeof n[0]!="string"||i!=="*"&&typeof i!="number")return"";r.push(n[0]),n=n[1];continue}if(typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,i))return"";n=n[i]}return r.join(" ")}function bt(e,t,r){if(!t||!t.querySelector||!e||e===".")return null;let n=null;try{n=t.querySelector(e)}catch{return null}return n&&n.getAttribute?n.getAttribute(r):null}function kt(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=Ae(n);if(o==="scalar"){let s=Qe(n,e,i,t);To.has(s)&&rr(e,s);return}if(o==="scalar-array"){let s=pt(n,e);s&&(rr(e,s.array),rr(e,s.item));return}if(o==="object"){for(let[s,a]of Object.entries(n))r(a,[...i,s]);return}if(o==="object-array"){let s=n[1],a=[...i,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[l,c]of Object.entries(s))r(c,[...a,l]);else r(s,a)}}}function vn(e,t,r){let n=ce(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=gn[r].trim(),t.appendChild(i),i}function ce(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${jo(t)}"]`)}function jo(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Ae(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function et(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var xn={IMG:"src",A:"href"};function yt(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":xn[t]?xn[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function wn(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=yt(e),s=`${An(r,n)}[data-hcms-field="${je(t)}"]`;return r==="INPUT"&&n==="radio"?`${s}:checked@value`:i?`${s}@${i}`:s}function Lo(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=yt(e),o=`${An(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function An(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function je(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var _n=new Set(["__proto__","constructor","prototype"]);function vt(e,t){return r(e,[]);function r(c,m){let p=Ae(c);if(p==="scalar")return n(c,m);if(p==="scalar-array")return i(c,m);if(p==="object-array")return o(c,m);if(p==="object"){let d=Object.create(null);for(let[u,y]of Object.entries(c)){if(_n.has(u))throw new Error(`hypercms: rule key "${u}" is forbidden at "${m.join(".")||"<root>"}"`);d[u]=r(y,[...m,u])}return d}return null}function n(c,m){let p=m.length?m[m.length-1]:null,d=typeof p=="string"?p:"__value",u=l(m,d);if(u)return wn(u,d);let y=a(Qe(c,t,m,e),d);return y?wn(y,d):`input[data-hcms-field="${je(d)}"]@value`}function i(c,m){let p=ft(c,m,t),d=p&&a(p.item,null)||a("@scalar-array-item",null),u=d?Lo(d):"input[data-hcms-field]@value";return[s(m,"[data-hcms-array-item]"),u]}function o(c,m){let[,p]=c,d=[...m,"*"],u=s(m,"[data-hcms-card]");if(p&&typeof p=="object"&&!Array.isArray(p)){let y=Object.create(null);for(let[N,R]of Object.entries(p)){if(_n.has(N))throw new Error(`hypercms: rule key "${N}" is forbidden at "${d.join(".")}"`);y[N]=r(R,[...d,N])}return[u,y]}return[u,r(p,[...d,0])]}function s(c,m){let p=c.length?c[c.length-1]:"",d=c.some(N=>N==="*"),u=c.join(".");return`${d?`[data-hcms-field="${je(p)}"]`:`[data-hcms-path="${je(u)}"]`} > .hcms-array-items > ${m}`}function a(c,m){if(!t)return null;let p=ce(t,c);if(!p)return null;let d=p.content||p;if(m){let u=d.querySelector(`[data-hcms-field="${je(m)}"]`);if(u)return u}return d.querySelector("[data-hcms-field]")}function l(c,m){if(!t)return null;let p=c.map(y=>typeof y=="number"?"*":y).join("."),u=[c.join("."),p];for(let y=c.length-1;y>=0;y--){let N=c.slice(0,y).map(R=>typeof R=="number"?"*":R);N.push("*"),u.push(N.join("."))}for(let y of u){if(!y)continue;let N=ce(t,y);if(!N||!et(N))continue;let R=N.content||N,F=R.querySelector(`[data-hcms-field="${je(m)}"]`)||R.querySelector("[data-hcms-field]");if(F)return F}return null}}function nr(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function xt({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=ir(e,[],r,n,e);return o&&i.appendChild(o),i}function En({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:s}){if(e==="object-array-item")return Tn(t,r,n,i,s);if(e==="scalar-array-item")return Rn(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function ir(e,t,r,n,i){let o=Ae(e);return o==="scalar"?Fo(e,t,r,n,i):o==="object"?Po(e,t,r,n,i):o==="object-array"?Bo(e,t,r,n,i):o==="scalar-array"?Uo(e,t,r,n):null}function Fo(e,t,r,n,i){let o=Qe(e,n,t,i),s=Ie(t,o,n);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let a=bn(e,n,t,i);a==="@number"&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(a==="@checkbox"||a==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${a}" but its value isn't true/false; rendering a text input so the value is preserved`),Cn(s,a===o?a:null,t);let l=Le(s,n);Fe(l,t);let c=s.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&c===o&&qo(l,e,t,r,n,o,i),o==="@image"&&c==="@image"){let m=yn(e,n,t,i);m!=null&&!l.hasAttribute("data-hcms-crop")&&l.setAttribute("data-hcms-crop",m)}return zo(l,he(t)),wt(l,he(t)),_t(l,he(t)),jn(l,r),o==="@file"&&$o(l),l}function Cn(e,t,r){if(!t)return;let n=e.getAttribute?.("data-hcms-tpl");n&&n!==t&&console.info(`[hypercms] field "${r.join(".")}" declares component "${t}" but custom template "${n}" wins`)}function qo(e,t,r,n,i,o,s){let a=kn(t,i,r,s),l=a?[...a]:[],c=n==null?"":String(n);if(c!==""&&!l.includes(c)&&l.unshift(c),!a&&(Do(e,"data-hcms-options required (space-separated values)"),l.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let d=e.querySelector("select[data-hcms-field]");if(!d)return;for(let u of l){let y=i.createElement("option");y.value=u,y.textContent=mt(u),d.appendChild(y)}return}let m=e.querySelector(".mirk-radio");if(!m||!m.parentNode)return;let p=or(r.join("."));for(let d of l){let u=m.cloneNode(!0),y=u.querySelector('input[type="radio"]');y&&(y.value=d,y.name=p);let N=u.querySelector(".mirk-radio__label");N&&(N.textContent=mt(d)),m.parentNode.insertBefore(u,m)}m.remove()}function or(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function Do(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function $o(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=nr(t.getAttribute("href")))}function Po(e,t,r,n,i){let o=Ie(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=Le(o,n);if(Fe(s,t),wt(s,he(t)),_t(s,he(t)),et(o))return Fn(s,e,t),Ln(s,e,r),s;let a=At(s,".hcms-object-fields",o,t);for(let[l,c]of Object.entries(e)){let m=r==null?null:r[l],p=ir(c,[...t,l],m,n,i);p&&a.appendChild(p)}return s}function Bo(e,t,r,n,i){let o=Ie(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=Le(o,n);Fe(s,t),wt(s,he(t)),_t(s,he(t)),Mn(s,o),In(s,o,t);let a=At(s,".hcms-array-items",o,t),[,l]=e;return(Array.isArray(r)?r:[]).forEach((m,p)=>{let d=Tn(l,[...t,p],m,n,i);d&&a.appendChild(d)}),Nn(s),s}function Tn(e,t,r,n,i){let o=On(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=Le(o,n);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),Fe(s,t),et(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(Fn(s,e,t),Ln(s,e,r)),s;let a=At(s,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[l,c]of Object.entries(e)){let m=r==null?null:r[l],p=ir(c,[...t,l],m,n,i);p&&a.appendChild(p)}return s}function Uo(e,t,r,n){let i=pt(e,n),o=ft(e,t,n),s=i?i.array:"@scalar-array",a=Ie(t,s,n);if(!a)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Cn(a,i?i.array:null,t);let l=Le(a,n);Fe(l,t),wt(l,he(t)),_t(l,he(t)),Mn(l,a),In(l,a,t),o&&l.setAttribute("data-hcms-item-tpl",o.item);let c=At(l,".hcms-array-items",a,t);return(Array.isArray(r)?r:[]).forEach((p,d)=>{let u=Rn([...t,d],p,n,o?o.item:null);u&&c.appendChild(u)}),Nn(l),l}function Rn(e,t,r,n){let i=On(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=Le(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),Fe(o,e),jn(o,t),o}function On(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return ce(r,i)||n&&ce(r,n)||ce(r,"@"+t)}function Le(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function Fe(e,t){e.setAttribute("data-hcms-path",t.join("."))}function zo(e,t){let r=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",r);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{i.getAttribute("data-hcms-field")||i.setAttribute("data-hcms-field",r)})}function wt(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function _t(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=mt(String(t)))})}function Mn(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})}function Nn(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Sn(e,"data-hcms-max-items"),o=Sn(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),a=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),c=e.querySelector('[data-hcms-action="add"]');c&&(c.hidden=s||i!=null&&n>=i),r.forEach((m,p)=>{let d=m.querySelector('[data-hcms-action="remove"]');d&&(d.hidden=a||o!=null&&n<=o);let u=m.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=l||p===0);let y=m.querySelector('[data-hcms-action="move-down"]');y&&(y.hidden=l||p===n-1)})}function Sn(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function In(e,t,r){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let n=e.querySelector(".hcms-array-items");if(!n)return;let i="hcms-"+r.join(".");n.setAttribute("sortable",i),n.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function he(e){return e.length?e[e.length-1]:null}function jn(e,t){let r=Ho(e);if(r.length!==0)for(let n of r)qn(n,t)}function Ho(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Vo(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(n=>t.push(n)),t}function Vo(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function Ln(e,t,r){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o)return;if(!t||typeof t!="object"||!(o in t)){console.warn(`[hypercms] inline template field "${o}" is not in the rule shape; ignoring`);return}let s=r==null?null:r[o];qn(i,s)})}function Fn(e,t,r){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o||t&&typeof t=="object"&&!(o in t))return;let s=[...r,o].join(".");i.setAttribute("data-hcms-path",s)})}function At(e,t,r,n){if(!e.querySelector)return e;let i=e.querySelector(t);if(i)return i;let o=r?.getAttribute?.("data-hcms-tpl")||n.join(".");throw new Error(`hypercms: template "${o}" is in slotted mode but has no ${t} element`)}function qn(e,t){let r=yt(e),n=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(n==="INPUT"&&i==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(r==="checked"){e.checked=t===!0||t==="true";return}if(r){e[r]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var Dn=new WeakMap,sr=e=>e.map(String).join(".");function Wo(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function $n(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${Wo(t)}"]`),n=r&&r.querySelector(".hcms-array-items");return n?Array.from(n.children).filter(i=>i.matches&&i.matches("[data-hcms-card], [data-hcms-array-item]")):null}function Pn(e,t,r){let n=$n(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&Dn.set(i,r[o])})}function St(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(sr(t),r)}},seed(t){for(let[r,n]of e)Pn(t,r,n);e.clear()}}}function Bn(e){return{identifyRows(t,r){let n=$n(e,sr(t));return!n||n.length!==r.length?null:n.map(i=>Dn.get(i)||null)},onRowsApplied(t,r){Pn(e,sr(t),r)}}}var Un={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function zn(e,t,r,n={}){let{observerHandle:i,shellRoot:o,structural:s,structuralPath:a,formRoot:l}=n,c=l?{...Un,...Bn(l)}:Un;i?.pause?.();try{if(!s)try{return ne.apply(e,t,r,c),{ok:!0}}catch(u){return{ok:!1,error:u}}let m=Ko(e,t,a),p=m?Jo(m):null,d=m?null:Zo(e,o);try{return ne.apply(e,t,r,c),{ok:!0}}catch(u){return p?Yo(m,p):d&&Xo(e,o,d),{ok:!1,error:u}}}finally{i?.resume?.()}}function Ko(e,t,r){if(!r||!e)return null;let n=me(r),i=[],o=t;for(let s of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&s in o){if(i.push(s),o=o[s],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:Go(e,t,i)}function Go(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let s=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let a=i[s];if(a==null)return null;if(o===r.length-1){if(Array.isArray(a)){let[l]=a;return n.querySelector?.(l)?.parentElement||null}if(typeof a=="string"&&a.endsWith("[]")){let l=a.slice(0,-2);return n.querySelector?.(l)?.parentElement||null}return null}i=a}return null}function Jo(e){let t=[];for(let r of Array.from(e.childNodes))t.push(r.cloneNode(!0));return t}function Yo(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let r of t)e.appendChild(r)}function Zo(e,t){let r=[];for(let n of Array.from(e.childNodes))n===t||t&&n.contains?.(t)||r.push(n.cloneNode(!0));return r}function Xo(e,t,r){for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||e.removeChild(i);let n=Qo(e,t);for(let i of r)e.insertBefore(i,n||null)}function Qo(e,t){if(!t)return null;for(let r of Array.from(e.childNodes))if(r===t||r.contains?.(t))return r;return null}var es={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?rs(t.uploadFileBasic):null)},ts={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},ar=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function rs(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return ar();try{let o=await e(r,{onProgress:a=>{n?.({loaded:null,total:null,percent:a})}});if(i?.aborted)return ar();let s=o&&o.uploads||[];return typeof s[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:o.msg||"Uploaded",msgType:o.msgType||"success",code:o.code||null,uploads:s}}catch(o){if(i?.aborted)return ar();let s={};try{s=JSON.parse(o?.response||"{}")}catch{s={}}let a=s.code||ts[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:a,uploads:[]}}}}function ie(e,t){let r=es[e];if(!r)throw new Error(`hypercms: unknown platform capability "${e}"`);let n=t||(typeof window<"u"?window:null);return n&&r(n.clay,n.hyperclay)||null}var Hn=["clay:mutation-ready","hyperclay:mutation-ready"],Vn=["clay:sync-applied","hyperclay:livesync-applied"];function lr(e,t,r){let n=null,i=o=>{n!==null&&n!==o.type||(n=o.type,queueMicrotask(()=>{n=null}),r(o))};for(let o of t)e.addEventListener(o,i);return()=>{for(let o of t)e.removeEventListener(o,i)}}function Et(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||Q(n)!==-1)return n;let i=null;try{i=t.querySelector(n)}catch{return n}return i&&i.children.length>0?n+"@innerHTML":n}if(Array.isArray(n))return n;if(n&&typeof n=="object"){let i=Object.create(null);for(let[o,s]of Object.entries(n))i[o]=r(s);return i}return n}}function cr(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function qe(e,t){if(!e||!e.querySelectorAll)return;e.querySelectorAll("textarea[data-hcms-field]").forEach(cr);let r=t&&t.defaultView||(typeof window<"u"?window:null),n=r&&r.richclay&&r.richclay.RichClay||ie("RichClay",r)||(r&&typeof r.RichClay=="function"?r.RichClay:null);n&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(i=>{if(i.__hcmsRichclay)return;let o;try{o=new n(i,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}i.__hcmsRichclay=o;let s=o&&o.squire;s&&typeof s.addEventListener=="function"&&s.addEventListener("input",()=>{let a=r&&r.Event||Event;i.dispatchEvent(new a("input",{bubbles:!0}))})})}var ur=new WeakSet;function Pe(e,t){let r=ie("undo");if(!r)return t();r.pause();try{let n=t();return n&&n.ok?r.commitCaptured(e):r.discardCaptured(),n}finally{r.resume()}}function Rt(e){let t=ie("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Yn(e){let{formRoot:t}=e;if(!t||ur.has(t))return;ur.add(t);let r=s=>{let a=s.target;!a||!a.closest||a.closest("[data-hcms-form-root]")&&a.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(a.tagName==="TEXTAREA"&&cr(a),!a.matches('input[type="file"]')&&(!a.closest("[data-hcms-field]")&&!a.hasAttribute?.("data-hcms-field")||Wn(a,e)))},n=s=>{let a=s.target;if(!(!a||!a.closest)&&a.closest("[data-hcms-form-root]")){if(a.matches('input[type="file"][data-hcms-upload]')){us(a,e);return}a.matches('input[type="checkbox"], input[type="radio"], select')&&Wn(a,e)}},i=s=>{let a=s.target;if(!a||!a.closest)return;let l=a.closest("[data-hcms-action]");if(!l)return;let c=l.getAttribute("data-hcms-action");if(c==="add"||c==="remove"||c==="move-up"||c==="move-down"||c==="clear-upload"){if(!l.closest("[data-hcms-form-root]"))return}else if(c==="close"&&!l.closest("[data-hcms-shell]"))return;if(c==="add"){let m=l.closest("[data-hcms-path]");if(!m)return;let p=m.getAttribute("data-hcms-path");mr(p,e)}else if(c==="remove"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;ys(m,e)}else if(c==="move-up"||c==="move-down"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;bs(m,c==="move-up"?-1:1,e)}else c==="clear-upload"?ps(l,e):c==="close"&&e.onCloseRequested?.()},o=t.ownerDocument;o.addEventListener("input",r,!0),o.addEventListener("change",n,!0),o.addEventListener("click",i,!0),e.detachEvents=()=>{o.removeEventListener("input",r,!0),o.removeEventListener("change",n,!0),o.removeEventListener("click",i,!0),ur.delete(t)}}var ns=new Set(["value","checked"]);function is(e,t){if(!t)return null;let r=me(t);if(r.some(l=>typeof l=="number"||l==="*"))return null;let n=_e(e.pageRules,r);if(typeof n!="string")return null;let i=ne.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!ns.has(o))return null;let s=n.slice(0,i),a=s?e.pageRoot.querySelector(s):e.pageRoot;return a?{el:a,prop:o,oldValue:a[o]}:null}function Wn(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=is(t,n);if(de(ae(t),{path:n,structural:!1},t),i){let o=ie("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var os={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function ss(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=ie("quickcrop");if(typeof n!="function")return{file:e};try{let i=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",o=await n(e,{aspect:as(r),modal:i,...os});return o===null?null:{file:ls(o.blob,e.name),dataURL:o.dataURL}}catch(i){return $e(t,i&&i.message||"Crop failed"),null}}function as(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let r=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!r)return null;let n=parseFloat(r[1]),i=parseFloat(r[2]);return!n||!i?null:n/i}function ls(e,t){let r=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",n=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],n+r,{type:e.type})}catch{return e}}var cs=new Set(["unsupported","payment-required"]);async function us(e,t){let r=e.files&&e.files[0];if(!r)return;let n=e.closest("[data-hcms-path]");if(!n)return;let i=n.getAttribute("data-hcms-path")||"";$e(n,null);let o=await ss(r,n);if(!o||t.closed){ye(e);return}let s=o.file,a=o.dataURL||null,l=ie("upload");if(typeof l!="function")return dr(e,n,t,i,await Kn(s,a,n),s);Xn(n,a),Gn(n,0);let c=ms(t),m;try{m=await l(s,{signal:c?.signal,onProgress:({percent:d})=>Gn(n,d)})}finally{hs(t,c),gs(n)}if(t.closed){ye(e);return}if(m.code==="aborted"){ye(e);return}if(m.ok)return dr(e,n,t,i,m.uploads[0].url,s);if(!cs.has(m.code)){$e(n,m.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(m.msg||"Upload failed"),code:m.code,path:i}),ye(e);return}let p=m.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return dr(e,n,t,i,await Kn(s,a,n),s,p)}function dr(e,t,r,n,i,o,s=null){if(r.closed){ye(e);return}if(Xn(t,null),$e(t,null),!i){ye(e);return}Zn(t,i,o.name),de(ae(r),{path:n,structural:!1},r),s&&$e(t,s,"info"),ye(e)}async function Kn(e,t,r){return t||await ds(e,r)}function ds(e,t){let r=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return r?new Promise(n=>{let i=new r;i.onload=()=>n(typeof i.result=="string"?i.result:""),i.onerror=()=>n("");try{i.readAsDataURL(e)}catch{n("")}}):Promise.resolve("")}function ms(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function hs(e,t){t&&e.uploads?.delete(t)}function ps(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";Zn(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&ye(i),$e(r,null),de(ae(t),{path:n,structural:!1},t)}function fs(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function Zn(e,t,r){let n=fs(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||nr(t):"")}function ye(e){try{e.value=""}catch{}}function Xn(e,t){let r=e.querySelector?e.querySelector(".mirk-image__frame"):null;r&&(t?r.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:r.style.removeProperty("background-image"))}function Gn(e,t){let r=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${r}%`)}function gs(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function $e(e,t,r="error"){let n=e.querySelector?e.querySelector(":scope > .hcms-error"):null;n&&(n.classList.toggle("hcms-error--info",!!t&&r==="info"),t?(n.textContent=t,n.hidden=!1):(n.textContent="",n.hidden=!0))}function mr(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${Es(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);let o=i.querySelector(".hcms-array-items");if(!o)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=me(e),a=_s(n,s),l=Array.isArray(a),c=typeof a=="string"&&a.endsWith("[]");if(!l&&!c)throw new Error(`hypercms: path "${e}" is not an array`);let m=Tt(i,"data-hcms-max-items"),p=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||m!=null&&p.length>=m)return;let d=p.length,u=l?a[1]:a.replace(/\[\]$/,""),y=Xe(l?u:"string"),N=En({shape:l?"object-array-item":"scalar-array-item",itemShape:u,pathArr:[...s,d],data:y,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(N),qe(N,t.doc),pr(i),Pe(`Add ${e}`,()=>de(ae(t),{path:e,structural:!0},t))}function bs(e,t,r){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!n||n.hasAttribute("data-hcms-no-reorder"))return;let i=n.querySelector(".hcms-array-items");if(!i)return;let o=Array.from(i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=o.indexOf(e);if(s<0)return;let a=s+t;if(a<0||a>=o.length)return;let l=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[a]):i.insertBefore(e,o[a].nextSibling),gr(i),pr(n),l&&typeof l.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),Pe(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>de(ae(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var Ct="Delete this item?";function ks(e,t){let r=e&&e.getAttribute("data-hcms-confirm-remove");if(r!=null)return/^(off|false|no|0)$/i.test(r.trim())?null:r||Ct;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||Ct:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Ct:null}function ys(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=ks(r,t);if(n==null)return De(e,t);let i=ie("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>De(e,t),()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&De(e,t):De(e,t)}function De(e,t){let r=e.getAttribute("data-hcms-path")||"",n=e.parentElement,i=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!i?.hasAttribute("data-hcms-no-remove")){if(i){let o=Tt(i,"data-hcms-min-items"),s=i.querySelector(".hcms-array-items"),a=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&a<=o)return}return e.remove(),n&&gr(n),i&&pr(i),Pe(`Remove ${r}`,()=>de(ae(t),{path:r,structural:!0},t))}}function de(e,t,r){let n=tt(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=zn(r.pageRoot,r.pageRules,e,{observerHandle:r.observerHandle,shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return i.ok?(r.lastFingerprint=n,r.lastData=e,Jn(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(Jn(r,ws(i.error,t.path)),r.dispatch?.("hcms:error",{error:i.error,attemptedData:e}),r.onError?.(i.error)),i}function ae(e){let t=ne.extract(e.formRoot,e.formRules);return ve(t,e.formRules)}function ve(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,r]=t;return e.map(n=>ve(n,r))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(t))r[n]=ve(e[n],i);return r}return e}function Jn(e,t){e.lastErrors=t&&t.length?t:null,hr(e)}function hr(e){if(vs(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:r,path:n}of e.lastErrors){if(n!=null&&n!==""){let i=xs(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
151
- ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
152
- `),e.errorEl.hidden=!1)}function vs(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function xs(e,t){if(!e)return null;let r=t.split(".");for(;r.length>0;){let n=r.join("."),i=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/[^a-zA-Z0-9_\-.*]/g,s=>"\\"+s),o=e.querySelector(`[data-hcms-path="${i}"]`);if(o){for(let s of o.children)if(s.classList&&s.classList.contains("hcms-error"))return s}r.pop()}return null}function ws(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(r=>({message:`Shape mismatch: expected ${r.expected}, got ${r.got}`,path:r.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function _s(e,t){let r=e;for(let n of t){if(r==null||typeof r=="string")return;if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Tt(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function pr(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Tt(e,"data-hcms-max-items"),o=Tt(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),a=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),c=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');c&&(c.hidden=s||i!=null&&n>=i),r.forEach((m,p)=>{let d=m.querySelector('[data-hcms-action="remove"]');d&&(d.hidden=a||o!=null&&n<=o);let u=m.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=l||p===0);let y=m.querySelector('[data-hcms-action="move-down"]');y&&(y.hidden=l||p===n-1)})}function fr(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>gr(t))}function gr(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),n=>[n,n.checked]):[],r=0;for(let n of e.children){if(!n.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let i=n.getAttribute("data-hcms-path");if(!i)continue;let o=i.split(".");o[o.length-1]=String(r);let s=o.join(".");s!==i&&As(n,i,s),r++}for(let[n,i]of t)n.checked!==i&&(n.checked=i)}function As(e,t,r){let n=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",r);for(let i of n){let o=i.getAttribute("data-hcms-path");o===t?i.setAttribute("data-hcms-path",r):o&&o.startsWith(t+".")&&i.setAttribute("data-hcms-path",r+o.slice(t.length))}Ss(e)}function Ss(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let r=t.closest("[data-hcms-path]");r&&(t.name=or(r.getAttribute("data-hcms-path")))}}function tt(e){return JSON.stringify(e,(t,r)=>{if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Object.create(null);for(let i of Object.keys(r).sort())n[i]=r[i];return n}return r})}function Es(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Is={},Ot="hcms-shell-styles",Cs="hcms-bundled-styles-installed",Ts='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Be=new WeakSet,br="";function ei(e){br=e}var Rs=0;function Qn(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function ti({mountTo:e,side:t="right",overlay:r=!1,showSaveButton:n=!1,title:i="Page content",eyebrow:o="Edit",theme:s=null,doc:a}){ri(a);let l=`hcms-shell-title-${++Rs}`,c=a.createElement("div");c.setAttribute("data-hcms-shell",""),c.setAttribute("save-remove",""),c.setAttribute("save-ignore",""),c.setAttribute("tabindex","-1"),c.setAttribute("role","dialog"),c.setAttribute("aria-modal","true"),c.setAttribute("aria-labelledby",l);let m=s==="dark"?" dark":s==="light"?" light":"";c.className="hcms-shell pixel-quiet hcms-side-"+t+(r?" hcms-overlay":"")+m;let p=Qn(i),d=Qn(o);c.innerHTML=`
151
+ `},Cf=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function xo(e){let t=e.head||e.documentElement;if(t)for(let n of Cf)ql(e,t,n)}function Bi(e,t){if(!jl[t])return null;let n=e&&(e.head||e.documentElement);return n?ql(e,n,t):null}var Ll={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},ko={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Of=new Set([...Object.values(ko),"@chips","@chips-item"]);function $r(e,t,n,r){if(typeof e!="string")return"@scalar";let o=St(e),i=Ao(e,o,n,r),s=So(i,t,"data-hcms-component");if(s&&ko[s]){let l=ko[s],a=Array.isArray(n)&&n.some(h=>h==="*"||typeof h=="number");return l==="@number"&&!Il(e,o,t,a,i).every(Rf)||(l==="@checkbox"||l==="@toggle")&&(o<0||e.slice(o+1)!=="checked")&&!Il(e,o,t,a,i).every(Mf)?"@scalar":l}if(o>=0){let l=e.slice(o+1);if(Ll[l])return Ll[l]}return"@scalar"}function Dl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-component");return i&&ko[i]||null}var Nf=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Rf(e){return e==null||e===""?!0:Nf.test(String(e))}function Mf(e){return e==null||e===""||e==="true"||e==="false"}function Il(e,t,n,r,o){if(!n||!n.querySelectorAll)return[];if(!o||o===".")return[];let i=null;try{i=n.querySelectorAll(o)}catch{return[]}let s=t>=0?e.slice(t+1):null,l=[];for(let a of i)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(s):null):l.push((a.textContent||"").trim()),!r))break;return l}function vo(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let n=e.slice(0,-2).trim();if(!n)return null;let r=null;try{r=t.querySelector(n)}catch{return null}let o=r&&r.closest?r.closest("[data-hcms-component]"):null;return(o&&o.getAttribute?o.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function sr(e,t,n){let r=e.join("."),o=e.map(i=>typeof i=="number"?"*":i).join(".");return r&&fn(n,r)||o&&o!==r&&fn(n,o)||fn(n,t)}function wo(e,t,n){let r=vo(e,n);if(!r)return null;let o=sr(t,r.array,n);return o&&o.getAttribute("data-hcms-tpl")===r.array?r:null}function Pl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-options");if(i==null)return null;let s=i.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function Fl(e,t,n,r){if(typeof e!="string")return null;let o=St(e);return So(Ao(e,o,n,r),t,"data-hcms-crop")}function Lf(e,t){return t>=0?e.slice(0,t):e}function Ao(e,t,n,r){let o=Lf(e,t);return o&&o!=="."?o:If(r,n)}function If(e,t){if(e==null||!Array.isArray(t))return"";let n=[],r=e;for(let o of t){if(r==null||typeof r=="string")break;if(Array.isArray(r)){if(typeof r[0]!="string"||o!=="*"&&typeof o!="number")return"";n.push(r[0]),r=r[1];continue}if(typeof r!="object"||!Object.prototype.hasOwnProperty.call(r,o))return"";r=r[o]}return n.join(" ")}function So(e,t,n){if(!t||!t.querySelector||!e||e===".")return null;let r=null;try{r=t.querySelector(e)}catch{return null}return r&&r.getAttribute?r.getAttribute(n):null}function To(e,t){if(!e||t==null)return;n(t,[]);function n(r,o){let i=qn(r);if(i==="scalar"){let s=$r(r,e,o,t);Of.has(s)&&Bi(e,s);return}if(i==="scalar-array"){let s=vo(r,e);s&&(Bi(e,s.array),Bi(e,s.item));return}if(i==="object"){for(let[s,l]of Object.entries(r))n(l,[...o,s]);return}if(i==="object-array"){let s=r[1],l=[...o,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[a,h]of Object.entries(s))n(h,[...l,a]);else n(s,l)}}}function ql(e,t,n){let r=fn(e,n);if(r)return r;let o=e.createElement("template");return o.setAttribute("data-hcms-tpl",n),o.setAttribute("save-remove",""),o.innerHTML=jl[n].trim(),t.appendChild(o),o}function fn(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${jf(t)}"]`)}function jf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function qn(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Ur(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Bl={IMG:"src",A:"href"};function Eo(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":Bl[t]?Bl[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function Hl(e,t){let n=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),o=Eo(e),s=`${Ul(n,r)}[data-hcms-field="${lr(t)}"]`;return n==="INPUT"&&r==="radio"?`${s}:checked@value`:o?`${s}@${o}`:s}function Df(e){let t=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),r=Eo(e),i=`${Ul(t,n)}[data-hcms-field]`;return t==="INPUT"&&n==="radio"?`${i}:checked@value`:r?`${i}@${r}`:i}function Ul(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function lr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var $l=new Set(["__proto__","constructor","prototype"]);function _o(e,t){return n(e,[]);function n(h,d){let b=qn(h);if(b==="scalar")return r(h,d);if(b==="scalar-array")return o(h,d);if(b==="object-array")return i(h,d);if(b==="object"){let f=Object.create(null);for(let[u,m]of Object.entries(h)){if($l.has(u))throw new Error(`hypercms: rule key "${u}" is forbidden at "${d.join(".")||"<root>"}"`);f[u]=n(m,[...d,u])}return f}return null}function r(h,d){let b=d.length?d[d.length-1]:null,f=typeof b=="string"?b:"__value",u=a(d,f);if(u)return Hl(u,f);let m=l($r(h,t,d,e),f);return m?Hl(m,f):`input[data-hcms-field="${lr(f)}"]@value`}function o(h,d){let b=wo(h,d,t),f=b&&l(b.item,null)||l("@scalar-array-item",null),u=f?Df(f):"input[data-hcms-field]@value";return[s(d,"[data-hcms-array-item]"),u]}function i(h,d){let[,b]=h,f=[...d,"*"],u=s(d,"[data-hcms-card]");if(b&&typeof b=="object"&&!Array.isArray(b)){let m=Object.create(null);for(let[p,v]of Object.entries(b)){if($l.has(p))throw new Error(`hypercms: rule key "${p}" is forbidden at "${f.join(".")}"`);m[p]=n(v,[...f,p])}return[u,m]}return[u,n(b,[...f,0])]}function s(h,d){let b=h.length?h[h.length-1]:"",f=h.some(p=>p==="*"),u=h.join(".");return`${f?`[data-hcms-field="${lr(b)}"]`:`[data-hcms-path="${lr(u)}"]`} > .hcms-array-items > ${d}`}function l(h,d){if(!t)return null;let b=fn(t,h);if(!b)return null;let f=b.content||b;if(d){let u=f.querySelector(`[data-hcms-field="${lr(d)}"]`);if(u)return u}return f.querySelector("[data-hcms-field]")}function a(h,d){if(!t)return null;let b=h.map(m=>typeof m=="number"?"*":m).join("."),u=[h.join("."),b];for(let m=h.length-1;m>=0;m--){let p=h.slice(0,m).map(v=>typeof v=="number"?"*":v);p.push("*"),u.push(p.join("."))}for(let m of u){if(!m)continue;let p=fn(t,m);if(!p||!Ur(p))continue;let v=p.content||p,A=v.querySelector(`[data-hcms-field="${lr(d)}"]`)||v.querySelector("[data-hcms-field]");if(A)return A}return null}}function Hi(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],n=t.split("/").pop()||t;try{return decodeURIComponent(n)}catch{return n}}function ar({pageRules:e,formRules:t,data:n,doc:r}){let o=r.createDocumentFragment(),i=$i(e,[],n,r,e);return i&&o.appendChild(i),o}function Vl({shape:e,itemShape:t,pathArr:n,data:r,doc:o,itemKey:i,pageRules:s}){if(e==="object-array-item")return Kl(t,n,r,o,s);if(e==="scalar-array-item")return Gl(n,r,o,i||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function $i(e,t,n,r,o){let i=qn(e);return i==="scalar"?Pf(e,t,n,r,o):i==="object"?Hf(e,t,n,r,o):i==="object-array"?$f(e,t,n,r,o):i==="scalar-array"?Uf(e,t,n,r):null}function Pf(e,t,n,r,o){let i=$r(e,r,t,o),s=sr(t,i,r);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=Dl(e,r,t,o);l==="@number"&&i==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(l==="@checkbox"||l==="@toggle")&&i==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${l}" but its value isn't true/false; rendering a text input so the value is preserved`),Wl(s,l===i?l:null,t);let a=cr(s,r);ur(a,t);let h=s.getAttribute?.("data-hcms-tpl");if((i==="@select"||i==="@radio")&&h===i&&Ff(a,e,t,n,r,i,o),i==="@image"&&h==="@image"){let d=Fl(e,r,t,o);d!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",d)}return zf(a,xn(t)),Co(a,xn(t)),Oo(a,xn(t)),Ql(a,n),i==="@file"&&Bf(a),a}function Wl(e,t,n){if(!t)return;let r=e.getAttribute?.("data-hcms-tpl");r&&r!==t&&console.info(`[hypercms] field "${n.join(".")}" declares component "${t}" but custom template "${r}" wins`)}function Ff(e,t,n,r,o,i,s){let l=Pl(t,o,n,s),a=l?[...l]:[],h=r==null?"":String(r);if(h!==""&&!a.includes(h)&&a.unshift(h),!l&&(qf(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(i==="@select"){let f=e.querySelector("select[data-hcms-field]");if(!f)return;for(let u of a){let m=o.createElement("option");m.value=u,m.textContent=yo(u),f.appendChild(m)}return}let d=e.querySelector(".mirk-radio");if(!d||!d.parentNode)return;let b=Ui(n.join("."));for(let f of a){let u=d.cloneNode(!0),m=u.querySelector('input[type="radio"]');m&&(m.value=f,m.name=b);let p=u.querySelector(".mirk-radio__label");p&&(p.textContent=yo(f)),d.parentNode.insertBefore(u,d)}d.remove()}function Ui(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function qf(e,t){let n=e.querySelector?e.querySelector(".hcms-error"):null;n&&(n.textContent=t,n.hidden=!1)}function Bf(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=Hi(t.getAttribute("href")))}function Hf(e,t,n,r,o){let i=sr(t,"@object",r);if(!i)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=cr(i,r);if(ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Ur(i))return ta(s,e,t),ea(s,e,n),s;let l=No(s,".hcms-object-fields",i,t);for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function $f(e,t,n,r,o){let i=sr(t,"@object-array",r);if(!i)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=cr(i,r);ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Xl(s,i),Zl(s,i,t);let l=No(s,".hcms-array-items",i,t),[,a]=e;return(Array.isArray(n)?n:[]).forEach((d,b)=>{let f=Kl(a,[...t,b],d,r,o);f&&l.appendChild(f)}),Jl(s),s}function Kl(e,t,n,r,o){let i=Yl(t,"object-array-item",r);if(!i)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=cr(i,r);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),ur(s,t),Ur(i))return e&&typeof e=="object"&&!Array.isArray(e)&&(ta(s,e,t),ea(s,e,n)),s;let l=No(s,".hcms-card-fields",i,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function Uf(e,t,n,r){let o=vo(e,r),i=wo(e,t,r),s=o?o.array:"@scalar-array",l=sr(t,s,r);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Wl(l,o?o.array:null,t);let a=cr(l,r);ur(a,t),Co(a,xn(t)),Oo(a,xn(t)),Xl(a,l),Zl(a,l,t),i&&a.setAttribute("data-hcms-item-tpl",i.item);let h=No(a,".hcms-array-items",l,t);return(Array.isArray(n)?n:[]).forEach((b,f)=>{let u=Gl([...t,f],b,r,i?i.item:null);u&&h.appendChild(u)}),Jl(a),a}function Gl(e,t,n,r){let o=Yl(e,"scalar-array-item",n,r);if(!o)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let i=cr(o,n);return i.setAttribute("data-hcms-array-item",""),i.classList.contains("hcms-array-item")||i.classList.add("hcms-array-item"),ur(i,e),Ql(i,t),i}function Yl(e,t,n,r){let o=e.map(i=>typeof i=="number"?"*":i).join(".");return fn(n,o)||r&&fn(n,r)||fn(n,"@"+t)}function cr(e,t){let n=e.content||e,r=t.createElement("div");return r.appendChild(n.cloneNode(!0)),r.firstElementChild||r}function ur(e,t){e.setAttribute("data-hcms-path",t.join("."))}function zf(e,t){let n=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",n);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{o.getAttribute("data-hcms-field")||o.setAttribute("data-hcms-field",n)})}function Co(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Oo(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(r=>{(r.textContent||"").trim()===""&&(r.textContent=yo(String(t)))})}function Xl(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,t.getAttribute(n))})}function Jl(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=zl(e,"data-hcms-max-items"),i=zl(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector('[data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function zl(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Zl(e,t,n){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let r=e.querySelector(".hcms-array-items");if(!r)return;let o="hcms-"+n.join(".");r.setAttribute("sortable",o),r.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function xn(e){return e.length?e[e.length-1]:null}function Ql(e,t){let n=Vf(e);if(n.length!==0)for(let r of n)na(r,t)}function Vf(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Wf(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(r=>t.push(r)),t}function Wf(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function ea(e,t,n){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i)return;if(!t||typeof t!="object"||!(i in t)){console.warn(`[hypercms] inline template field "${i}" is not in the rule shape; ignoring`);return}let s=n==null?null:n[i];na(o,s)})}function ta(e,t,n){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i||t&&typeof t=="object"&&!(i in t))return;let s=[...n,i].join(".");o.setAttribute("data-hcms-path",s)})}function No(e,t,n,r){if(!e.querySelector)return e;let o=e.querySelector(t);if(o)return o;let i=n?.getAttribute?.("data-hcms-tpl")||r.join(".");throw new Error(`hypercms: template "${i}" is in slotted mode but has no ${t} element`)}function na(e,t){let n=Eo(e),r=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(r==="INPUT"&&o==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(n==="checked"){e.checked=t===!0||t==="true";return}if(n){e[n]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var Kf={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?Yf(t.uploadFileBasic):null)},Gf={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},zi=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function Yf(e){return async function(n,{onProgress:r,signal:o}={}){if(o?.aborted)return zi();try{let i=await e(n,{onProgress:l=>{r?.({loaded:null,total:null,percent:l})}});if(o?.aborted)return zi();let s=i&&i.uploads||[];return typeof s[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:i.msg||"Uploaded",msgType:i.msgType||"success",code:i.code||null,uploads:s}}catch(i){if(o?.aborted)return zi();let s={};try{s=JSON.parse(i?.response||"{}")}catch{s={}}let l=s.code||Gf[i?.status]||"error";return{ok:!1,msg:i&&i.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function It(e,t){let n=Kf[e];if(!n)throw new Error(`hypercms: unknown platform capability "${e}"`);let r=t||(typeof window<"u"?window:null);return r&&n(r.clay,r.hyperclay)||null}var ra=["clay:mutation-ready","hyperclay:mutation-ready"],oa=["clay:sync-applied","hyperclay:livesync-applied"],ia=["clay:ready","hyperclay:ready"];function fr(e,t,n){let r=null,o=i=>{r!==null&&r!==i.type||(r=i.type,queueMicrotask(()=>{r=null}),n(i))};for(let i of t)e.addEventListener(i,o);return()=>{for(let i of t)e.removeEventListener(i,o)}}var dn="data-hcms-bound",_n="data-hcms-bound-id",Vi=new Map;function sa(e,t){Vi.set(e,t)}function la(e){Vi.delete(e)}function aa(e){let t=e.getAttribute(_n);if(!t)return null;let n=Vi.get(t);return!n||!n.restorable()?null:n.originalHTML}var Bn="data-hcms-owns-richclay";function dr(e){return e&&e.richclay&&e.richclay.RichClay||It("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function ca(e,t,n){!e||typeof e.setAttribute!="function"||(e.setAttribute(dn,t?"rich":"plain"),n&&e.setAttribute(Bn,"true"))}function ua(e,t){if(!e||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll(`[${dn}]`);if(!n.length)return;let r=dr(t);if(r&&typeof r.stripFromClone=="function")try{r.stripFromClone(e)}catch(o){console.warn("[hypercms] richclay strip failed; editor state may reach the save",o)}for(let o of n)o.getAttribute(Bn)==="true"&&o.removeAttribute("data-richclay"),o.removeAttribute(Bn),o.removeAttribute(dn)}function fa(e,t){if(!e||typeof e.removeAttribute!="function")return;let n=dr(t);if(n&&typeof n.stripElement=="function")try{n.stripElement(e)}catch(r){console.warn("[hypercms] richclay element strip failed; the clone stays editable",r)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(Bn)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(Bn),e.removeAttribute(dn),e.removeAttribute(_n)}function da(e,t){if(!t||e==null)return e;return n(e);function n(r){if(typeof r=="string"){if(r.endsWith("[]")||St(r)!==-1)return r;let o=null;try{o=t.querySelector(r)}catch{return r}return o&&o.children.length>0?r+"@innerHTML":r}if(Array.isArray(r))return r;if(r&&typeof r=="object"){let o=Object.create(null);for(let[i,s]of Object.entries(r))o[i]=n(s);return o}return r}}function ha(e,t){if(!t||e==null)return e;return n(e,[t]);function n(r,o){if(typeof r=="string")return r.endsWith("[]")||St(r)!==-1?r:o.some(i=>Xf(i,r))?r+"@innerHTML":r;if(Array.isArray(r)){let[i,s]=r;if(typeof i!="string"||!i)return r;let l=Jf(t,i);return l.length?[i,n(s,l)]:r}if(r&&typeof r=="object"){let i=Object.create(null);for(let[s,l]of Object.entries(r))i[s]=n(l,o);return i}return r}}function Xf(e,t){let n=null;try{n=e.querySelector(t)}catch{return!1}return n?n.hasAttribute(dn)?n.getAttribute(dn)==="rich":n.children.length>0:!1}function Jf(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function hr(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function Cn(e,t,n=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(hr),n===!1))return;let r=t&&t.defaultView||(typeof window<"u"?window:null),o=dr(r);o&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(i=>{if(i.__hcmsRichclay)return;let s;try{s=new o(i,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}i.__hcmsRichclay=s;let l=s&&s.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=r&&r.Event||Event;i.dispatchEvent(new a("input",{bubbles:!0}))})})}var Wi=new WeakSet;function Hn(e,t){let n=It("undo");if(!n)return t();n.pause();try{let r=t();return r&&r.ok?n.commitCaptured(e):n.discardCaptured(),r}finally{n.resume()}}function vn(e){let t=It("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Lo(e){let{formRoot:t}=e;if(!t||Wi.has(t))return;Wi.add(t);let n=s=>{let l=s.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&hr(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||ma(l,e)))},r=s=>{let l=s.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){id(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&ma(l,e)}},o=s=>{let l=s.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let h=a.getAttribute("data-hcms-action");if(h==="add"||h==="remove"||h==="move-up"||h==="move-down"||h==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(h==="close"&&!a.closest("[data-hcms-shell]"))return;if(h==="add"){let d=a.closest("[data-hcms-path]");if(!d)return;let b=d.getAttribute("data-hcms-path");zr(b,e)}else if(h==="remove"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Yi(d,e)}else if(h==="move-up"||h==="move-down"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Gi(d,h==="move-up"?-1:1,e)}else h==="clear-upload"?cd(a,e):h==="close"&&e.onCloseRequested?.()},i=t.ownerDocument;i.addEventListener("input",n,!0),i.addEventListener("change",r,!0),i.addEventListener("click",o,!0),e.detachEvents=()=>{i.removeEventListener("input",n,!0),i.removeEventListener("change",r,!0),i.removeEventListener("click",o,!0),Wi.delete(t)}}var Zf=new Set(["value","checked"]);function Qf(e,t){if(!t)return null;let n=yn(t);if(n.some(a=>typeof a=="number"||a==="*"))return null;let r=Fn(e.pageRules,n);if(typeof r!="string")return null;let o=Vt.ruleAttrIndex(r);if(o===-1)return null;let i=r.slice(o+1);if(!Zf.has(i))return null;let s=r.slice(0,o),l=s?e.pageRoot.querySelector(s):e.pageRoot;return l?{el:l,prop:i,oldValue:l[i]}:null}function ma(e,t){let r=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",o=Qf(t,r);if(tn(Gt(t),{path:r,structural:!1},t),o){let i=It("undo");i&&typeof i.recordValue=="function"&&i.recordValue(o.el,{prop:o.prop,oldValue:o.oldValue,newValue:o.el[o.prop]})}}var ed={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function td(e,t){let n=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(n==null)return{file:e};let r=It("quickcrop");if(typeof r!="function")return{file:e};try{let o=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",i=await r(e,{aspect:nd(n),modal:o,...ed});return i===null?null:{file:rd(i.blob,e.name),dataURL:i.dataURL}}catch(o){return pr(t,o&&o.message||"Crop failed"),null}}function nd(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let n=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!n)return null;let r=parseFloat(n[1]),o=parseFloat(n[2]);return!r||!o?null:r/o}function rd(e,t){let n=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",r=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],r+n,{type:e.type})}catch{return e}}var od=new Set(["unsupported","payment-required"]);async function id(e,t){let n=e.files&&e.files[0];if(!n)return;let r=e.closest("[data-hcms-path]");if(!r)return;let o=r.getAttribute("data-hcms-path")||"";pr(r,null);let i=await td(n,r);if(!i||t.closed){On(e);return}let s=i.file,l=i.dataURL||null,a=It("upload");if(typeof a!="function")return Ki(e,r,t,o,await pa(s,l,r),s);ya(r,l),ga(r,0);let h=ld(t),d;try{d=await a(s,{signal:h?.signal,onProgress:({percent:f})=>ga(r,f)})}finally{ad(t,h),fd(r)}if(t.closed){On(e);return}if(d.code==="aborted"){On(e);return}if(d.ok)return Ki(e,r,t,o,d.uploads[0].url,s);if(!od.has(d.code)){pr(r,d.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(d.msg||"Upload failed"),code:d.code,path:o}),On(e);return}let b=d.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return Ki(e,r,t,o,await pa(s,l,r),s,b)}function Ki(e,t,n,r,o,i,s=null){if(n.closed){On(e);return}if(ya(t,null),pr(t,null),!o){On(e);return}ka(t,o,i.name),tn(Gt(n),{path:r,structural:!1},n),s&&pr(t,s,"info"),On(e)}async function pa(e,t,n){return t||await sd(e,n)}function sd(e,t){let n=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return n?new Promise(r=>{let o=new n;o.onload=()=>r(typeof o.result=="string"?o.result:""),o.onerror=()=>r("");try{o.readAsDataURL(e)}catch{r("")}}):Promise.resolve("")}function ld(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function ad(e,t){t&&e.uploads?.delete(t)}function cd(e,t){let n=e.closest("[data-hcms-path]");if(!n)return;let r=n.getAttribute("data-hcms-path")||"";ka(n,"","");let o=n.querySelector('input[type="file"][data-hcms-upload]');o&&On(o),pr(n,null),tn(Gt(t),{path:r,structural:!1},t)}function ud(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function ka(e,t,n){let r=ud(e);if(!r)return;let o=(r.tagName||"").toUpperCase();o==="IMG"?r.src=t||"":o==="A"&&(r.href=t||"",r.textContent=t?n||Hi(t):"")}function On(e){try{e.value=""}catch{}}function ya(e,t){let n=e.querySelector?e.querySelector(".mirk-image__frame"):null;n&&(t?n.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:n.style.removeProperty("background-image"))}function ga(e,t){let n=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${n}%`)}function fd(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function pr(e,t,n="error"){let r=e.querySelector?e.querySelector(":scope > .hcms-error"):null;r&&(r.classList.toggle("hcms-error--info",!!t&&n==="info"),t?(r.textContent=t,r.hidden=!1):(r.textContent="",r.hidden=!0))}function zr(e,t){let{formRoot:n,pageRules:r}=t,o=n.querySelector(`[data-hcms-path="${gr(e)}"]`);if(!o)throw new Error(`hypercms: no element at path "${e}"`);let i=o.querySelector(".hcms-array-items");if(!i)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=yn(e),l=gd(r,s),a=Array.isArray(l),h=typeof l=="string"&&l.endsWith("[]");if(!a&&!h)throw new Error(`hypercms: path "${e}" is not an array`);let d=Mo(o,"data-hcms-max-items"),b=i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(o.hasAttribute("data-hcms-no-add")||d!=null&&b.length>=d)return;let f=b.length,u=a?l[1]:l.replace(/\[\]$/,""),m=Hr(a?u:"string"),p=Vl({shape:a?"object-array-item":"scalar-array-item",itemShape:u,pathArr:[...s,f],data:m,doc:t.doc,itemKey:o.getAttribute("data-hcms-item-tpl")||null,pageRules:r});return i.appendChild(p),Cn(p,t.doc,t.view?.enhanceFormRichText!==!1),Ji(o),Hn(`Add ${e}`,()=>tn(Gt(t),{path:e,structural:!0},t))}function Gi(e,t,n){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!r||r.hasAttribute("data-hcms-no-reorder"))return;let o=r.querySelector(".hcms-array-items");if(!o)return;let i=Array.from(o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=i.indexOf(e);if(s<0)return;let l=s+t;if(l<0||l>=i.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?o.insertBefore(e,i[l]):o.insertBefore(e,i[l].nextSibling),Zi(o),Ji(r),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),Hn(`Reorder ${r.getAttribute("data-hcms-path")||""}`,()=>tn(Gt(n),{path:r.getAttribute("data-hcms-path")||"",structural:!0},n))}var Ro="Delete this item?";function dd(e,t){let n=e&&e.getAttribute("data-hcms-confirm-remove");if(n!=null)return/^(off|false|no|0)$/i.test(n.trim())?null:n||Ro;let r=t&&t.confirmRemove;return r===!1?null:typeof r=="string"?r||Ro:r===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Ro:null}function Yi(e,t){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),r=dd(n,t);if(r==null)return mr(e,t);let o=It("consent")||typeof window<"u"&&window.consent;typeof o=="function"?Promise.resolve(o(r)).then(()=>{t.closed||mr(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(r)&&mr(e,t):mr(e,t)}function mr(e,t){let n=e.getAttribute("data-hcms-path")||"",r=e.parentElement,o=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!o?.hasAttribute("data-hcms-no-remove")){if(o){let i=Mo(o,"data-hcms-min-items"),s=o.querySelector(".hcms-array-items"),l=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(i!=null&&l<=i)return}return e.remove(),r&&Zi(r),o&&Ji(o),Hn(`Remove ${n}`,()=>tn(Gt(t),{path:n,structural:!0},t))}}function tn(e,t,n){if(n.closed)return{ok:!1,skipped:!0,closed:!0};let r=Vr(e);if(!t.structural&&r===n.lastFingerprint)return{ok:!0,skipped:!0};let o=Object.hasOwn(n,"writeRules")?n.writeRules:n.pageRules,i=Nl(n.pageRoot,o,e,{shellRoot:n.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:n.formRoot});return i.ok?(n.lastFingerprint=r,n.lastData=e,ba(n,null),n.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),n.onChange?.(e,t)):(ba(n,pd(i.error,t.path)),n.dispatch?.("hcms:error",{error:i.error,attemptedData:e}),n.onError?.(i.error)),i}function Io(e,t){let n=gr(t),r=`[data-hcms-path="${n}"] input[data-hcms-field], [data-hcms-path="${n}"] textarea[data-hcms-field], [data-hcms-path="${n}"] select[data-hcms-field], [data-hcms-path="${n}"] img[data-hcms-field], [data-hcms-path="${n}"] a[data-hcms-field], [data-hcms-path="${n}"] [contenteditable][data-hcms-field], input[data-hcms-path="${n}"][data-hcms-field], textarea[data-hcms-path="${n}"][data-hcms-field], select[data-hcms-path="${n}"][data-hcms-field], img[data-hcms-path="${n}"][data-hcms-field], a[data-hcms-path="${n}"][data-hcms-field], [contenteditable][data-hcms-path="${n}"][data-hcms-field]`;return e.querySelector(r)}function jo(e,t,n,r){let o=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(o==="INPUT"&&i==="checkbox"){e.checked=t===!0||t==="true";return}if(o==="INPUT"&&i==="radio"){let s=gr(r),l=n.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [data-hcms-field][type="radio"]`);l.length?l.forEach(a=>{a.checked=String(a.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(o==="IMG"){e.src=t==null?"":String(t);return}if(o==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function Gt(e){let t=Vt.extract(e.formRoot,e.formRules,{exclude:null});return Nn(t,e.formRules)}function Nn(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,n]=t;return e.map(r=>Nn(r,n))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let n={};for(let[r,o]of Object.entries(t))n[r]=Nn(e[r],o);return n}return e}function ba(e,t){e.lastErrors=t&&t.length?t:null,Xi(e)}function Xi(e){if(hd(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:n,path:r}of e.lastErrors){if(r!=null&&r!==""){let o=md(e.formRoot,r);if(o){o.textContent=o.textContent?`${o.textContent}
152
+ ${n}`:n,o.hidden=!1;continue}}t.push(n)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
153
+ `),e.errorEl.hidden=!1)}function hd(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function md(e,t){if(!e)return null;let n=t.split(".");for(;n.length>0;){let r=n.join("."),o=typeof CSS<"u"&&CSS.escape?CSS.escape(r):r.replace(/[^a-zA-Z0-9_\-.*]/g,s=>"\\"+s),i=e.querySelector(`[data-hcms-path="${o}"]`);if(i){for(let s of i.children)if(s.classList&&s.classList.contains("hcms-error"))return s}n.pop()}return null}function pd(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(n=>({message:`Shape mismatch: expected ${n.expected}, got ${n.got}`,path:n.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function gd(e,t){let n=e;for(let r of t){if(n==null||typeof n=="string")return;if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function Mo(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Ji(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=Mo(e,"data-hcms-max-items"),i=Mo(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function Do(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>Zi(t))}function Zi(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),r=>[r,r.checked]):[],n=0;for(let r of e.children){if(!r.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let o=r.getAttribute("data-hcms-path");if(!o)continue;let i=o.split(".");i[i.length-1]=String(n);let s=i.join(".");s!==o&&bd(r,o,s),n++}for(let[r,o]of t)r.checked!==o&&(r.checked=o)}function bd(e,t,n){let r=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",n);for(let o of r){let i=o.getAttribute("data-hcms-path");i===t?o.setAttribute("data-hcms-path",n):i&&i.startsWith(t+".")&&o.setAttribute("data-hcms-path",n+i.slice(t.length))}kd(e)}function kd(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let n=t.closest("[data-hcms-path]");n&&(t.name=Ui(n.getAttribute("data-hcms-path")))}}function Vr(e){return JSON.stringify(e,(t,n)=>{if(n&&typeof n=="object"&&!Array.isArray(n)){let r=Object.create(null);for(let o of Object.keys(n).sort())r[o]=n[o];return r}return n})}function gr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Sd={},Po="hcms-shell-styles",yd="hcms-bundled-styles-installed",Fo="hcms-session-open",xd='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',br=new WeakSet,Qi="";function va(e){Qi=e}function Wr(e){e?.body?.classList.add(Fo)}function es(e){e?.body?.classList.remove(Fo)}var vd=0;function xa(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function wa({mountTo:e,side:t="right",overlay:n=!1,showSaveButton:r=!1,title:o="Page content",eyebrow:i="Edit",theme:s=null,doc:l}){Aa(l);let a=`hcms-shell-title-${++vd}`,h=l.createElement("div");h.setAttribute("data-hcms-shell",""),h.setAttribute("editor-ui",""),h.setAttribute("save-remove",""),h.setAttribute("save-ignore",""),h.setAttribute("tabindex","-1"),h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-labelledby",a);let d=s==="dark"?" dark":s==="light"?" light":"";h.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(n?" hcms-overlay":"")+d;let b=xa(o),f=xa(i);h.innerHTML=`
153
154
  <div class="hcms-shell-minibar" aria-hidden="true">
154
- <span class="hcms-shell-minibar-title">${p}</span>
155
+ <span class="hcms-shell-minibar-title">${b}</span>
155
156
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
156
157
  <span class="mirk-button__label">\xD7</span>
157
158
  </button>
@@ -159,8 +160,8 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
159
160
  <div class="hcms-shell-body">
160
161
  <header class="hcms-shell-header">
161
162
  <div class="hcms-shell-heading">
162
- <div class="hcms-shell-eyebrow">${d}</div>
163
- <h2 class="hcms-shell-title" id="${l}">${p}</h2>
163
+ <div class="hcms-shell-eyebrow">${f}</div>
164
+ <h2 class="hcms-shell-title" id="${a}">${b}</h2>
164
165
  </div>
165
166
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
166
167
  <span class="mirk-button__label">\xD7</span>
@@ -169,27 +170,139 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
169
170
  <div class="hcms-shell-notice" role="status" hidden></div>
170
171
  <div class="hcms-shell-error" role="alert" hidden></div>
171
172
  <div data-hcms-form-root class="hcms-form"></div>
172
- <footer class="hcms-shell-footer"${n?"":" hidden"}>
173
+ <footer class="hcms-shell-footer"${r?"":" hidden"}>
173
174
  <button type="button" class="hcms-shell-save mirk-button" trigger-save>
174
175
  <span class="mirk-button__label">Save</span>
175
176
  </button>
176
177
  </footer>
177
178
  </div>
178
- `,(e||a.body).appendChild(c);let y=a.body;y.classList.add("hcms-open"),r&&y.classList.add("hcms-overlay"),t==="left"&&y.classList.add("hcms-side-left");let N=Ns(c,a),R=Ms(c);return{root:c,formRoot:c.querySelector("[data-hcms-form-root]"),noticeEl:c.querySelector(".hcms-shell-notice"),errorEl:c.querySelector(".hcms-shell-error"),saveButton:c.querySelector(".hcms-shell-save"),destroy(){N.detach(),R.detach(),c.remove(),y.classList.remove("hcms-open","hcms-overlay","hcms-side-left")},restoreChrome(){Os(a),y.classList.add("hcms-open"),r&&y.classList.add("hcms-overlay"),t==="left"&&y.classList.add("hcms-side-left")}}}function Os(e){e&&(e.getElementById(Ot)||e.querySelector("style[data-hcms-bundled-styles]")||(Be.delete(e),ri(e)))}function ri(e){if(e&&!Be.has(e)){if(e[Cs]){Be.add(e);return}if(e.getElementById(Ot)||e.querySelector("style[data-hcms-bundled-styles]")){Be.add(e);return}if(br){let t=e.createElement("style");t.id=Ot,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=br,(e.head||e.documentElement).appendChild(t),Be.add(e);return}try{let t=new URL("./theme.generated.css",Is.url).href,r=e.createElement("link");r.rel="stylesheet",r.id=Ot,r.setAttribute("save-remove",""),r.setAttribute("save-ignore",""),r.href=t,(e.head||e.documentElement).appendChild(r),Be.add(e)}catch{console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")}}}function Ms(e){let t=e.querySelector(".hcms-shell-body"),r=e.querySelector(".hcms-shell-header");if(!t||!r||typeof t.addEventListener!="function")return{detach(){}};let n=()=>{let i=(r.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>i)};return t.addEventListener("scroll",n,{passive:!0}),n(),{detach(){t.removeEventListener("scroll",n)}}}function Ns(e,t){function r(n){if(n.key!=="Tab"||!e.contains(t.activeElement))return;let i=Array.from(e.querySelectorAll(Ts));if(i.length===0)return;let o=i[0],s=i[i.length-1];n.shiftKey&&t.activeElement===o?(n.preventDefault(),s.focus()):!n.shiftKey&&t.activeElement===s&&(n.preventDefault(),o.focus())}return t.addEventListener("keydown",r),{detach:()=>t.removeEventListener("keydown",r)}}var js="[hypercms]",ni={skip:"[data-hcms-shell]",templateAttr:"cms-template"},ii={skip:"[data-hcms-shell]",templateAttr:null},kr=class extends Error{constructor(t,r,n){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${r}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=r,this.cause=n}};function Nt(e,t){let r=[],n=[];return yr(e,t,[],r,n),{missing:Ds(r),twins:$s(n)}}function yr(e,t,r,n,i){if(typeof t=="string"){let o=Ls(t);if(!o)return;let s=Mt(e,o,ni,r);if(t.endsWith("[]")){s.length===0&&Mt(e,o,ii,r).length===0&&n.push(rt(r));return}s.length===0?n.push(rt(r)):s.length>1&&i.push({path:rt(r),count:s.length});return}if(Array.isArray(t)){let[o,s]=t;if(typeof o!="string"||!o)return;let a=Mt(e,o,ni,r);if(a.length===0){Mt(e,o,ii,r).length===0&&n.push(rt(r));return}for(let l of a)yr(l,s,[...r,"*"],n,i);return}if(t&&typeof t=="object")for(let[o,s]of Object.entries(t))yr(e,s,[...r,o],n,i)}function Mt(e,t,r,n){try{return ue.find(e,t,r)}catch(i){throw new kr(rt(n),t,i)}}function Ls(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=Q(e);return(t===-1?e:e.slice(0,t))||null}function It(e){Fs(e),qs(e)}function Fs(e){let t=e.noticeEl;if(!t)return;let r=e.unresolved&&e.unresolved.missing||[];if(r.length===0){t.textContent="",t.hidden=!0;return}let n=r.length===1?"1 field no longer matches this page":`${r.length} fields no longer match this page`;t.textContent=`${n}: ${r.join(", ")}`,t.hidden=!1}function qs(e){let t=e.unresolved&&e.unresolved.twins||[],r=t.map(n=>`${n.path}:${n.count}`).join("|");if(r!==e.lastTwinSignature){e.lastTwinSignature=r;for(let{path:n,count:i}of t)console.warn(`${js} "${n}" matches ${i} elements; edits go to the first one.`)}}function Ds(e){return[...new Set(e)]}function $s(e){let t=new Map;for(let r of e){let n=t.get(r.path);(!n||r.count>n.count)&&t.set(r.path,r)}return[...t.values()]}function rt(e){return e.length?e.join("."):"(whole page)"}var Ps={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function jt(e,{ignoreActiveValue:t}={}){let r=ne.findRules(e.doc,e.rulesSource||"cms");r&&(e.pageRules=e.richText?Et(r.rules,e.pageRoot):r.rules,e.rulesTagNode=r.tagNode),ht(e.doc),kt(e.doc,e.pageRules),e.formRules=vt(e.pageRules,e.doc),e.unresolved=Nt(e.pageRoot,e.pageRules);let n=St(),i=ve(ne.extract(e.pageRoot,e.pageRules,{...Ps,...n.hooks}),e.pageRules),o=xt({pageRules:e.pageRules,formRules:e.formRules,data:i,doc:e.doc});ut(e.formRoot,o,{ignoreActiveValue:t}),n.seed(e.formRoot),qe(e.formRoot,e.doc),hr(e),It(e),e.updateFingerprint&&e.updateFingerprint()}function oi({debounce:e=100,onRefresh:t}){let r=ie("Mutation");if(!r||typeof r.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let n=0,i=r.onAnyChange({debounce:e},()=>{n>0||t()});return{unsubscribe:typeof i=="function"?i:()=>{},pause(){n++},resume(){n=Math.max(0,n-1)}}}var Bs="[hypercms]";function si(e,t){if(!e||!e.querySelectorAll||!t)return;let r=Us(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(i=>{let o=i.getAttribute("data-hcms-tpl");o&&(o.startsWith("@")||r.has(o)||console.warn(`${Bs} template "${o}" doesn't match any rule path; ignored`))})}function Us(e){let t=new Set;return r([],e),t;function r(n,i){let o=n.join("."),s=n.map(l=>typeof l=="number"?"*":l).join(".");o&&t.add(o),s&&t.add(s);let a=Ae(i);if(a==="object")for(let[l,c]of Object.entries(i))r([...n,l],c);else if(a==="object-array"||a==="scalar-array"){let l=[...n,"*"],c=l.map(m=>typeof m=="number"?"*":m).join(".");if(t.add(c),a==="object-array"){let m=i[1];if(m&&typeof m=="object"&&!Array.isArray(m))for(let[p,d]of Object.entries(m))r([...l,p],d)}}}}var ai="hcms-toggle",li="hcms-toggle-style",zs=`
179
- #hcms-toggle {
180
- position: fixed; right: 16px; bottom: 16px; z-index: 2147482900;
181
- display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px;
182
- border: 1px solid #3a3f58; background: #14161f; color: #f2f3f7;
183
- font: 500 13px/1 system-ui, sans-serif; border-radius: 999px; cursor: pointer;
184
- box-shadow: 0 10px 28px -12px rgba(0, 0, 0, .55);
185
- }
186
- #hcms-toggle:hover { background: #1d2030; }
187
- #hcms-toggle .hcms-toggle__close { display: none; }
188
- body.hcms-open #hcms-toggle .hcms-toggle__open { display: none; }
189
- body.hcms-open #hcms-toggle .hcms-toggle__close { display: inline; }
190
- body.hcms-open:not(.hcms-overlay):not(.hcms-side-left) #hcms-toggle { right: calc(380px + 16px); }
191
- body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
192
- `;function Hs({search:e="",cookie:t="",forced:r=null}={}){let n=typeof e=="string"?e:"",i=n.indexOf("?"),o=i===-1?n:n.slice(i+1),s=new URLSearchParams(o).get("editmode");return s?s==="true":r!=null?!!r:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}function Vs({open:e,close:t,isOpen:r},n=document){let i=n.getElementById(ai);if(i)return i;if(!n.getElementById(li)){let s=n.createElement("style");s.id=li,s.setAttribute("snapshot-remove",""),s.textContent=zs,n.head.appendChild(s)}let o=n.createElement("button");return o.type="button",o.id=ai,o.setAttribute("no-save",""),o.setAttribute("snapshot-remove",""),o.setAttribute("save-ignore",""),o.setAttribute("aria-label","Toggle content editor"),o.innerHTML='<span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span>',o.addEventListener("click",async()=>{try{r()?t():await e()}catch(s){console.warn("hypercms: toggle failed to open the CMS",s)}}),n.body.appendChild(o),o}function ci(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!Hs({search:window.location.search,cookie:document.cookie,forced:t}))return;let r=()=>{document.body&&e.hasRules(document)&&Vs(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function mi(e){ei(e)}var U={isOpen:!1,ctx:null,shell:null,opts:null};function ui(e,t){if(U.ctx!==e)return;let r=t==="livesync";t==="livesync"&&U.shell?.restoreChrome?.(),jt(e,{ignoreActiveValue:r})}var di=!1;function Ws(){if(di)return;let e=ie("onPrepareForSave");typeof e=="function"&&(e(t=>{let r=t&&t.querySelector&&t.querySelector("body");r&&r.classList.remove("hcms-open","hcms-overlay","hcms-side-left")}),di=!0)}function wr(e={}){if(U.isOpen){console.warn("cms.open() called while already open; ignoring");return}Ws();let t=e.pageRoot||(typeof document<"u"?document.body:null);if(!t)throw new Error("hypercms: no pageRoot available");let r=t.ownerDocument||(typeof document<"u"?document:null);if(!r)throw new Error("hypercms: no document available");let n=e.rules!==void 0?e.rules:"cms",i=ne.findRules(r,n);if(!i){let y=typeof n=="string"?`data-rules-name~="${n}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${y}`)}let o=e.richText!==!1,s=o?Et(i.rules,t):i.rules,a=i.tagNode;ht(r),kt(r,s),si(r,s);let l=vt(s,r),c=Nt(t,s),m=St(),p=ve(ne.extract(t,s,{skip:"[data-hcms-shell]",templateAttr:"cms-template",...m.hooks}),s),d=Rt(()=>ti({mountTo:e.mountTo||r.body,side:e.side||"right",overlay:!!e.overlay,showSaveButton:!!e.showSaveButton,title:e.title,eyebrow:e.eyebrow,theme:e.theme,doc:r})),u={doc:r,pageRoot:t,pageRules:s,formRules:l,rulesTagNode:a,rulesSource:n,richText:o,formRoot:d.formRoot,shellRoot:d.root,errorEl:d.errorEl,noticeEl:d.noticeEl,unresolved:c,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:e.onChange,onError:e.onError,confirmRemove:e.confirmRemove,previouslyFocused:r.activeElement,dispatch(y,N){let R=r.defaultView&&r.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!R)return;let F=new R(y,{bubbles:!0,cancelable:y==="hcms:change",detail:N});d.root.dispatchEvent(F)},onCloseRequested(){_r()}};u.updateFingerprint=()=>{u.lastFingerprint=tt(ae(u))};try{let y=xt({pageRules:s,formRules:l,data:p,doc:r});d.formRoot.appendChild(y),m.seed(d.formRoot),qe(d.formRoot,r),It(u),Yn(u),u.updateFingerprint(),u.observerHandle=oi({onRefresh:()=>jt(u)});let N=ie("undo");if(N&&typeof N.on=="function"){let F=()=>{if(U.ctx!==u)return;ui(u,"undo");let V=ve(ne.extract(u.pageRoot,u.pageRules,{skip:"[data-hcms-shell]",templateAttr:"cms-template"}),u.pageRules);tt(V)!==tt(u.lastData)&&(u.lastData=V,u.onChange?.(V,{path:"",structural:!1}))};N.on("undo",F),N.on("redo",F),u.undoUnsub=()=>{N.off("undo",F),N.off("redo",F)}}let R=()=>ui(u,"livesync");u.livesyncUnsub=lr(r,Vn,R),nt.ctx=u,Gs(r),Ks(d.root),U.isOpen=!0,U.ctx=u,U.shell=d,U.opts=e,u.dispatch("hcms:open",{pageRoot:t})}catch(y){throw u.observerHandle?.unsubscribe?.(),u.undoUnsub?.(),u.livesyncUnsub?.(),u.detachEvents?.(),nt.ctx===u&&(nt.ctx=null),Rt(()=>d.destroy()),U.isOpen=!1,U.ctx=null,U.shell=null,U.opts=null,y}}function Ks(e){let r=e.querySelector('input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])');r&&typeof r.focus=="function"&&r.focus()}var nt={ctx:null};function Gs(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let r=function(){let i=nt.ctx;if(i)return fr(i.formRoot),Pe("Reorder",()=>de(ae(i),{path:"",structural:!0},i))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=r),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=r)}var xr="cms";function Js(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);if(!n)return t;let i=new URLSearchParams(n);return i.get(xr)!=="true"?t:(i.set(xr,"false"),"?"+i.toString())}function Ys(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);return n?new URLSearchParams(n).get(xr)==="true":!1}function Zs(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=Js(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}function _r(){if(!U.isOpen)return;let{ctx:e,shell:t}=U;e.closed=!0;for(let n of e.uploads||[])try{n.abort()}catch{}e.uploads?.clear();let r=e.previouslyFocused;if(e.dispatch("hcms:close",null),Zs(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),Rt(()=>t.destroy()),U.isOpen=!1,U.ctx=null,U.shell=null,U.opts=null,nt.ctx=null,r&&typeof r.focus=="function")try{r.focus()}catch{}}function hi(){U.isOpen&&jt(U.ctx)}function Xs(){return U.isOpen}var Qs={getData(){return U.isOpen?ae(U.ctx):null},setValue(e,t){if(!U.isOpen)throw new Error("hypercms: cms is not open");let r=U.ctx,n=me(e),i=_e(r.pageRules,n);if(i===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof i!="string"||i.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let o=ea(r.formRoot,e);if(!o)throw new Error(`hypercms: no field element at path "${e}"`);ta(o,t,r.formRoot,e),de(ae(r),{path:e,structural:!1},r)},addItem(e){if(!U.isOpen)throw new Error("hypercms: cms is not open");mr(e,U.ctx)},removeItem(e){if(!U.isOpen)throw new Error("hypercms: cms is not open");let t=U.ctx,r=me(e);if(typeof r[r.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let i=_e(t.pageRules,r.slice(0,-1));if(!(Array.isArray(i)||typeof i=="string"&&i.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let s=t.formRoot.querySelector(`[data-hcms-path="${Sr(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);De(s,t)},refresh:hi,_commit(){if(!U.isOpen)return;let e=U.ctx;return fr(e.formRoot),Pe("Update",()=>de(ae(e),{path:"",structural:!0},e))}};function ea(e,t){let r=Sr(t),n=`[data-hcms-path="${r}"] input[data-hcms-field], [data-hcms-path="${r}"] textarea[data-hcms-field], [data-hcms-path="${r}"] select[data-hcms-field], [data-hcms-path="${r}"] img[data-hcms-field], [data-hcms-path="${r}"] a[data-hcms-field], [data-hcms-path="${r}"] [contenteditable][data-hcms-field], input[data-hcms-path="${r}"][data-hcms-field], textarea[data-hcms-path="${r}"][data-hcms-field], select[data-hcms-path="${r}"][data-hcms-field], img[data-hcms-path="${r}"][data-hcms-field], a[data-hcms-path="${r}"][data-hcms-field], [contenteditable][data-hcms-path="${r}"][data-hcms-field]`;return e.querySelector(n)}function ta(e,t,r,n){let i=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(i==="INPUT"&&o==="checkbox"){e.checked=t===!0||t==="true";return}if(i==="INPUT"&&o==="radio"){let s=Sr(n),a=r.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [data-hcms-field][type="radio"]`);a.length?a.forEach(l=>{l.checked=String(l.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(i==="IMG"){e.src=t==null?"":String(t);return}if(i==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var ra=250,na=1e4;function ia(){typeof window>"u"||typeof document>"u"||Ys(window.location?window.location.search:"")&&(U.isOpen||oa(()=>{if(!U.isOpen)try{wr()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function vr(){return!!document.body&&!!ie("Mutation")}function oa(e){if(vr()){queueMicrotask(e);return}let t=Date.now()+na,r=!1,n=null,i=null,o=()=>{r||(r=!0,n!==null&&clearInterval(n),i&&i())};function s(){if(U.isOpen){o();return}vr()&&(o(),e())}i=lr(document,Hn,s),n=setInterval(()=>{if(U.isOpen){o();return}if(vr()){o(),e();return}Date.now()>=t&&(o(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},ra)}ia();ci({open:wr,close:_r,isOpen:Xs,hasRules:e=>!!ne.findRules(e,"cms")});var Ar={open:wr,close:_r,refresh:hi,api:Qs,get isOpen(){return U.isOpen},path:er,scaffold:Xe,morphForm:ut};function Sr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var pi=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
179
+ `,(e||l.body).appendChild(h);let m=l.body;m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left");let p=Ad(h,l),v=wd(h);return{root:h,formRoot:h.querySelector("[data-hcms-form-root]"),noticeEl:h.querySelector(".hcms-shell-notice"),errorEl:h.querySelector(".hcms-shell-error"),saveButton:h.querySelector(".hcms-shell-save"),destroy(){p.detach(),v.detach(),h.remove(),m.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),es(l)},restoreChrome(){Rn(l),m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left")}}}function Rn(e){e&&(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")||(br.delete(e),Aa(e)))}function Aa(e){if(e&&!br.has(e)){if(e[yd]){br.add(e);return}if(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")){br.add(e);return}if(Qi){let t=e.createElement("style");t.id=Po,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Qi,(e.head||e.documentElement).appendChild(t),br.add(e);return}try{let t=new URL("./theme.generated.css",Sd.url).href,n=e.createElement("link");n.rel="stylesheet",n.id=Po,n.setAttribute("save-remove",""),n.setAttribute("save-ignore",""),n.href=t,(e.head||e.documentElement).appendChild(n),br.add(e)}catch{let n=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(n):n()}}}function wd(e){let t=e.querySelector(".hcms-shell-body"),n=e.querySelector(".hcms-shell-header");if(!t||!n||typeof t.addEventListener!="function")return{detach(){}};let r=()=>{let o=(n.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>o)};return t.addEventListener("scroll",r,{passive:!0}),r(),{detach(){t.removeEventListener("scroll",r)}}}function Ad(e,t){function n(r){if(r.key!=="Tab"||!e.contains(t.activeElement))return;let o=Array.from(e.querySelectorAll(xd));if(o.length===0)return;let i=o[0],s=o[o.length-1];r.shiftKey&&t.activeElement===i?(r.preventDefault(),s.focus()):!r.shiftKey&&t.activeElement===s&&(r.preventDefault(),i.focus())}return t.addEventListener("keydown",n),{detach:()=>t.removeEventListener("keydown",n)}}var Td="[hypercms]",Sa={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ta={skip:"[data-hcms-shell]",templateAttr:null},ts=class extends Error{constructor(t,n,r){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${n}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=n,this.cause=r}};function Bo(e,t){let n=[],r=[],o=[];return rs(kn(e),e,t,[],n,r,o),{missing:Ea(n),twins:Nd(r),readOnly:Ea(o)}}function Ho(e){return ns(e)}function ns(e){if(typeof e=="string")return _a(e)?void 0:e;if(Array.isArray(e)){let[t,n]=e;return[t,ns(n)]}if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e)){let o=ns(r);o!==void 0&&(t[n]=o)}return t}return e}function rs(e,t,n,r,o,i,s){if(typeof n=="string"){let l=Ed(n),a=l?qo(e,t,l,Sa,r):[];if(_a(n)){s.push(kr(r));return}if(!l)return;if(n.endsWith("[]")){a.length===0&&qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}a.length===0?o.push(kr(r)):a.length>1&&i.push({path:kr(r),count:a.length});return}if(Array.isArray(n)){let[l,a]=n;if(typeof l!="string"||!l)return;let h=qo(e,t,l,Sa,r);if(h.length===0){qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}for(let d of h)rs(e,d,a,[...r,"*"],o,i,s);return}if(n&&typeof n=="object")for(let[l,a]of Object.entries(n))rs(e,t,a,[...r,l],o,i,s)}function qo(e,t,n,r,o){try{return e.find(t,n,r)}catch(i){throw new ts(kr(o),n,i)}}function Ed(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=St(e);return(t===-1?e:e.slice(0,t))||null}function _d(e){if(e.endsWith("[]"))return null;let t=St(e);return t===-1?null:e.slice(t+1)||null}function _a(e){let t=_d(e);return t!=null&&Mr.has(t)}function yr(e){Cd(e),Od(e)}function Cd(e){let t=e.noticeEl;if(!t)return;let n=e.unresolved&&e.unresolved.missing||[],r=e.unresolved&&e.unresolved.readOnly||[];if(n.length===0&&r.length===0){t.textContent="",t.hidden=!0;return}let o=[];if(n.length){let i=n.length===1?"1 field no longer matches this page":`${n.length} fields no longer match this page`;o.push(`${i}: ${n.join(", ")}`)}if(r.length){let i=r.length===1?"1 field reads a property the browser will not let anything write":`${r.length} fields read properties the browser will not let anything write`;o.push(`${i}: ${r.join(", ")}`)}t.textContent=o.join(`
180
+ `),t.hidden=!1}function Od(e){let t=e.unresolved&&e.unresolved.twins||[],n=t.map(r=>`${r.path}:${r.count}`).join("|");if(n!==e.lastTwinSignature){e.lastTwinSignature=n;for(let{path:r,count:o}of t)console.warn(`${Td} "${r}" matches ${o} elements; edits go to the first one.`)}}function Ea(e){return[...new Set(e)]}function Nd(e){let t=new Map;for(let n of e){let r=t.get(n.path);(!r||n.count>r.count)&&t.set(n.path,n)}return[...t.values()]}function kr(e){return e.length?e.join("."):"(whole page)"}var Rd={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function Mn(e,{ignoreActiveValue:t}={}){return Md(e,{ignoreActiveValue:t})}function Md(e,{ignoreActiveValue:t}){let n=Vt.findRules(e.doc,e.rulesSource||"cms");n&&(e.pageRules=e.view.prepareRules(n.rules),e.rulesTagNode=n.tagNode),xo(e.doc),To(e.doc,e.pageRules),e.formRules=_o(e.pageRules,e.doc),e.writeRules=Ho(e.pageRules),e.unresolved=Bo(e.pageRoot,e.pageRules);let r=bo(),o=Nn(Vt.extract(e.pageRoot,e.pageRules,{...Rd,...r.hooks}),e.pageRules),i=ar({pageRules:e.pageRules,formRules:e.formRules,data:o,doc:e.doc});go(e.formRoot,i,{ignoreActiveValue:t}),r.seed(e.formRoot),Cn(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Xi(e),yr(e),e.updateFingerprint&&e.updateFingerprint()}function Ca({debounce:e=100,onRefresh:t}){let n=It("Mutation");if(!n||typeof n.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let r=n.onAnyChange({debounce:e},o=>{t(o)});return{unsubscribe:typeof r=="function"?r:()=>{}}}var Ld='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Oa({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null;return{name:"sidebar",richText:r,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(i){return r?da(i,t):i},mount(i){let s=this.ctx;o=vn(()=>wa({mountTo:n.mountTo||e.body,side:n.side||"right",overlay:!!n.overlay,showSaveButton:!!n.showSaveButton,title:n.title,eyebrow:n.eyebrow,theme:n.theme,doc:e})),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl;let l=ar({pageRules:s.pageRules,formRules:s.formRules,data:i,doc:e});o.formRoot.appendChild(l),s.seeder.seed(o.formRoot),Cn(o.formRoot,e),yr(s),Lo(s)},refresh(i){if(i==="livesync"){o?.restoreChrome?.(),Mn(this.ctx,{ignoreActiveValue:!0});return}if(i==="undo"){Mn(this.ctx,{ignoreActiveValue:!1});return}Mn(this.ctx)},focusOnOpen(){let i=this.root&&this.root.querySelector(Ld);i&&typeof i.focus=="function"&&i.focus()},destroy(){o?.destroy(),o=null}}}var Id="[cms-template], [data-hcms-shell]";function Kr(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Id))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var jd={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Dd={skip:"[data-hcms-shell]",templateAttr:null},Pd="text",Fd="native",Na="handle",qd=new Set(["INPUT","TEXTAREA","SELECT"]),La=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function is(e,t){return Bd(e,t)}function Bd(e,t){let n=[],r=[],o=kn(e);return os(o,e,t,[],n,r),{targets:n,lists:r}}function os(e,t,n,r,o,i){if(typeof n=="string"){if(n.endsWith("[]")){let d=n.slice(0,-2);if(!d)return;let b=$o(e,t,d);b.forEach((f,u)=>{o.push(Ma([...r,u],f,n,null))}),i.push(Ra(e,t,r,d,b,!0));return}let s=St(n),l=s===-1?null:n.slice(s+1),a=s===-1?n:n.slice(0,s),h=!a||a==="."?t:$o(e,t,a)[0];h&&o.push(Ma(r,h,n,l));return}if(Array.isArray(n)){let[s,l]=n;if(typeof s!="string"||!s)return;let a=$o(e,t,s);a.forEach((h,d)=>os(e,h,l,[...r,d],o,i)),i.push(Ra(e,t,r,s,a,typeof l=="string"));return}if(n&&typeof n=="object")for(let[s,l]of Object.entries(n))os(e,t,l,[...r,s],o,i)}function Ra(e,t,n,r,o,i){let s=o[0]?o[0].parentElement:null;if(!s){let l=$o(e,t,r,Dd)[0];s=l?l.parentElement:null}return{path:n,items:o,container:s,scalar:i}}function Ma(e,t,n,r){return{path:e,el:t,rule:n,attr:r,kind:Hd(t,r),icon:Ud(t,r)}}function Hd(e,t){let n=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?La.has(n)?Na:Pd:t==="value"&&qd.has(n)&&!e.readOnly&&!$d(e)?Fd:Na}function $d(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function Ud(e,t){let n=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!La.has(n)?null:n==="IMG"||t==="srcset"?"camera":n==="A"&&t==="href"?"paperclip":"pencil"}function $o(e,t,n,r=jd){try{return e.find(t,n,r)}catch{return[]}}var Ia=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),zd=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),nk=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ss(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Vd(e,t){if(ss(e,t))return!0;for(let[n,r]of Object.entries(zd))if(r.includes(t)&&ss(e,n))return!0;return!1}function Gr(e){let t=Ia[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function Wd(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=Ia[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Vd(n,o))||r.bundles.some(o=>ss(n,o)))return n;n=n.parentElement}return null}function ja(e,t){return!!Wd(e,t)}var Kd=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Da(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function Pa(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function Fa(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?ja(e,n):Pa(e,r,i,!1))||o&&Pa(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=Fa(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&Da(b,f))}return e.nodeType===1&&Da(e,a),a}function ls(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Gr(t),d=Fa(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Kd.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Gr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}var Gd=[16,8,0],jt=8,Yd=4;function qa({anchor:e,bar:t,rail:n=t,viewport:r,current:o=null}){let i=f=>o===f?Yd:0;if(e.bottom<=0||e.top>=r.height||e.right<=0||e.left>=r.width)return{mode:"hidden",x:0,y:0};let s=f=>Math.max(jt,Math.min(e.left,r.width-f-jt)),l=e.top-16-t.height;if(l>=jt-i("above"))return{mode:"above",x:s(t.width),y:l};let a=e.bottom+16;if(a+t.height<=r.height-jt+i("below"))return{mode:"below",x:s(t.width),y:a};let h=r.width-e.right-jt,d=e.left-jt,b=h>=d?[["rail-right",h],["rail-left",d]]:[["rail-left",d],["rail-right",h]];for(let[f,u]of b)for(let m of Gd){if(n.width+m>u+i(f))continue;let p=f==="rail-right"?Math.min(e.right+m,r.width-n.width-jt):Math.max(e.left-m-n.width,jt),v=Math.min(e.bottom,r.height-jt)-n.height,A=Math.max(jt,Math.min(Math.max(e.top,jt),v));return{mode:f,x:p,y:A,gap:m}}return{mode:"pinned",x:s(t.width),y:jt}}function as({anchor:e,handle:t,viewport:n,inset:r=6,prefer:o="auto"}){let i=e.height>=t.height*1.5&&e.width>=t.width*2;if(o==="corner"||i){let f=Math.max(jt,Math.min(e.right-t.width+r,n.width-t.width-jt)),u=Math.max(jt,Math.min(e.top-r,n.height-t.height-jt));return{x:f,y:u,mode:"over"}}let s=4,l=e.right+s+t.width<=n.width-jt,a=l?e.right+s:e.left-s-t.width,h=Math.max(jt,a),d=e.top+e.height/2-t.height/2,b=Math.max(jt,Math.min(d,n.height-t.height-jt));return{x:h,y:b,mode:l?"beside-right":"beside-left"}}var zo=!1;function Ba(){if(zo)return;let e=It("onPrepareForSave");typeof e=="function"&&(e(t=>{$a(t),Ha(t)}),zo=!0)}function Ha(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",Fo)}function $a(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${_n}]`)){let n=aa(t);n!==null&&(t.innerHTML=n),t.removeAttribute(_n)}}var Vo=!1;function Wo(){if(Vo)return;let e=It("onSnapshot");typeof e=="function"&&(e(t=>{$a(t),ua(t,typeof window<"u"?window:null),Ha(t)}),Vo=!0)}function Ua(){Ba(),Wo(),(!zo||!Vo)&&Xd()}var Uo=null;function Xd(){if(Uo||typeof document>"u")return;Uo=fr(document,ia,()=>{Ba(),Wo(),zo&&Vo&&(Uo?.(),Uo=null)})}var Jd={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function $n(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",n=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${Jd[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${n}</svg>`}var za="data-hcms-ghost",Zd=Gr("history");function Qd(e){let t=e.container,n=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)n=t,t=t.parentElement;return{parent:t,anchor:n}}function Va({doc:e,themeRoot:t,onAdd:n,onResize:r}){let o=e.defaultView,i=[],s=!1,l=null,a=new Map;function h(u,m,p){u.style[m]!==p&&(u.style[m]=p)}function d(){let u=new Set(i.map(m=>m.node.parentElement));for(let[m,p]of a)u.has(m)&&o?.Sortable?.get(m)===p.instance||(p.instance.option("draggable")===p.selector&&p.instance.option("draggable",p.original),a.delete(m));for(let m of u){let p=o?.Sortable?.get(m);if(!p)continue;let v=p.option("draggable");if(a.get(m)?.selector===v)continue;let A=v,L=`${A.trim().startsWith(">")?"> ":""}:is(${A.trim().replace(/^>\s*/,"")}):not(${Zd})`;p.option("draggable",L),a.set(m,{instance:p,original:A,selector:L})}}function b(){for(let u of i){let{node:m,slot:p,list:v}=u,A=v.items.filter(M=>M.isConnected).map(M=>M.getBoundingClientRect()).filter(M=>M.width>0&&M.height>0);A.length&&(u.width=A.reduce((M,L)=>M+L.width,0)/A.length,u.height=A.reduce((M,L)=>M+L.height,0)/A.length),h(m,"width",u.width?`${Math.round(u.width)}px`:"100%"),h(p,"height",`${Math.max(48,Math.round(u.height||64))}px`),p!==m&&(p.colSpan=Math.max(1,...v.items.map(M=>[...M.children].reduce((L,H)=>L+(H.colSpan||1),0)))),m.hidden!==s&&(m.hidden=s)}d()}function f(u,m){let p=m.tagName,v=["TBODY","THEAD","TFOOT","TABLE"].includes(p),A=e.createElement(v?"tr":["UL","OL","MENU"].includes(p)?"li":"div");for(let B of[za,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])A.setAttribute(B,"");A.setAttribute("draggable","false"),A.setAttribute("contenteditable","false"),A.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let B of["light","dark"])A.classList.toggle(B,!!t?.classList.contains(B));let M=v?e.createElement("td"):A;M!==A&&(M.className="hcms-inline-ghost-cell",A.appendChild(M));let L=e.createElement("button");L.type="button",L.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",L.setAttribute("data-hcms-list-action","add"),L.innerHTML=`<span class="mirk-button__label">${$n("add")}<span>Add</span></span>`,M.appendChild(L);let H={node:A,slot:M,button:L,list:u,width:0,height:0};L.addEventListener("click",B=>{B.preventDefault(),B.stopPropagation(),n(H.list)});for(let B of["pointerdown","mousedown","touchstart","click"])A.addEventListener(B,te=>te.stopPropagation());return A.addEventListener("dragstart",B=>{B.preventDefault(),B.stopPropagation()}),H}return{setLists(u){let m=new Set(i),p=[],v=new Set(i.map(M=>M.node)),A=new Set;for(let M of u||[]){if(!M.container||!M.container.isConnected)continue;let{parent:L,anchor:H}=Qd(M);if(!L)continue;if(!A.has(L)){for(let re of L.querySelectorAll(`:scope > [${za}]`))v.has(re)||re.remove();A.add(L)}let B=i.find(re=>m.has(re)&&re.list.container===M.container&&re.list.path.join(".")===M.path.join("."))||f(M,L);m.delete(B),B.list=M,B.button.setAttribute("data-hcms-list",M.path.join(".")),B.button.setAttribute("aria-label",`Add to ${M.path.join(".")||"the list"}`);let te=H||M.items.filter(re=>re.parentElement===L).at(-1);te?te.nextSibling!==B.node&&te.after(B.node):B.node.parentElement!==L&&L.appendChild(B.node),p.push(B)}for(let M of m)M.node.remove();i=p,l?.disconnect(),!l&&typeof o?.ResizeObserver=="function"&&(l=new o.ResizeObserver(()=>{b(),r?.()}));for(let M of i)for(let L of M.list.items)l?.observe(L);b()},update:b,setHidden(u){s=!!u,b()},destroy(){l?.disconnect();for(let u of i)u.node.remove();i=[],d()}}}var Wa=[["move-up","Move up"],["move-down","Move down"]],eh={prefer:"corner",inset:0};function th(e,t){return t.width<=e.width&&t.height<=e.height}function Ka({doc:e,layerEl:t,onActivate:n,onListAction:r}){let o=e.defaultView,i=[],s=new Map,l=0,a=new Map,h=null,d=new Set,b=0,f=!1,u=null,m=null,p=null,v=null,A=new Map,M=!1,L=null,H=Va({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:te,onAdd:g=>r?.({action:"add",list:g,index:g.items.length})}),B=e.createElement("div");B.className="hcms-inline-highlight",B.hidden=!0,B.setAttribute("aria-hidden","true"),t.appendChild(B);function te(){if(!(b||!o)){if(typeof o.requestAnimationFrame!="function")return K();b=o.requestAnimationFrame(()=>{b=0,K()})}}let re=()=>p||v;function K(){if(!o)return;H.update();let g={width:o.innerWidth,height:o.innerHeight},y=re();for(let O of i){if(!O.visible){O.node.hidden=!0;continue}for(let ge of O.members)ge.node.hidden=M&&ge.kind!=="handle";O.node.hidden=!1;let _=O.el.getBoundingClientRect(),E=O.node.getBoundingClientRect(),I=E.width,N=O.kind==="row"&&!th(_,E);if(N&&O.el!==y){for(let ge of O.members)ge.kind==="row"&&(ge.node.hidden=!0);E=O.node.getBoundingClientRect()}if(O.members.every(ge=>ge.node.hidden)){O.node.hidden=!0;continue}let j=O.kind==="handle"?null:eh,{x:J,y:$}=as({anchor:_,handle:E,viewport:g,...j}),ce=O.members.find(ge=>ge.kind==="handle");if(N&&ce){let ge=ce.node.getBoundingClientRect(),ht=as({anchor:_,handle:ge,viewport:g}),ft=O.members.slice(O.members.indexOf(ce)+1).filter(ue=>!ue.node.hidden).reduce((ue,Ge)=>ue+Ge.node.getBoundingClientRect().width+2,0);J=Math.max(8+I,Math.min(g.width-8,ht.x+ge.width+ft))-E.width,$=ht.y}O.node.style.transform=`translate(${Math.round(J)}px, ${Math.round($)}px)`}if(L)if(!L.node.isConnected||L.node.closest("[hidden]"))C();else{let O=L.button.getBoundingClientRect(),_=L.menu.getBoundingClientRect();L.menu.style.left=`${Math.max(8,O.right-_.width)-O.left}px`,L.menu.style.right="auto",L.menu.style.top=O.bottom+6+_.height>g.height-8?"auto":"calc(100% + 6px)",L.menu.style.bottom=O.bottom+6+_.height>g.height-8?"calc(100% + 6px)":"auto"}xe(),u?.()}function W(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=A.get(y);if(O)return O}return null}function he(g){L&&!L.node.contains(g.target)&&C();let y=re();v=W(g.target),v&&t.contains(g.target)&&(p=null),re()!==y&&te()}function V(g){if(g.relatedTarget||!v)return;let y=re();v=null,re()!==y&&te()}function xe(){if(!m||B.hidden)return;let g=m.getBoundingClientRect();B.style.width=`${Math.round(g.width)}px`,B.style.height=`${Math.round(g.height)}px`,B.style.transform=`translate(${Math.round(g.left)}px, ${Math.round(g.top)}px)`}function We(){if(!o||typeof o.IntersectionObserver!="function"){for(let y of i)y.visible=!0;return}h||(h=new o.IntersectionObserver(y=>{let O=!1;for(let _ of y)for(let E of s.get(_.target)||[])E.visible!==_.isIntersecting&&(E.visible=_.isIntersecting,O=!0);O&&te()},{threshold:0}));let g=new Set(s.keys());for(let y of d)g.has(y)||h.unobserve(y);for(let y of g)d.has(y)||h.observe(y);d=g}function at(){f||!o||(o.addEventListener("scroll",te,{passive:!0,capture:!0}),o.addEventListener("resize",te,{passive:!0}),e.addEventListener("focusin",he),e.addEventListener("focusout",V),e.addEventListener("pointerdown",G,!0),e.addEventListener("keydown",ye,!0),f=!0)}function Nt(){!f||!o||(o.removeEventListener("scroll",te,{capture:!0}),o.removeEventListener("resize",te),e.removeEventListener("focusin",he),e.removeEventListener("focusout",V),e.removeEventListener("pointerdown",G,!0),e.removeEventListener("keydown",ye,!0),f=!1)}function xt(g){return`${g.kind}\0${g.attr||""}`}function _e(g,y){return g.container===y.container&&g.scalar===y.scalar}function dt(g,y){return g.kind!==y.kind?!1:g.kind==="handle"?xt(g.target)===xt(y.target):g.kind==="row"?g.row===y.row&&_e(g.list,y.list):_e(g.list,y.list)}function Ze(g,y){g.target=y;let O=y.path.join(".");g.node.setAttribute("data-hcms-target",O),y.icon?g.node.setAttribute("data-hcms-icon",y.icon):g.node.removeAttribute("data-hcms-icon"),g.node.setAttribute("aria-label",`Edit ${O}`)}function Rt(g){let y=e.createElement("button");y.type="button",y.className="hcms-inline-handle mirk-button mirk-button--small",y.innerHTML=`<span class="mirk-button__label">${$n("edit")}</span>`;let O={node:y,kind:"handle",target:g};return Ze(O,g),y.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),n?.(O.target,y)}),O}function nt(g,y){let O=e.createElement("button");return O.type="button",O.className="hcms-inline-list-button mirk-button mirk-button--small",O.setAttribute("data-hcms-list-action",g),O.setAttribute("aria-label",y),O.innerHTML=`<span class="mirk-button__label">${$n(g)}${g==="add"?"<span>Add</span>":""}</span>`,O}function Qe(g,{list:y,row:O,rowIndex:_,count:E}){let I=y.path.join(".");g.list=y,g.row=O,g.index=_,g.count=E,g.node.setAttribute("data-hcms-list",I),g.node.setAttribute("data-hcms-row",String(_));for(let N of g.node.querySelectorAll("[data-hcms-list-action]")){let j=N.getAttribute("data-hcms-list-action"),J=Wa.find(([$])=>$===j)?.[1]||j;N.setAttribute("aria-label",`${J} ${I}.${_}`),N.disabled=j==="move-up"&&_===0||j==="move-down"&&_===E-1}}function ct(g,y,O,_){let E=e.createElement("div");E.className="hcms-inline-row-controls";let I={node:E,kind:"row",list:g,row:y,index:O,count:_};for(let[N,j]of Wa){let J=nt(N,j);J.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),!J.disabled&&r?.({action:N,list:I.list,index:I.index,row:I.row})}),E.appendChild(J)}return Qe(I,{list:g,row:y,rowIndex:O,count:_}),I}function C(g=!1){if(!L)return;let y=L;L=null,y.menu.hidden=!0,y.button.setAttribute("aria-expanded","false"),y.node.parentElement?.classList.remove("has-open-settings"),g&&y.button.isConnected&&y.button.focus({preventScroll:!0})}function G(g){L&&!L.node.contains(g.target)&&C()}function ye(g){L&&(g.key==="Escape"?(g.preventDefault(),g.stopPropagation(),C(!0)):g.key==="Tab"?C(!0):["ArrowDown","ArrowUp","Home","End"].includes(g.key)&&L.menu.contains(g.target)&&(g.preventDefault(),L.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function se(g,{list:y,row:O,rowIndex:_}){Object.assign(g,{list:y,row:O,index:_}),g.node.setAttribute("data-hcms-list",y.path.join(".")),g.node.setAttribute("data-hcms-row",String(_)),g.button.setAttribute("aria-label",`Settings ${y.path.join(".")}.${_}`)}function Ce(g){let y=e.createElement("div");y.className="hcms-inline-settings";let O=nt("settings","Settings");O.setAttribute("aria-haspopup","menu"),O.setAttribute("aria-expanded","false");let _=e.createElement("div");_.className="hcms-inline-settings-menu",_.setAttribute("role","menu"),_.setAttribute("aria-label","Item settings"),_.hidden=!0;let E=e.createElement("button");E.type="button",E.setAttribute("role","menuitem"),E.setAttribute("data-hcms-list-action","remove"),E.textContent="Delete",_.appendChild(E),y.append(O,_);let I={node:y,button:O,menu:_,kind:"settings"};se(I,g);let N=()=>{C(),L=I,_.hidden=!1,O.setAttribute("aria-expanded","true"),y.parentElement.classList.add("has-open-settings"),E.focus({preventScroll:!0}),te()};return O.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),L===I?C(!0):N()}),O.addEventListener("keydown",j=>{(j.key==="ArrowDown"||j.key==="ArrowUp")&&(j.preventDefault(),N())}),E.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),C(!0),r?.({action:"remove",list:I.list,index:I.index,row:I.row})}),I}function rt(g,y){g.kind==="handle"?Ze(g,y.target):g.kind==="row"?Qe(g,y):g.kind==="settings"&&se(g,y)}function Ve(g,y,O,_,E){let I=y.get(O)?.find(N=>N.category===E);if(!I){I={el:O,category:E,members:[]},g.push(I);let N=y.get(O);N?N.push(I):y.set(O,[I])}I.members.push(_)}function Ke(g,y,O){let _=O.items||[];_.forEach((E,I)=>{Kr(E)&&(Ve(g,y,E,{kind:"row",list:O,row:E,rowIndex:I,count:_.length},"item"),Ve(g,y,E,{kind:"settings",list:O,row:E,rowIndex:I},"item"))})}function et(g,y){let O=new Set(g.members),_=[];for(let E of y){let I=g.members.find(N=>O.has(N)&&dt(N,E))||(E.kind==="handle"?Rt(E.target):E.kind==="row"?ct(E.list,E.row,E.rowIndex,E.count):Ce(E));O.delete(I),rt(I,E),M&&I.kind!=="handle"&&(I.node.hidden=!0),_.push(I)}for(let E of O)E===L&&C(),E.node.remove();_.sort((E,I)=>["row","handle","settings"].indexOf(E.kind)-["row","handle","settings"].indexOf(I.kind)),_.forEach((E,I)=>{g.node.children[I]!==E.node&&g.node.insertBefore(E.node,g.node.children[I]||null)}),g.members=_}function ut(g,y){let O=[],_=new Map,E=new Map,I=0;for(let $ of g||[])E.has($.el)||E.set($.el,$),!($.kind!=="handle"||!Kr($.el))&&(Ve(O,_,$.el,{kind:"handle",target:$},"item"),I++);for(let $ of y||[])Ke(O,_,$);let N=new Set(i),j=new Map;for(let $ of i)j.has($.el)||j.set($.el,$.visible);let J=[];for(let $ of O){let ce=i.find(ge=>N.has(ge)&&ge.el===$.el&&ge.category===$.category);if(!ce){let ge=e.createElement("div");ge.className="hcms-inline-item-controls",ge.setAttribute("role","group"),ce={el:$.el,node:ge,category:$.category,kind:$.category==="add"?"add":"handle",members:[],visible:j.get($.el)??!1},t.appendChild(ge)}N.delete(ce),ce.el=$.el,ce.category=$.category,et(ce,$.members),ce.kind=ce.members.some(ge=>ge.kind==="row")?"row":ce.members.some(ge=>ge.kind==="handle")?"handle":"add",ce.node.setAttribute("aria-label",ce.category==="add"?"List controls":"Item controls"),J.push(ce)}for(let $ of N)$.node.remove();i=J,s=new Map,A=new Map;for(let $ of i){let ce=s.get($.el);ce?ce.push($):s.set($.el,[$]);for(let ge of $.members)ge.kind!=="row"&&ge.kind!=="settings"||(A.set(ge.row,ge.row),A.set(ge.node,ge.row),A.set($.node,ge.row))}p&&!A.has(p)&&(p=null),v&&!A.has(v)&&(v=null),a=E,l=I}function k(){C(),h?.disconnect(),h=null,d=new Set;for(let g of i)g.node.remove();i=[],s=new Map,a=new Map,A=new Map,l=0}return{setTargets(g,y){ut(g,y),H.setLists(y),We(),at(),te()},refresh:te,get count(){return l},get controlsHidden(){return M},setControlsHidden(g){if(M=!!g,H.setHidden(M),M){C();for(let y of i){for(let O of y.members)O.kind!=="handle"&&(O.node.hidden=!0);y.members.every(O=>O.node.hidden)&&(y.node.hidden=!0)}}te()},elementToTarget(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=a.get(y);if(O)return O}return null},setHoveredRow(g){let y=re();p=g?W(g):null,re()!==y&&te()},showHighlight(g){g&&(m=g,B.hidden=!1,xe())},hideHighlight(){m=null,B.hidden=!0},setFollower(g){u=typeof g=="function"?g:null},destroy(){H.destroy(),b&&o&&o.cancelAnimationFrame(b),b=0,u=null,m=null,p=null,v=null,B.remove(),Nt(),k()}}}var nh="hypercms-inline",Jr="is-hcms-inline-active",cs="is-hcms-inline-onpath",Ga='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',rh=["bold","italic","link","undo","redo"],oh=/^H[1-6]$/,ih=0;function Ja({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null,i=null,s=null,l=new Map,a=null,h=null,d=null;function b(f,u,m,p,v){let A=dr(e.defaultView);if(typeof A!="function")return null;let M=v||{},L=M.originalHTML??ls(u,{capability:"history"}).html(),H=M.richClayIsOurs??!u.hasAttribute("data-richclay"),B=M.adopted??u.getAttribute("data-richclay-active")==="true",te=Yr(u,p,"history"),re=sh(f,A,u,p,H);if(!re)return null;ca(u,p==="innerHTML",H);let K=String(++ih);u.setAttribute(_n,K),Wo();let W={el:u,editor:re,path:m,prop:p,boundId:K,originalHTML:L,oldValue:te,richClayIsOurs:H,adopted:B,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(u,W),sa(K,W);let he=re.squire;if(he&&typeof he.addEventListener=="function"){let xe=()=>{W.dirty=!0,W.lastEdited=Yr(u,W.prop,"history"),lh(f,W)};he.addEventListener("input",xe),W.detachInput=()=>he.removeEventListener?.("input",xe)}let V=()=>Za(W);return u.addEventListener("blur",V),W.detachBlur=()=>u.removeEventListener("blur",V),W}return{name:"inline",richText:r,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(f){return r?ha(f,t):f},bindText(f,u,m,p){return b(this.ctx,f,u,m,p)},mount(f){let u=this.ctx;o=dh(e,n.theme),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl,this.handoffEl=o.handoffEl,this.handoffCountEl=o.handoffCountEl,this.popEl=o.popEl,vn(()=>Wr(e));let m=ar({pageRules:u.pageRules,formRules:u.formRules,data:f,doc:e});o.formRoot.appendChild(m),u.seeder.seed(o.formRoot),Cn(o.formRoot,e,this.enhanceFormRichText),yr(u),Lo(u),i=Ka({doc:e,layerEl:o.layerEl,onActivate:(p,v)=>this.activate(p,v),onListAction:p=>this.listAction(p)}),i.setFollower(()=>this.placePopover()),o.closeEl.addEventListener("click",()=>this.deactivate()),o.toggleEl.addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),this.toggleControls()}),o.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),u.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:f,list:u,index:m,row:p}){let v=this.ctx,A=u.path.join("."),M=v.formRoot.querySelector(`[data-hcms-path="${gr(A)}"]`);if(!M)return;if(f==="add"){zr(A,v);return}let L=p?mh(v,A,p):m;if(L===-1)return;let H=hh(M,L);if(H){if(f==="remove"){Yi(H,v),this.syncTargets();return}Gi(H,f==="move-up"?-1:1,v),this.syncTargets()}},toggleControls(){if(!i||!o)return;let f=!i.controlsHidden;i.setControlsHidden(f),o.toggleEl.setAttribute("aria-pressed",String(f));let u=o.toggleEl.querySelector(".mirk-button__label");u&&(u.textContent=f?"Show controls":"Hide controls")},bindPage(){let f=this.ctx.pageRoot,u=o.root,m=H=>{let B=i&&i.elementToTarget(H.target);B?i.showHighlight(B.el):i?.hideHighlight(),i?.setHoveredRow(H.target)},p=()=>{i?.hideHighlight(),i?.setHoveredRow(null)},v=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);!B||B.kind!=="text"||l.has(B.el)||b(this.ctx,B.el,B.path.join("."),Go(B))},A=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);if(!B){this.deactivate();return}(typeof H.target.closest=="function"&&H.target.closest("a[href]")||B.kind!=="text")&&H.preventDefault(),this.activate(B)},M=H=>{H.key==="Escape"&&this.deactivate()},L=H=>{let B=H.detail;if(!(!B||B.pageRoot!==this.ctx.pageRoot||!B.path))for(let te of l.values())te.path===B.path&&(te.written=!0)};f.addEventListener("pointerover",m),f.addEventListener("pointerleave",p),f.addEventListener("pointerdown",v),f.addEventListener("click",A),u.addEventListener("keydown",M),e.addEventListener("hcms:change",L),s=()=>{f.removeEventListener("pointerover",m),f.removeEventListener("pointerleave",p),f.removeEventListener("pointerdown",v),f.removeEventListener("click",A),u.removeEventListener("keydown",M),e.removeEventListener("hcms:change",L)}},activate(f,u){if(!f||!o||f.kind==="text"&&this.activateText(f))return;let m=Ya(this,o,f.path.join("."));if(!m){this.deactivate();return}a=f,h=u||null,d=null,o.popEl.hidden=!1,o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover(),fh(m)},activateText(f){let u=f.el,m=l.get(u);if(m)return Ko(m),!0;let p=b(this.ctx,u,f.path.join("."),Go(f));return p?(Ko(p),!0):!1},placePopover(){if(!o||!a||o.popEl.hidden)return;let f=e.defaultView;if(!f)return;let u={width:f.innerWidth,height:f.innerHeight},m=a.el.getBoundingClientRect(),p=o.popEl.getBoundingClientRect(),{mode:v,x:A,y:M}=qa({anchor:m,bar:p,viewport:u,current:d});d=v,o.popEl.style.transform=`translate(${Math.round(A)}px, ${Math.round(M)}px)`},deactivate(){if(!o||!a&&o.popEl.hidden)return;o.popEl.hidden=!0,ec(o.root);let f=h;if(a=null,h=null,d=null,f&&e.contains(f)&&typeof f.focus=="function")try{f.focus({preventScroll:!0})}catch{f.focus()}},syncTargets(){if(!i)return;let f=this.ctx,{targets:u,lists:m}=is(f.pageRoot,f.pageRules);i.setTargets(u,m);let p=ah(this,l,u,e);if(a){let A=p.get(a.el)||[],M=A.find(L=>ch(L,a))||A.find(L=>L.path.join(".")===a.path.join("."))||(A.length===1?A[0]:null);M?a=M:this.deactivate()}uh(this.ctx,l,e);let v=u.reduce((A,M)=>A+(Kr(M.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=v===0?"":`${v} ${v===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=v===0)},refresh(f,u){f==="livesync"?(Rn(e),Wr(e),Mn(this.ctx,{ignoreActiveValue:!0})):f==="undo"?Mn(this.ctx,{ignoreActiveValue:!1}):Mn(this.ctx),this.syncTargets(),(f==="livesync"||f==="undo")&&this.rebindText(f),this.restoreActive()},rebindText(f){let u=f!=="undo";for(let[m,p]of[...l]){if(!e.contains(m)){Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);continue}if(m.hasAttribute(dn)){let M=Yr(m,p.prop);M!==p.lastEdited&&(p.oldValue=M,p.lastEdited=void 0);continue}let v=e.activeElement===m;Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);let A=b(this.ctx,m,p.path,p.prop,{richClayIsOurs:p.richClayIsOurs,adopted:p.adopted});A&&v&&Ko(A)}},restoreActive(){if(!o||!a||o.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!Ya(this,o,a.path.join("."))){this.deactivate();return}o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){h=null,this.deactivate();for(let f of l.values())Xr(this.ctx,f);l.clear(),s?.(),s=null,i?.destroy(),i=null,o?.destroy(),o=null,es(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function sh(e,t,n,r,o){return vn(()=>{let i=null;try{i=new t(n,{inline:!0,hyperclay:!1,toolbar:r==="innerHTML"?rh:!1,...oh.test(n.tagName)?{singleLine:!0}:null})}catch(s){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",s),null}if(i.unsupported||!i.active){if(o)try{i.destroy()}catch{}return null}return typeof i.reattach=="function"&&i.reattach(),i})}function lh(e,{path:t,el:n,prop:r}){let o=Io(e.formRoot,t);o&&(jo(o,Yr(n,r),e.formRoot,t),tn(Gt(e),{path:t,structural:!1},e))}function Yr(e,t,n="data"){let r=ls(e,{capability:n});return t==="innerHTML"?r.html():r.text().trim()}function Za(e){let{el:t,prop:n,oldValue:r,lastEdited:o}=e,i=o;if(i===void 0||i===r)return;e.oldValue=i;let s=It("undo");if(!s||typeof s.recordValue!="function")return;let l={prop:n,oldValue:r,newValue:i,read:a=>Yr(a,n,"history"),write:(a,h)=>Qa(a,n,h)};s.isPaused?queueMicrotask(()=>{t.isConnected&&s.recordValue(t,l)}):s.recordValue(t,l)}function Qa(e,t,n){let r=e.cloneNode(!1);t==="innerHTML"?r.innerHTML=n:r.textContent=n,Tn(e,Array.from(r.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function Xr(e,t,{restore:n=!0,record:r=!0}={}){r&&Za(t),t.detachInput?.(),t.detachBlur?.(),vn(()=>{if(!t.adopted){try{t.editor.destroy()}catch(o){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",o)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(dn),t.el.removeAttribute(Bn),t.el.removeAttribute(_n),la(t.boundId),n&&t.restorable()&&Qa(t.el,"innerHTML",t.originalHTML)})}function Ko(e){let{editor:t,el:n}=e;if(n.ownerDocument.activeElement!==n)try{typeof t.focus=="function"?t.focus():n.focus()}catch{}}function ah(e,t,n,r){let o=new Map;for(let i of n){let s=o.get(i.el);s?s.push(i):o.set(i.el,[i])}for(let[i,s]of[...t]){let l=o.get(i)||[],a=l.find(f=>Go(f)===s.prop)||l[0];if(!a){Xr(e.ctx,s,{restore:!0}),t.delete(i);continue}s.path=a.path.join(".");let h=Go(a);if(h===s.prop)continue;let d=r.activeElement===i;Xr(e.ctx,s,{restore:!1}),t.delete(i);let b=e.bindText(i,s.path,h,{richClayIsOurs:s.richClayIsOurs,adopted:s.adopted,originalHTML:s.originalHTML});b&&d&&Ko(b)}return o}function ch(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Go(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function uh(e,t,n){for(let r of e.pageRoot.querySelectorAll(`[${dn}]`))t.has(r)||vn(()=>fa(r,n.defaultView))}function Ya(e,t,n){let r=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${gr(n)}"]`);if(ec(t.root),!r)return null;let o=r.closest("[data-hcms-card]"),i=o?[...o.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(s=>s.closest("[data-hcms-card]")===o&&s.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===o.parentElement.closest('[data-hcms-shape="object-array"]')):[r];i.includes(r)||i.push(r);for(let s of i){s.classList.add(Jr),s.removeAttribute("draggable");for(let l=s.parentElement;l&&(l.classList.add(cs),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return r}function ec(e){if(e)for(let t of e.querySelectorAll(`.${Jr}, .${cs}`))t.classList.remove(Jr,cs)}function Xa(e){e.tagName==="TEXTAREA"&&hr(e),e.querySelectorAll?.("textarea").forEach(hr)}function fh(e){let t=e.matches?.(Ga)?e:e.querySelector?.(Ga);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function dh(e,t){Rn(e);let n=e.createElement(nh),r=t==="dark"?" dark":t==="light"?" light":"";return n.className="hcms-shell pixel-quiet hcms-inline"+r,n.setAttribute("data-hcms-shell",""),n.setAttribute("editor-ui",""),n.setAttribute("no-save",""),n.setAttribute("save-remove",""),n.setAttribute("snapshot-remove",""),n.setAttribute("no-watch",""),n.setAttribute("tabindex","-1"),n.innerHTML=`
181
+ <div class="hcms-inline-bar">
182
+ <div class="hcms-inline-handoff" hidden>
183
+ <span class="hcms-inline-handoff-count"></span>
184
+ <button type="button" class="hcms-inline-handoff-open mirk-button mirk-button--small" data-hcms-open-view="sidebar">
185
+ <span class="mirk-button__label">Edit in the sidebar</span>
186
+ </button>
187
+ </div>
188
+ <button type="button" class="hcms-inline-toggle mirk-button mirk-button--small" data-hcms-controls-toggle aria-pressed="false" hidden>
189
+ <span class="mirk-button__label">Hide controls</span>
190
+ </button>
191
+ <div class="hcms-inline-notice" role="status" hidden></div>
192
+ <div class="hcms-inline-error" role="alert" hidden></div>
193
+ </div>
194
+ <div class="hcms-inline-layer"></div>
195
+ <div class="hcms-inline-pop" role="dialog" aria-label="Edit content" hidden>
196
+ <div class="hcms-inline-pop-header">
197
+ <span>Edit content</span>
198
+ <button type="button" class="hcms-inline-pop-close mirk-button mirk-button--small" aria-label="Close field editor">
199
+ <span class="mirk-button__label">${$n("remove")}</span>
200
+ </button>
201
+ </div>
202
+ <div data-hcms-form-root class="hcms-form"></div>
203
+ </div>
204
+ `,e.body.appendChild(n),{root:n,formRoot:n.querySelector("[data-hcms-form-root]"),noticeEl:n.querySelector(".hcms-inline-notice"),errorEl:n.querySelector(".hcms-inline-error"),handoffEl:n.querySelector(".hcms-inline-handoff"),handoffCountEl:n.querySelector(".hcms-inline-handoff-count"),layerEl:n.querySelector(".hcms-inline-layer"),popEl:n.querySelector(".hcms-inline-pop"),closeEl:n.querySelector(".hcms-inline-pop-close"),toggleEl:n.querySelector("[data-hcms-controls-toggle]"),destroy(){n.remove()}}}function hh(e,t){let n=e.querySelector(".hcms-array-items");return n&&n.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function mh(e,t,n){let{lists:r}=is(e.pageRoot,e.pageRules),o=r.find(i=>i.path.join(".")===t);return o?o.items.indexOf(n):-1}var ph="[hypercms]";function tc(e,t){if(!e||!e.querySelectorAll||!t)return;let n=gh(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(o=>{let i=o.getAttribute("data-hcms-tpl");i&&(i.startsWith("@")||n.has(i)||console.warn(`${ph} template "${i}" doesn't match any rule path; ignored`))})}function gh(e){let t=new Set;return n([],e),t;function n(r,o){let i=r.join("."),s=r.map(a=>typeof a=="number"?"*":a).join(".");i&&t.add(i),s&&t.add(s);let l=qn(o);if(l==="object")for(let[a,h]of Object.entries(o))n([...r,a],h);else if(l==="object-array"||l==="scalar-array"){let a=[...r,"*"],h=a.map(d=>typeof d=="number"?"*":d).join(".");if(t.add(h),l==="object-array"){let d=o[1];if(d&&typeof d=="object"&&!Array.isArray(d))for(let[b,f]of Object.entries(d))n([...a,b],f)}}}}var rc={skip:"[data-hcms-shell]",templateAttr:"cms-template"},He={isOpen:!1,ctx:null,opts:null};function oc({view:e,doc:t,pageRoot:n,opts:r={},onCloseRequested:o,onViewRequested:i}){let s=r.rules!==void 0?r.rules:"cms",l=Vt.findRules(t,s);if(!l){let v=typeof s=="string"?`data-rules-name~="${s}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${v}`)}let a=e.prepareRules(l.rules),h=l.tagNode;xo(t),To(t,a),tc(t,a);let d=_o(a,t),b=Ho(a),f=Bo(n,a),u=bo(),m=Nn(Vt.extract(n,a,{...rc,...u.hooks}),a),p={doc:t,pageRoot:n,pageRules:a,writeRules:b,formRules:d,rulesTagNode:h,rulesSource:s,richText:e.richText,view:e,seeder:u,initialData:m,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:f,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:r.onChange,onError:r.onError,confirmRemove:r.confirmRemove,previouslyFocused:t.activeElement,dispatch(v,A){let M=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!M)return;let L={...A||{},pageRoot:n,view:e.name},H=new M(v,{bubbles:!0,cancelable:v==="hcms:change",detail:L});(e.root&&e.root.isConnected!==!1?e.root:n).dispatchEvent(H)},onCloseRequested:o,onViewRequested:i};return p.updateFingerprint=()=>{p.lastFingerprint=Vr(Gt(p))},e.ctx=p,p}function ic(e){e.updateFingerprint(),e.observerHandle=Ca({onRefresh:r=>e.view.refresh("observer",r)});let t=It("undo");if(t&&typeof t.on=="function"){let r=()=>{if(He.ctx!==e)return;nc(e,"undo");let o=Nn(Vt.extract(e.pageRoot,e.pageRules,rc),e.pageRules);Vr(o)!==Vr(e.lastData)&&(e.lastData=o,e.onChange?.(o,{path:"",structural:!1}))};t.on("undo",r),t.on("redo",r),e.undoUnsub=()=>{t.off("undo",r),t.off("redo",r)}}let n=()=>nc(e,"livesync");e.livesyncUnsub=fr(e.doc,oa,n),fs.ctx=e,kh(e.doc)}function nc(e,t){He.ctx===e&&e.view.refresh(t)}function Yo(e,{dispatch:t=!0,restoreFocus:n=!0,updateUrl:r=!0,reason:o="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let s of e.uploads||[])try{s.abort()}catch{}e.uploads?.clear();let i=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:o}),r&&yh(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),vn(()=>e.view.destroy()),bh(),n&&typeof i?.focus=="function")try{i.focus()}catch{}}function bh(){He.isOpen=!1,He.ctx=null,He.opts=null,fs.ctx=null}var fs={ctx:null};function kh(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let n=function(){let o=fs.ctx;if(o)return Do(o.formRoot),Hn("Reorder",()=>tn(Gt(o),{path:"",structural:!0},o))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=n),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=n)}var us="cms";function sc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);if(!r)return t;let o=new URLSearchParams(r);return o.get(us)!=="true"?t:(o.set(us,"false"),"?"+o.toString())}function lc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);return r?new URLSearchParams(r).get(us)==="true":!1}function yh(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=sc(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var ac="hcms-toggle",pt="data-hcms-toggle-host",cc="hcms-toggle-style",uc="data-hcms-toggle-style",Xo="data-hcms-session",bc="data-hcms-split",kc="hcms.view",Jo=["sidebar","inline"],xh={sidebar:"In the sidebar",inline:"On the page"},ms="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function fc(e){try{let t=e&&e.localStorage?e.localStorage.getItem(kc):null;return Jo.includes(t)?t:null}catch{return null}}function vh(e,t){if(Jo.includes(t))try{e?.localStorage?.setItem(kc,t)}catch{}}var wh="#fafafa",Ah="#0a0a0a",Sh=`
205
+ [${pt}] {
206
+ all: unset;
207
+ box-sizing: border-box;
208
+ display: var(--hcms-toggle-display, inline-flex);
209
+ font-family: 'Departure Mono', ui-monospace, Menlo, monospace;
210
+ --hcms-toggle-_surface: ${wh};
211
+ }
212
+ [${pt}][data-hcms-surface="dark"] {
213
+ --hcms-toggle-_surface: ${Ah};
214
+ }
215
+ [${pt}] .hcms-toggle__main,
216
+ [${pt}] .hcms-toggle__arrow {
217
+ all: unset;
218
+ box-sizing: border-box;
219
+ display: inline-flex;
220
+ align-items: center;
221
+ gap: 7px;
222
+ padding: 0 14px;
223
+ min-height: 40px;
224
+ font-family: inherit;
225
+ font-weight: 400;
226
+ line-height: 1.5;
227
+ font-size: 14px;
228
+ color: var(--hcms-toggle-color, currentColor);
229
+ border: 2px solid;
230
+ border-color: var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8);
231
+ border-radius: 0;
232
+ cursor: pointer;
233
+ box-shadow: none;
234
+ }
235
+ [${pt}] .hcms-toggle__main:hover,
236
+ [${pt}] .hcms-toggle__arrow:hover {
237
+ border-color: var(--mirk-focus-color, #C7AE93);
238
+ box-shadow: none;
239
+ }
240
+ [${pt}] .hcms-toggle__main:active,
241
+ [${pt}] .hcms-toggle__arrow:active {
242
+ border-color: var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF);
243
+ }
244
+ [${pt}] .hcms-toggle__main:focus-visible,
245
+ [${pt}] .hcms-toggle__arrow:focus-visible {
246
+ outline: 2px solid currentColor;
247
+ outline-offset: -5px;
248
+ }
249
+ [${pt}] .hcms-toggle__close { display: none; }
250
+ [${pt}][${Xo}="open"] .hcms-toggle__open { display: none; }
251
+ [${pt}][${Xo}="open"] .hcms-toggle__close { display: inline; }
252
+ [${pt}][${bc}] .hcms-toggle__main {
253
+ border-radius: 0;
254
+ padding-right: 12px;
255
+ }
256
+ [${pt}] .hcms-toggle__arrow {
257
+ gap: 0;
258
+ padding: 0 10px;
259
+ border-radius: 0;
260
+ border-left-width: 0;
261
+ }
262
+ [${pt}] .hcms-toggle__menu {
263
+ all: unset;
264
+ box-sizing: border-box;
265
+ min-width: 180px;
266
+ padding: 4px;
267
+ font-family: inherit;
268
+ font-size: 14px;
269
+ line-height: 1.5;
270
+ color: var(--hcms-toggle-color, currentColor);
271
+ background: ${ms};
272
+ border: 1px solid var(--mirk-input-border, #D8C8AF);
273
+ border-radius: var(--mirk-radius, 5px);
274
+ box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45);
275
+ }
276
+ [${pt}] .hcms-toggle__item {
277
+ all: unset;
278
+ box-sizing: border-box;
279
+ display: block;
280
+ width: 100%;
281
+ padding: 9px 10px;
282
+ border-radius: 0;
283
+ cursor: pointer;
284
+ }
285
+ [${pt}] .hcms-toggle__item::before {
286
+ content: "\u25CB";
287
+ margin-right: 8px;
288
+ opacity: .55;
289
+ }
290
+ [${pt}] .hcms-toggle__item[aria-checked="true"]::before {
291
+ content: "\u25CF";
292
+ opacity: 1;
293
+ }
294
+ [${pt}] .hcms-toggle__item:hover {
295
+ background: color-mix(in srgb, currentColor 12%, transparent);
296
+ }
297
+ [${pt}] .hcms-toggle__item:focus-visible {
298
+ outline: 2px solid currentColor;
299
+ outline-offset: -3px;
300
+ }
301
+ @media (pointer: coarse) {
302
+ [${pt}] .hcms-toggle__main,
303
+ [${pt}] .hcms-toggle__arrow { min-height: 44px; }
304
+ }
305
+ `;function Th({search:e="",cookie:t="",forced:n=null}={}){let r=typeof e=="string"?e:"",o=r.indexOf("?"),i=o===-1?r:r.slice(o+1),s=new URLSearchParams(i).get("editmode");return s?s==="true":n!=null?!!n:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var ds=new WeakMap;function yc(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let n=e.getImageData(0,0,1,1).data;return{r:n[0],g:n[1],b:n[2],a:n[3]/255}}catch{return null}}function Eh(e){if(ds.has(e))return ds.get(e);let t=null;try{let n=e.createElement("canvas");if(n.width=n.height=1,t=n.getContext?n.getContext("2d",{willReadFrequently:!0}):null,t){let r=yc(t,"rgb(1, 2, 3)");(!r||r.r!==1||r.g!==2||r.b!==3||r.a!==1)&&(t=null)}}catch{t=null}return ds.set(e,t),t}function _h(e,t){let n=String(e??"").trim();if(!n)return null;let r=Ch(n);if(r)return r;let o=t&&t.defaultView;if(!o||!o.CSS||typeof o.CSS.supports!="function"||!o.CSS.supports("color",n))return null;let i=Eh(t);return i?yc(i,n):null}function Ch(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let n=t[1].split(/[\s,/]+/).filter(Boolean);if(n.length<3)return null;let r=n.slice(0,3).map(Number);if(r.some(Number.isNaN))return null;let o=n[3],i=o===void 0?1:o.endsWith("%")?Number(o.slice(0,-1))/100:Number(o);return{r:r[0],g:r[1],b:r[2],a:Number.isNaN(i)?1:i}}function dc({r:e,g:t,b:n}){let r=o=>{let i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function hc(e,t){let n=dc(e),r=dc(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}var mc={r:10,g:10,b:10},pc={r:250,g:250,b:250};function gc(e,t){let n=e.a==null?1:e.a;return{r:e.r*n+t.r*(1-n),g:e.g*n+t.g*(1-n),b:e.b*n+t.b*(1-n)}}function Oh(e){if(!e)return"light";let t=hc(gc(e,mc),mc),n=hc(gc(e,pc),pc);return t>n?"dark":"light"}function Zr(e,t){for(let[n,r]of Object.entries(t))e.style.setProperty(n,r,"important")}function hs(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,n=e.querySelector(".hcms-toggle__main");if(!t||!n||typeof t.getComputedStyle!="function")return;let r=_h(t.getComputedStyle(n).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Oh(r))}function Nh(e){hs(e);let t=e.ownerDocument,n=t&&t.defaultView;if(!n)return;let r=0,o=()=>{if(!r){if(typeof n.requestAnimationFrame!="function")return e.isConnected?hs(e):l();r=n.requestAnimationFrame(()=>{if(r=0,!e.isConnected)return l();hs(e)})}};typeof n.requestAnimationFrame=="function"&&o(),t.readyState!=="complete"&&n.addEventListener("load",o,{once:!0});let i=typeof n.MutationObserver=="function"?new n.MutationObserver(o):null;i&&(i.observe(t.documentElement,{attributes:!0}),t.body&&i.observe(t.body,{attributes:!0}));let s=typeof n.matchMedia=="function"?n.matchMedia("(prefers-color-scheme: dark)"):null;s&&typeof s.addEventListener=="function"&&s.addEventListener("change",o);function l(){i&&i.disconnect(),s&&typeof s.removeEventListener=="function"&&s.removeEventListener("change",o)}}function Rh({open:e,close:t,isOpen:n,getTheme:r=()=>null,views:o=Jo},i=document){let s=i.querySelector(`[${pt}]`);if(s)return s;if(!i.querySelector(`[${uc}]`)){let V=i.createElement("style");V.setAttribute(uc,""),V.setAttribute("editor-ui",""),i.getElementById(cc)||(V.id=cc),V.setAttribute("no-save",""),V.setAttribute("snapshot-remove",""),V.setAttribute("save-ignore",""),V.textContent=Sh,i.head.insertBefore(V,i.head.firstChild)}let l=i.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",i.getElementById(ac)||(l.id=ac),l.setAttribute(pt,""),l.setAttribute("editor-ui",""),l.setAttribute("no-save",""),l.setAttribute("snapshot-remove",""),l.setAttribute("save-ignore",""),l.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let a=i.defaultView,h=l.querySelector(".hcms-toggle__main"),d=Jo.filter(V=>o.includes(V)),b=d.length>1,f=b?Mh(i):null,u=b?Lh(i,d):null;b&&(l.setAttribute(bc,""),l.appendChild(f),l.appendChild(u)),Zr(l,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),Zr(h,{background:ms}),f&&Zr(f,{background:ms}),u&&Zr(u,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let m=()=>u?[...u.querySelectorAll('[role="menuitemradio"]')]:[];function p(V){if(!(!V||typeof V.focus!="function"))try{V.focus({preventScroll:!0})}catch{V.focus()}}function v(V){let xe=m();xe.length&&p(xe[(V+xe.length)%xe.length])}function A(){let V=fc(a);for(let xe of m())xe.setAttribute("aria-checked",String(xe.getAttribute("data-hcms-view")===V))}function M(V){l.contains(V.target)||B()}function L(V){u&&(u.hidden=!V,Zr(u,{display:V?"block":"none"}),f.setAttribute("aria-expanded",String(V)),V?(A(),i.addEventListener("pointerdown",M,!0)):i.removeEventListener("pointerdown",M,!0))}function H(V=0){L(!0),v(V)}function B({focusArrow:V=!1}={}){!u||u.hidden||(L(!1),V&&p(f))}function te(){let V=fc(a);return V&&d.includes(V)?V:null}async function re(V){await e({view:V}),vh(a,V)}async function K(){if(n()){t();return}let V=te();return V?e({view:V}):b?H():e(d[0]?{view:d[0]}:{})}async function W(V){try{await V()}catch(xe){console.warn("hypercms: toggle failed to open the CMS",xe)}}l.addEventListener("click",async V=>{f&&f.contains(V.target)||u&&u.contains(V.target)||await W(K)}),f&&(f.addEventListener("click",V=>{V.preventDefault(),u.hidden?H():B({focusArrow:!0})}),f.addEventListener("keydown",V=>{if(V.key==="ArrowUp"){V.preventDefault(),H(-1);return}(V.key==="ArrowDown"||V.key==="Enter"||V.key===" ")&&(V.preventDefault(),H(0))}),u.addEventListener("click",V=>{let xe=V.target.closest?.('[role="menuitemradio"]');xe&&(V.preventDefault(),B(),W(()=>re(xe.getAttribute("data-hcms-view"))))}),u.addEventListener("keydown",V=>{let xe=m(),We=xe.indexOf(i.activeElement);switch(V.key){case"ArrowDown":V.preventDefault(),v(We+1);break;case"ArrowUp":V.preventDefault(),v(We-1);break;case"Home":V.preventDefault(),v(0);break;case"End":V.preventDefault(),v(xe.length-1);break;case"Enter":case" ":if(V.preventDefault(),We===-1)break;B(),W(()=>re(xe[We].getAttribute("data-hcms-view")));break;case"Escape":V.preventDefault(),B({focusArrow:!0});break;case"Tab":B();break}}));let he=V=>{let xe=r();l.classList.toggle("light",xe==="light"),l.classList.toggle("dark",xe==="dark"),V?l.setAttribute(Xo,"open"):l.removeAttribute(Xo)};return he(n()),i.addEventListener("hcms:open",()=>he(!0)),i.addEventListener("hcms:close",()=>he(!1)),i.body.appendChild(l),Rn(i),Nh(l),l}function Mh(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function Lh(e,t){let n=e.createElement("div");n.className="hcms-toggle__menu",n.setAttribute("role","menu"),n.setAttribute("aria-label","Where to edit"),n.hidden=!0;for(let r of t){let o=e.createElement("button");o.type="button",o.className="hcms-toggle__item",o.setAttribute("role","menuitemradio"),o.setAttribute("aria-checked","false"),o.setAttribute("data-hcms-view",r),o.tabIndex=-1,o.textContent=xh[r],n.appendChild(o)}return n}function xc(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!Th({search:window.location.search,cookie:document.cookie,forced:t}))return;let n=()=>{document.body&&e.hasRules(document)&&Rh(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}function vc(e){if(va(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Rn(document)}}var gs={sidebar:Oa,inline:Ja};function Zo(e={}){let t=e.view||(He.isOpen?He.ctx.view.name:"sidebar"),n=gs[t];if(!n)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(gs).join(" or ")})`);let r=He.isOpen?{...He.opts,...e,view:t}:e,o=r.pageRoot||(typeof document<"u"?document.body:null);if(!o)throw new Error("hypercms: no pageRoot available");let i=o.ownerDocument||(typeof document<"u"?document:null);if(!i)throw new Error("hypercms: no document available");let s=null,l=null;if(He.isOpen){if(He.ctx.view.name===t)return;s=He.ctx.previouslyFocused,l=He.ctx.view.name,Yo(He.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Ua();let a=n({doc:i,pageRoot:o,opts:r}),h=oc({view:a,doc:i,pageRoot:o,opts:r,onCloseRequested:()=>bs(),onViewRequested:d=>Zo({view:d})});s&&(h.previouslyFocused=s);try{a.mount(h.initialData),ic(h),a.focusOnOpen(),He.isOpen=!0,He.ctx=h,He.opts=r,h.dispatch("hcms:open",{pageRoot:o,previous:l})}catch(d){throw Yo(h,{dispatch:!1,restoreFocus:!!s,updateUrl:!1}),d}}function bs(){He.isOpen&&Yo(He.ctx)}function wc(){He.isOpen&&He.ctx.view.refresh("api")}function Ih(){return He.isOpen}function jh(){return He.isOpen&&He.ctx?He.ctx.view.name:null}var Dh={getData(){return He.isOpen?Gt(He.ctx):null},setValue(e,t){if(!He.isOpen)throw new Error("hypercms: cms is not open");let n=He.ctx,r=yn(e),o=Fn(n.pageRules,r);if(o===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof o!="string"||o.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let i=Io(n.formRoot,e);if(!i)throw new Error(`hypercms: no field element at path "${e}"`);jo(i,t,n.formRoot,e),tn(Gt(n),{path:e,structural:!1},n)},addItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");zr(e,He.ctx)},removeItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");let t=He.ctx,n=yn(e);if(typeof n[n.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let o=Fn(t.pageRules,n.slice(0,-1));if(!(Array.isArray(o)||typeof o=="string"&&o.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let s=t.formRoot.querySelector(`[data-hcms-path="${Hh(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);mr(s,t)},refresh:wc,_commit(){if(!He.isOpen)return;let e=He.ctx;return Do(e.formRoot),Hn("Update",()=>tn(Gt(e),{path:"",structural:!0},e))}},Ph=250,Fh=1e4;function qh(){typeof window>"u"||typeof document>"u"||lc(window.location?window.location.search:"")&&(He.isOpen||Bh(()=>{if(!He.isOpen)try{Zo()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function ps(){return!!document.body&&!!It("Mutation")}function Bh(e){if(ps()){queueMicrotask(e);return}let t=Date.now()+Fh,n=!1,r=null,o=null,i=()=>{n||(n=!0,r!==null&&clearInterval(r),o&&o())};function s(){if(He.isOpen){i();return}ps()&&(i(),e())}o=fr(document,ra,s),r=setInterval(()=>{if(He.isOpen){i();return}if(ps()){i(),e();return}Date.now()>=t&&(i(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},Ph)}qh();xc({open:Zo,close:bs,isOpen:Ih,getTheme:()=>He.opts?.theme,views:Object.keys(gs),hasRules:e=>!!Vt.findRules(e,"cms")});var ks={open:Zo,close:bs,refresh:wc,api:Dh,get isOpen(){return He.isOpen},currentView:jh,path:ji,scaffold:Hr,morphForm:go};function Hh(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Ac=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
193
306
  Source of truth: mirk-interface/mirk.css + src/theme/pixel-quiet.overrides.css.
194
307
  Regenerate with: npm run build:theme */
195
308
 
@@ -1203,7 +1316,7 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
1203
1316
  /* =====================================================================
1204
1317
  Pixel Quiet \u2014 hypercms theme overrides (hypercms-owned).
1205
1318
 
1206
- Adapted from cms-sidebar/pixel-quiet/overrides.css. Two jobs:
1319
+ Adapted from ARCHIVE_PROJECTS/cms-sidebar/pixel-quiet/overrides.css. Two jobs:
1207
1320
  1. Retune --mirk-* tokens, scoped to .hcms-shell.pixel-quiet (never :root).
1208
1321
  2. Author the panel geometry + the functional chrome the static mockup
1209
1322
  doesn't have (error banner, add/remove/move controls, the engine's
@@ -1314,13 +1427,13 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
1314
1427
  position: fixed makes the shell a containing block so the absolute
1315
1428
  minibar anchors to it; flex column so the body owns the scroll.
1316
1429
  ============================================================ */
1317
- .hcms-shell.pixel-quiet {
1430
+ .hcms-shell.pixel-quiet.hcms-panel {
1318
1431
  box-sizing: border-box;
1319
1432
  position: fixed;
1320
1433
  top: 0;
1321
1434
  right: 0;
1322
1435
  bottom: 0;
1323
- width: 380px;
1436
+ width: var(--hcms-shell-width, 380px);
1324
1437
  max-width: 100vw;
1325
1438
  z-index: 2147483000;
1326
1439
  display: flex;
@@ -1330,7 +1443,7 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
1330
1443
  border-left: 1px solid var(--mirk-input-border);
1331
1444
  box-shadow: -16px 0 48px -28px rgba(43, 36, 27, 0.45);
1332
1445
  }
1333
- .hcms-shell.pixel-quiet.dark {
1446
+ .hcms-shell.pixel-quiet.hcms-panel.dark {
1334
1447
  box-shadow: -16px 0 48px -28px rgba(0, 0, 0, 0.6);
1335
1448
  }
1336
1449
 
@@ -1342,13 +1455,20 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
1342
1455
  box-shadow: 16px 0 48px -28px rgba(43, 36, 27, 0.45);
1343
1456
  }
1344
1457
 
1345
- /* Push the page over so docked content is never hidden underneath. */
1346
- body.hcms-open:not(.hcms-overlay) { padding-right: 380px; }
1347
- body.hcms-open.hcms-side-left:not(.hcms-overlay) { padding-right: 0; padding-left: 380px; }
1348
- body.hcms-open.hcms-overlay { overflow: hidden; }
1458
+ /* Push the page over so docked content is never hidden underneath, and publish
1459
+ the geometry the floating toggle has to compose with. --hcms-toggle-shift is
1460
+ the distance the toggle moves left, which is the shell width only while the
1461
+ shell is docked on the right; docked left, as an overlay, or full-viewport it
1462
+ is zero. */
1463
+ body.hcms-open { --hcms-shell-width: 380px; }
1464
+ body.hcms-open:not(.hcms-overlay) { padding-right: var(--hcms-shell-width); }
1465
+ body.hcms-open:not(.hcms-overlay):not(.hcms-side-left) { --hcms-toggle-shift: var(--hcms-shell-width); }
1466
+ body.hcms-open.hcms-side-left:not(.hcms-overlay) { padding-right: 0; padding-left: var(--hcms-shell-width); }
1467
+ body.hcms-open.hcms-overlay { overflow: hidden; --hcms-toggle-display: none; }
1349
1468
 
1350
1469
  @media (max-width: 799px) {
1351
- .hcms-shell.pixel-quiet { width: 100vw; }
1470
+ body.hcms-open { --hcms-shell-width: 100vw; }
1471
+ body.hcms-open:not(.hcms-overlay):not(.hcms-side-left) { --hcms-toggle-shift: 0px; }
1352
1472
  body.hcms-open:not(.hcms-overlay),
1353
1473
  body.hcms-open.hcms-side-left:not(.hcms-overlay) { padding-right: 0; padding-left: 0; }
1354
1474
  body.hcms-open { overflow: hidden; }
@@ -1725,6 +1845,7 @@ body.hcms-open.hcms-overlay { overflow: hidden; }
1725
1845
  .hcms-shell-notice {
1726
1846
  font-size: 12px;
1727
1847
  line-height: 1.45;
1848
+ white-space: pre-line;
1728
1849
  color: var(--mirk-mark-fg);
1729
1850
  background: var(--mirk-bevel-bg);
1730
1851
  border: 1px solid var(--mirk-input-border);
@@ -1791,4 +1912,290 @@ body.hcms-open.hcms-overlay { overflow: hidden; }
1791
1912
  cursor: pointer;
1792
1913
  }
1793
1914
  .hcms-sr-only[hidden] { display: none; }
1794
- `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",r=>{let n=r.target.closest(".mirk-number__step");if(!n)return;let i=n.closest(".mirk-number").querySelector("input[type=number]");i&&(n.dataset.step==="up"?i.stepUp():i.stepDown(),i.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",r=>{let n=r.target.closest(".mirk-slider__input");n&&n.closest(".mirk-slider").style.setProperty("--mirk-value",`${n.value}%`)}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-file__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-file"),o=i.querySelector(".mirk-file__name");if(!o)return;let s=n.files[0],a=document.createElement("a");if(a.className="mirk-file__name",a.dataset.filled="",a.href=URL.createObjectURL(s),a.target="_blank",a.rel="noopener",a.textContent=s.name,o.replaceWith(a),!i.querySelector(".mirk-file__remove")){let l=document.createElement("button");l.type="button",l.className="mirk-file__remove",l.setAttribute("aria-label","Remove file"),l.innerHTML=e,a.after(l)}}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-image__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-image"),o=i.querySelector(".mirk-image__preview");if(!o)return;let s=i.querySelector(".mirk-image__placeholder"),a=new FileReader;a.onload=l=>{o.src=l.target.result,o.removeAttribute("hidden"),s&&s.setAttribute("hidden",""),i.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),i.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},a.readAsDataURL(n.files[0])}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-file__remove");if(n){let o=n.closest(".mirk-file"),s=o?.querySelector(".mirk-file__input"),a=o?.querySelector(".mirk-file__name");if(s&&(s.value=""),a){let l=document.createElement("span");l.className="mirk-file__name",l.textContent="No file chosen",a.replaceWith(l)}n.remove();return}let i=r.target.closest(".mirk-image__remove");if(i){let o=i.closest(".mirk-image"),s=o?.querySelector(".mirk-image__input"),a=o?.querySelector(".mirk-image__preview");s&&(s.value=""),a&&(a.removeAttribute("src"),a.setAttribute("hidden","")),o?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),o?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(r,n){let i=document.createElement("span");i.textContent=r;let o=document.createElement("input");o.type="hidden",o.name="tags[]",o.value=r;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.textContent="\xD7";let a=document.createElement("span");if(a.className="mirk-tags__chip",n){let l=document.createElement("span");l.className="mirk-tags__chip-inner",l.append(i,o,s),a.append(l)}else a.append(i,o,s);return a}document.addEventListener("keydown",r=>{let n=r.target.closest(".mirk-tags__input");if(!n)return;let i=n.closest(".mirk-tags");if(r.key==="Enter"||r.key===","){let o=n.value.trim();if(!o)return;r.preventDefault(),n.before(t(o,i.classList.contains("mirk-tags--round"))),n.value=""}else if(r.key==="Backspace"&&!n.value){let o=i.querySelectorAll(".mirk-tags__chip");o[o.length-1]?.remove()}}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-tags__remove");if(n){n.closest(".mirk-tags__chip").remove();return}let i=r.target.closest(".mirk-tags");i&&r.target===i&&i.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",r=>{let n=r.target.closest("[data-mirk-chip]");if(!n)return;let i=n.getAttribute("data-mirk-chip");if(i==="open")n.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(i==="collapse")n.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(i==="changes"){let o=n.closest(".mirk-chip__panel")?.classList.toggle("is-changes");n.textContent=o?"(hide changes)":"(view changes)"}}),document.addEventListener("click",r=>{let n=r.target.closest("[data-copy-btn]");if(!n)return;let i=n.closest("[data-copy]");if(!i)return;let o=i.cloneNode(!0);o.querySelectorAll("[data-copy-btn]").forEach(l=>l.remove());let a=i.getAttribute("data-copy")==="text"?o.textContent.replace(/^\s+|\s+$/g,""):o.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(a).then(()=>{let l=n.textContent;n.textContent="copied",n.dataset.copied="",setTimeout(()=>{n.textContent=l,delete n.dataset.copied},1200)}).catch(()=>{n.textContent="error",setTimeout(()=>{n.textContent="copy"},1200)})})})();mi(pi);var la=Ar,ca={cms:Ar};return _i(ua);})();
1915
+
1916
+ /* ============================================================
1917
+ INLINE VIEW GEOMETRY \u2014 not a panel. A transparent full-viewport
1918
+ host whose children are the only interactive surfaces, so the page
1919
+ underneath stays fully usable while the editor is open.
1920
+ ============================================================ */
1921
+ .hcms-shell.pixel-quiet.hcms-inline {
1922
+ position: fixed;
1923
+ inset: 0;
1924
+ z-index: 2147483000;
1925
+ /* The host must never intercept a click meant for the page. Each child
1926
+ re-enables pointer events for itself. */
1927
+ pointer-events: none;
1928
+ background: none;
1929
+ border: 0;
1930
+ box-shadow: none;
1931
+ color: var(--mirk-fg);
1932
+ }
1933
+ .hcms-inline > *,
1934
+ .hcms-inline-layer > * { pointer-events: auto; }
1935
+ .hcms-inline-layer { position: absolute; inset: 0; pointer-events: none; }
1936
+
1937
+ .hcms-inline-bar {
1938
+ position: absolute;
1939
+ left: 50%;
1940
+ bottom: 16px;
1941
+ transform: translateX(-50%);
1942
+ max-width: min(560px, calc(100vw - 32px));
1943
+ display: flex;
1944
+ flex-direction: column;
1945
+ gap: 6px;
1946
+ }
1947
+
1948
+ .hcms-inline-notice,
1949
+ .hcms-inline-error {
1950
+ padding: 8px 12px;
1951
+ border-radius: 8px;
1952
+ font-size: 14px;
1953
+ line-height: 1.4;
1954
+ border: 1px solid var(--mirk-input-border);
1955
+ background: var(--mirk-bg);
1956
+ color: var(--mirk-fg);
1957
+ box-shadow: 0 12px 32px -20px rgba(43, 36, 27, 0.5);
1958
+ }
1959
+ .hcms-inline-notice { white-space: pre-line; }
1960
+ .hcms-inline-error { border-color: var(--mirk-destructive); color: var(--mirk-destructive); }
1961
+ .hcms-inline-notice[hidden],
1962
+ .hcms-inline-error[hidden] { display: none; }
1963
+
1964
+ .hcms-inline-pop {
1965
+ position: absolute;
1966
+ top: 0;
1967
+ left: 0;
1968
+ box-sizing: border-box;
1969
+ width: min(340px, calc(100vw - 24px));
1970
+ max-height: calc(100dvh - 24px);
1971
+ overflow: auto;
1972
+ padding: 16px;
1973
+ border-radius: 8px;
1974
+ border: 1px solid var(--mirk-input-border);
1975
+ background: var(--mirk-bg);
1976
+ color: var(--mirk-fg);
1977
+ box-shadow: 0 16px 40px -22px rgba(43, 36, 27, 0.55);
1978
+ /* Above the handles. They are positioned with z-index: 1 while the popover
1979
+ sat at auto, so a handle painted over the very field it had just opened
1980
+ and covered the text in it. The popover is what someone is using; a handle
1981
+ is only an offer to open one. */
1982
+ z-index: 2;
1983
+ }
1984
+ .hcms-inline-pop[hidden] { display: none; }
1985
+ .hcms-inline-pop-header {
1986
+ display: flex;
1987
+ align-items: center;
1988
+ justify-content: space-between;
1989
+ gap: 16px;
1990
+ margin-bottom: 16px;
1991
+ font-size: 14px;
1992
+ }
1993
+ .hcms-shell .hcms-inline-pop-close {
1994
+ display: inline-flex;
1995
+ align-items: center;
1996
+ justify-content: center;
1997
+ min-width: 36px;
1998
+ min-height: 36px;
1999
+ padding: 4px;
2000
+ }
2001
+
2002
+ .hcms-inline-item-controls {
2003
+ position: absolute;
2004
+ top: 0;
2005
+ left: 0;
2006
+ z-index: 1;
2007
+ will-change: transform;
2008
+ display: flex;
2009
+ align-items: center;
2010
+ gap: 2px;
2011
+ }
2012
+ .hcms-inline-item-controls[hidden],
2013
+ .hcms-inline-handle[hidden] { display: none; }
2014
+ .hcms-inline-item-controls.has-open-settings { z-index: 3; }
2015
+ .hcms-inline-settings { position: relative; display: flex; flex: none; }
2016
+ .hcms-inline-settings[hidden],
2017
+ .hcms-inline-settings-menu[hidden] { display: none; }
2018
+ .hcms-inline-settings-menu {
2019
+ position: absolute;
2020
+ top: calc(100% + 6px);
2021
+ right: 0;
2022
+ min-width: 120px;
2023
+ padding: 4px;
2024
+ border: 1px solid var(--mirk-input-border);
2025
+ border-radius: 5px;
2026
+ background: var(--mirk-bg);
2027
+ box-shadow: 0 8px 24px #0003;
2028
+ }
2029
+ .hcms-inline-settings-menu button {
2030
+ display: block;
2031
+ box-sizing: border-box;
2032
+ width: 100%;
2033
+ padding: 10px 12px;
2034
+ border: 0;
2035
+ background: transparent;
2036
+ color: var(--mirk-destructive);
2037
+ font: inherit;
2038
+ text-align: left;
2039
+ cursor: pointer;
2040
+ }
2041
+ .hcms-inline-settings-menu button:hover,
2042
+ .hcms-inline-settings-menu button:focus-visible {
2043
+ background: var(--mirk-bevel-bg);
2044
+ outline: 1px solid var(--mirk-focus-color);
2045
+ }
2046
+
2047
+ /* Buttons flow within the positioned item container. */
2048
+ .hcms-inline-row-controls {
2049
+ display: flex;
2050
+ gap: 2px;
2051
+ }
2052
+ .hcms-inline-row-controls[hidden] { display: none; }
2053
+
2054
+ .hcms-inline-list-add[hidden] { display: none; }
2055
+
2056
+ .hcms-shell.hcms-inline-ghost {
2057
+ box-sizing: border-box;
2058
+ position: relative;
2059
+ display: flex;
2060
+ align-items: center;
2061
+ justify-content: center;
2062
+ flex: none;
2063
+ max-width: 100%;
2064
+ min-width: 0;
2065
+ margin: 8px 0 0;
2066
+ padding: 0;
2067
+ border: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
2068
+ border-radius: 3px;
2069
+ background: color-mix(in srgb, currentColor 3%, transparent);
2070
+ color: inherit;
2071
+ list-style: none;
2072
+ }
2073
+ .hcms-shell.hcms-inline-ghost[hidden] { display: none; }
2074
+ tr.hcms-shell.hcms-inline-ghost { display: table-row; }
2075
+ .hcms-inline-ghost-cell { padding: 0; text-align: center; vertical-align: middle; }
2076
+
2077
+ .hcms-shell .hcms-inline-handle,
2078
+ .hcms-shell .hcms-inline-list-button {
2079
+ display: inline-flex;
2080
+ align-items: center;
2081
+ justify-content: center;
2082
+ min-width: 36px;
2083
+ min-height: 36px;
2084
+ padding: 4px;
2085
+ line-height: 1;
2086
+ }
2087
+ .hcms-inline-handle .mirk-button__label,
2088
+ .hcms-inline-list-button .mirk-button__label {
2089
+ display: inline-flex;
2090
+ align-items: center;
2091
+ gap: 6px;
2092
+ line-height: 1;
2093
+ }
2094
+ .hcms-inline-icon { display: block; width: 24px; height: 24px; flex: none; }
2095
+ .hcms-inline-handle .hcms-inline-icon { width: 20.4px; height: 20.4px; transform: translateY(-1px); }
2096
+ .hcms-inline-list-add .hcms-inline-icon { width: 16.8px; height: 16.8px; }
2097
+ .hcms-shell .hcms-inline-list-add { padding-inline: 10px; }
2098
+
2099
+ .hcms-inline-list-button {
2100
+ flex: none;
2101
+ }
2102
+ .hcms-inline-list-button[hidden] { display: none; }
2103
+ .hcms-shell .hcms-inline-list-button:disabled {
2104
+ opacity: 1;
2105
+ color: #626B96;
2106
+ background: var(--mirk-bevel-bg);
2107
+ border-color: var(--mirk-bevel-tl) var(--mirk-bevel-br) var(--mirk-bevel-br) var(--mirk-bevel-tl);
2108
+ }
2109
+ .hcms-shell .hcms-inline-list-button:disabled .mirk-button__label { translate: none; }
2110
+
2111
+ /* A finger is not a mouse pointer: on touch the same three controls get the
2112
+ 44px target the platform guidelines ask for. */
2113
+ @media (pointer: coarse) {
2114
+ .hcms-shell .hcms-inline-handle,
2115
+ .hcms-shell .hcms-inline-list-button {
2116
+ min-width: 44px;
2117
+ min-height: 44px;
2118
+ }
2119
+ }
2120
+
2121
+ .hcms-inline-toggle { align-self: center; }
2122
+ .hcms-inline-toggle[hidden] { display: none; }
2123
+
2124
+ /* Fields with no visible anchor can still be edited through the sidebar. */
2125
+ .hcms-inline-handoff {
2126
+ display: flex;
2127
+ align-items: center;
2128
+ gap: 10px;
2129
+ padding: 6px 6px 6px 12px;
2130
+ border-radius: 999px;
2131
+ font-size: 13px;
2132
+ border: 1px solid var(--mirk-input-border);
2133
+ background: var(--mirk-bg);
2134
+ color: var(--mirk-fg);
2135
+ align-self: center;
2136
+ }
2137
+ .hcms-inline-handoff[hidden] { display: none; }
2138
+
2139
+ /* Selected fields only. Scoped to the inline host: [data-hcms-shell] is on BOTH
2140
+ hosts, so an unscoped rule hides the sidebar's whole form too. */
2141
+ .hcms-inline .hcms-form [data-hcms-path] { display: none; }
2142
+ .hcms-inline .hcms-form [data-hcms-path].is-hcms-inline-onpath,
2143
+ .hcms-inline .hcms-form [data-hcms-path].is-hcms-inline-active { display: block; }
2144
+
2145
+ .hcms-inline .hcms-form .is-hcms-inline-onpath,
2146
+ .hcms-inline .hcms-form {
2147
+ margin: 0;
2148
+ padding: 0;
2149
+ border: 0;
2150
+ border-radius: 0;
2151
+ box-shadow: none;
2152
+ background: transparent;
2153
+ min-width: 0;
2154
+ min-height: 0;
2155
+ width: 100%;
2156
+ }
2157
+ .hcms-inline-pop .hcms-object-title,
2158
+ .hcms-inline-pop .hcms-array-header,
2159
+ .hcms-inline-pop .hcms-drag-handle,
2160
+ .hcms-inline-pop [data-hcms-action="add"],
2161
+ .hcms-inline-pop [data-hcms-action="remove"],
2162
+ .hcms-inline-pop [data-hcms-action="move-up"],
2163
+ .hcms-inline-pop [data-hcms-action="move-down"],
2164
+ .hcms-inline-pop .hcms-card-controls { display: none; }
2165
+ .hcms-inline .hcms-form .hcms-field.is-hcms-inline-active {
2166
+ display: flex;
2167
+ gap: 8px;
2168
+ padding: 0;
2169
+ margin: 0 0 16px;
2170
+ border: 0;
2171
+ min-width: min(260px, 100%);
2172
+ }
2173
+ .hcms-inline .hcms-form .hcms-field.is-hcms-inline-active:last-child { margin-bottom: 0; }
2174
+ .hcms-shell.pixel-quiet .hcms-inline-pop .mirk-input,
2175
+ .hcms-shell.pixel-quiet .hcms-inline-pop .mirk-textarea {
2176
+ box-sizing: border-box;
2177
+ width: 100%;
2178
+ min-width: min(260px, 100%);
2179
+ min-height: 42px;
2180
+ padding: 10px 12px;
2181
+ border: 1px solid var(--mirk-input-border);
2182
+ background: var(--mirk-input-bg);
2183
+ }
2184
+ .hcms-inline-pop .mirk-input:focus-visible,
2185
+ .hcms-inline-pop .mirk-textarea:focus-visible {
2186
+ outline: 2px solid var(--mirk-focus-color);
2187
+ outline-offset: 2px;
2188
+ }
2189
+
2190
+ .hcms-inline-highlight {
2191
+ position: absolute;
2192
+ top: 0;
2193
+ left: 0;
2194
+ pointer-events: none;
2195
+ border: 2px solid var(--mirk-focus-color);
2196
+ border-radius: 4px;
2197
+ box-sizing: border-box;
2198
+ will-change: transform;
2199
+ }
2200
+ .hcms-inline-highlight[hidden] { display: none; }
2201
+ `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",n=>{let r=n.target.closest(".mirk-number__step");if(!r)return;let o=r.closest(".mirk-number").querySelector("input[type=number]");o&&(r.dataset.step==="up"?o.stepUp():o.stepDown(),o.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",n=>{let r=n.target.closest(".mirk-slider__input");r&&r.closest(".mirk-slider").style.setProperty("--mirk-value",`${r.value}%`)}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-file__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-file"),i=o.querySelector(".mirk-file__name");if(!i)return;let s=r.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(s),l.target="_blank",l.rel="noopener",l.textContent=s.name,i.replaceWith(l),!o.querySelector(".mirk-file__remove")){let a=document.createElement("button");a.type="button",a.className="mirk-file__remove",a.setAttribute("aria-label","Remove file"),a.innerHTML=e,l.after(a)}}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-image__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-image"),i=o.querySelector(".mirk-image__preview");if(!i)return;let s=o.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{i.src=a.target.result,i.removeAttribute("hidden"),s&&s.setAttribute("hidden",""),o.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),o.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},l.readAsDataURL(r.files[0])}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-file__remove");if(r){let i=r.closest(".mirk-file"),s=i?.querySelector(".mirk-file__input"),l=i?.querySelector(".mirk-file__name");if(s&&(s.value=""),l){let a=document.createElement("span");a.className="mirk-file__name",a.textContent="No file chosen",l.replaceWith(a)}r.remove();return}let o=n.target.closest(".mirk-image__remove");if(o){let i=o.closest(".mirk-image"),s=i?.querySelector(".mirk-image__input"),l=i?.querySelector(".mirk-image__preview");s&&(s.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),i?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),i?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(n,r){let o=document.createElement("span");o.textContent=n;let i=document.createElement("input");i.type="hidden",i.name="tags[]",i.value=n;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.textContent="\xD7";let l=document.createElement("span");if(l.className="mirk-tags__chip",r){let a=document.createElement("span");a.className="mirk-tags__chip-inner",a.append(o,i,s),l.append(a)}else l.append(o,i,s);return l}document.addEventListener("keydown",n=>{let r=n.target.closest(".mirk-tags__input");if(!r)return;let o=r.closest(".mirk-tags");if(n.key==="Enter"||n.key===","){let i=r.value.trim();if(!i)return;n.preventDefault(),r.before(t(i,o.classList.contains("mirk-tags--round"))),r.value=""}else if(n.key==="Backspace"&&!r.value){let i=o.querySelectorAll(".mirk-tags__chip");i[i.length-1]?.remove()}}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-tags__remove");if(r){r.closest(".mirk-tags__chip").remove();return}let o=n.target.closest(".mirk-tags");o&&n.target===o&&o.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",n=>{let r=n.target.closest("[data-mirk-chip]");if(!r)return;let o=r.getAttribute("data-mirk-chip");if(o==="open")r.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(o==="collapse")r.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(o==="changes"){let i=r.closest(".mirk-chip__panel")?.classList.toggle("is-changes");r.textContent=i?"(hide changes)":"(view changes)"}}),document.addEventListener("click",n=>{let r=n.target.closest("[data-copy-btn]");if(!r)return;let o=r.closest("[data-copy]");if(!o)return;let i=o.cloneNode(!0);i.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=o.getAttribute("data-copy")==="text"?i.textContent.replace(/^\s+|\s+$/g,""):i.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(l).then(()=>{let a=r.textContent;r.textContent="copied",r.dataset.copied="",setTimeout(()=>{r.textContent=a,delete r.dataset.copied},1200)}).catch(()=>{r.textContent="error",setTimeout(()=>{r.textContent="copy"},1200)})})})();vc(Ac);var zh=ks,Vh={cms:ks};return Rc(Wh);})();