var me=Object.defineProperty;var y=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var kt=(t,e)=>{for(var n in e)me(t,n,{get:e[n],enumerable:!0})};function W(){for(let t of Et)document.querySelectorAll(`[data-r-portal-slot="${CSS.escape(t)}"]`).forEach(e=>e.remove());Et=rt,rt=new Set}function ot(t){return document.getElementById(t)??document.querySelector(`[data-r-portal-target="${CSS.escape(t)}"]`)}function it(t){let e=St.get(t);return e||(e=`p${++ge}`,St.set(t,e)),rt.add(e),e}function at(t,e){t.querySelectorAll(`[data-r-portal-slot="${CSS.escape(e)}"]`).forEach(n=>n.remove())}function Tt(t,e,n){at(e,n);let r=document.createElement("div");r.dataset.rPortalSlot=n,r.appendChild(t.content.cloneNode(!0)),e.appendChild(r)}function j(t){t.querySelectorAll("template[data-r-portal]").forEach(e=>{let n=e.closest("[data-r-show-if]");if(n?.closest("resuma-show")?.dataset.rPortalTarget||n?.hidden)return;let r=e.getAttribute("data-r-portal");if(!r)return;let o=ot(r);o&&Tt(e,o,it(e))})}function Rt(t,e,n){let r=t.querySelector("template[data-r-portal]");r&&Tt(r,e,n)}var ge,St,rt,Et,U=y(()=>{"use strict";ge=0,St=new WeakMap,rt=new Set,Et=new Set});function p(t){st.push(t)}function V(){for(;st.length;){let t=st.pop();try{t?.()}catch{}}}var st,T=y(()=>{"use strict";st=[]});var Ot={};kt(Ot,{applyDom:()=>Re,bindFor:()=>M,bindMatch:()=>C,bindReactiveAttrs:()=>E,bindReactiveSubtree:()=>Pt,bindReactiveText:()=>S,bindShows:()=>R,initSignals:()=>F,matchValueString:()=>Ht,signalId:()=>h});function F(t){let e=new Map;for(let n of t){let r=h(n.id);e.set(r,pe(r,n.value))}return e}function h(t){return typeof t=="string"?t:typeof t=="number"?`s${t}`:`s${t[0]}`}function pe(t,e){let n=e,r=new Set,o={id:t,get value(){return n},set value(i){o.set(i)},set(i){Object.is(i,n)||(n=i,r.forEach(a=>a(n)))},update(i){let a=i(n);a!==void 0&&o.set(a)},subscribe(i){return r.add(i),()=>r.delete(i)}};return o}function S(t,e){t.querySelectorAll(he.toLowerCase()).forEach(r=>{if(Mt.has(r))return;let o=r.getAttribute("data-r-signal");if(!o)return;let i=e.get(o);i&&(r.textContent=O(i.value),p(i.subscribe(a=>{r.textContent=O(a)})),Mt.add(r))})}function E(t,e){t.querySelectorAll("[data-r-bind]").forEach(r=>xt(r,e)),we(t,e)}function we(t,e){let n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),r=n.currentNode;for(;r;)r instanceof HTMLElement&&xt(r,e),r=n.nextNode()}function be(t){let e=t.toLowerCase();return e.startsWith("on")||e==="style"}function ve(t){let e=t.replace(/[\u0000-\u0020]+/g,"");return/^(?:javascript|vbscript|data):/i.test(e)?"":t}function xt(t,e){if(Ct.has(t))return;let n=!1;for(let r of Array.from(t.attributes)){let o=r.name;if(!o.startsWith("data-r-bind:"))continue;let i=o.slice(12);if(be(i))continue;let[a,s="{}"]=r.value.split("|"),c=e.get(a);if(!c)continue;let u=ye.has(i.toLowerCase()),l=m=>{let d=s.replace("{}",O(m));u&&(d=ve(d)),t.setAttribute(i,d)};l(c.value),p(c.subscribe(l)),n=!0}n&&Ct.add(t)}function O(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);try{return JSON.stringify(t)}catch{return String(t)}}function Ht(t){if(t===void 0)return"";if(typeof t=="string")return t;try{let e=JSON.stringify(t);if(e===void 0)return"";let n=JSON.parse(e);return typeof n=="string"?n:e}catch{return O(t)}}function R(t,e){t.querySelectorAll("resuma-show").forEach(n=>{if(At.has(n))return;let r=n.getAttribute("data-r-show");if(!r)return;let o=n.getAttribute("data-r-inverted")==="true",i=n.querySelector("[data-r-show-if]"),a=n.querySelector("[data-r-show-else]"),s=e.get(r);if(!s||!i)return;let c=u=>{let l=o?!u:!!u;i.hidden=!l,a&&(a.hidden=l);let m=n.dataset.rPortalTarget,d=i.querySelector("template[data-r-portal]");if(!m&&d&&(m=d.getAttribute("data-r-portal")??void 0,m&&(n.dataset.rPortalTarget=m)),m){let g=ot(m);if(g){let f=it(n);l?d&&Rt(i,g,f):at(g,f)}}};c(s.value),p(s.subscribe(c)),At.add(n)})}function ct(t){if(t&&typeof t=="object")for(let e of["title","name","label","text"]){let n=t[e];if(typeof n=="string")return n}return O(t)}function It(t){return t.hasAttribute("data-r-signal")}function Pt(t,e){S(t,e),E(t,e)}function ke(t,e,n){if(n){let i=n.cloneNode(!0);return i.setAttribute("data-r-for-key",e),i.removeAttribute("data-r-for-new"),i.querySelectorAll("resuma-dyn").forEach(a=>{It(a)||(a.textContent=ct(t))}),i}let r=document.createElement("div");r.setAttribute("data-r-for-item",""),r.setAttribute("data-r-for-key",e);let o=document.createElement("span");return o.textContent=ct(t),r.appendChild(o),r}function Se(t,e){t.querySelectorAll("resuma-dyn").forEach(n=>{It(n)||(n.textContent=ct(e))})}function Ee(t,e,n){if(e&&t&&typeof t=="object"){let r=t[e];if(r!=null)return String(r)}return String(n)}function Te(t,e){let n=new Set;return t.map((r,o)=>{let i=Ee(r,e,o);return n.has(i)&&(i=`${i}:${o}`),n.add(i),i})}function M(t,e){t.querySelectorAll("resuma-for").forEach(n=>{if(Lt.has(n))return;let r=n.getAttribute("data-r-for");if(!r)return;let o=n.getAttribute("data-r-key"),i=n.querySelector("[data-r-for-list]"),a=e.get(r);if(!a||!i)return;let s=c=>{let u=Array.isArray(c)?c:[],l=new Map;i.querySelectorAll("[data-r-for-item]").forEach(f=>{let b=f.getAttribute("data-r-for-key");b&&l.set(b,f)});let m=document.createDocumentFragment(),d=i.querySelector("[data-r-for-item]:not([data-r-for-new])")??void 0,g=Te(u,o);u.forEach((f,b)=>{let _=g[b],k=l.get(_);k?(l.delete(_),Se(k,f)):(k=ke(f,_,d),k.setAttribute("data-r-for-new","true")),m.appendChild(k)}),i.replaceChildren(m),l.forEach(f=>f.remove()),Pt(i,e)};s(a.value),p(a.subscribe(s)),Lt.add(n)})}function C(t,e){t.querySelectorAll("resuma-match").forEach(n=>{if(_t.has(n))return;let r=n.getAttribute("data-r-match");if(!r)return;let o=e.get(r);if(!o)return;let i=n.querySelectorAll("[data-r-match-case]"),a=n.querySelector("[data-r-match-default]"),s=c=>{let u=Ht(c),l=!1;i.forEach(m=>{let g=(m.getAttribute("data-r-match-when")??"")===u;m.hidden=!g,g&&(l=!0)}),a&&(a.hidden=l)};s(o.value),p(o.subscribe(s)),_t.add(n)})}function Re(){let t=window.__resuma;if(!t)return;let e=document.getElementById("resuma-root")??document.body;S(e,t.signals),E(e,t.signals),R(e,t.signals),M(e,t.signals),C(e,t.signals)}var he,Mt,Ct,At,Lt,_t,ye,x=y(()=>{"use strict";U();T();he="RESUMA-DYN",Mt=new WeakSet,Ct=new WeakSet,At=new WeakSet,Lt=new WeakSet,_t=new WeakSet;ye=new Set(["href","src","action","formaction","xlink:href","poster","background","ping","data"])});function N(){return window.__resuma}function dt(t,e){return`${t}:${e}`}function Me(t,e,n){let r=t==="handler"?`/_resuma/handler/${encodeURIComponent(e)}.js`:`/_resuma/island-chunk/${encodeURIComponent(e)}.js`;return n?`${r}?v=${encodeURIComponent(n)}`:r}function Ce(t,e){return e?N().chunkDigests?.[t]||String(Date.now()):N().chunkDigests?.[t]}function Ae(t,e){ft([...t].map(n=>({kind:"handler",chunk:n})),e)}function ft(t,e,n){ut++;for(let{kind:r,chunk:o}of t){if(!o)continue;(r==="handler"?e:n)?.delete(o);let a=dt(r,o);$.delete(a),$.delete(`${a}:bust`)}}async function A(t,e,n=!1){let r=N(),o=t==="handler"?r.loaded:r.islandLoaded,i=n?`${dt(t,e)}:bust`:dt(t,e),a=ut,s=Ce(e,n);if(!n){let l=o.get(e);if(l)return l}let c=$.get(i);c||(c=import(Me(t,e,s)),$.set(i,c),c.finally(()=>$.delete(i)));let u=await c;if(a!==ut)return A(t,e,!0);if(!n){let l=o.get(e);if(l)return l}return o.set(e,u),u}function mt(t){N().loaded.has(t)||A("handler",t).catch(()=>{})}function $t(t){for(let e of t)e&&A("handler",e,!0).catch(()=>{})}function Nt(t){for(let e of t)e&&A("island",e,!0).catch(()=>{})}function qt(){lt.clear()}async function Dt(t){return A("island",t)}async function B(t,e){if(e){let c=lt.get(e);return c||(c=Ft(e),lt.set(e,c)),c}let n=t.indexOf("#"),r=n===-1?t:t.slice(0,n),o=n===-1?t:t.slice(n+1),i=N();if(r==="__page__"){let c=i.handlers[r]?.[o];if(c)return Ft(c)}let a=await A("handler",r),s=a[o];if(s||(Ae([r]),a=await A("handler",r,!0),s=a[o]),!s)throw new Error(`handler ${o} missing in ${r}`);return s}function Ft(t){let e=t.trim(),r=e.startsWith("(")||e.startsWith("function")||e.startsWith("async")?`return (${t});`:`return (async (event, state, __resuma) => { ${t} });`;return new Function(r)()}var lt,$,ut,H=y(()=>{"use strict";lt=new Map,$=new Map,ut=0});function I(t,e){let n=t.querySelectorAll(Le),r=[];n.forEach(o=>{let i=o.getAttribute("data-r-chunk");if(!i)return;if((o.getAttribute("data-r-load")??"eager")==="visible"&&"IntersectionObserver"in window){let s=new IntersectionObserver((c,u)=>{for(let l of c)l.isIntersecting&&(u.unobserve(l.target),Wt(o,i,e))},{rootMargin:"100px"});r.push(s),s.observe(o);return}Wt(o,i,e)}),r.length&&p(()=>{for(let o of r)o.disconnect()})}async function Wt(t,e,n){let r=t.getAttribute("data-r-props")??"{}",o={};try{o=JSON.parse(r)}catch{}await _e(e,o,t,n)}async function _e(t,e,n,r){if(n.dataset.rHydrated!=="true")try{let o=await Dt(t);typeof o.resume=="function"&&(o.resume(e,r,n),n.dataset.rHydrated="true")}catch(o){console.debug("[r] island static",t,o)}}var Le,gt=y(()=>{"use strict";H();T();Le="resuma-island"});function xe(t,e,n){let r=Object.create(n.state);if(!t)return r;for(let[o,i]of Object.entries(t)){let a=e.get(h(i));a&&(r[o]=a)}return r}function z(){for(;q.length;){let t=q.pop();try{t?.()}catch{}}}function K(t,e,n){for(let r of t)try{let o=xe(r.captures,e,n),i=new Function(`return (${r.body});`)();if(r.kind==="debounce"){let s=i(o,n);typeof s=="function"&&q.push(s)}else{let s=r.target!=null?e.get(h(r.target)):void 0,c=()=>{try{let d=i(o,n);s&&d!==void 0&&s.set(d)}catch(d){console.error("[r] effect",r.id,d)}},u,l=()=>{let d=r.debounce_ms;if(d!=null&&d>0){u!==void 0&&clearTimeout(u),u=setTimeout(c,d);return}c()};l(),q.push(()=>{u!==void 0&&clearTimeout(u)});let m=new Set;for(let d of r.deps)m.add(h(d));if(r.captures)for(let d of Object.values(r.captures))m.add(h(d));for(let d of m){let f=e.get(d)?.subscribe(()=>l());f&&q.push(f)}}}catch(o){console.error("[r] effect init",r.id,o)}}var q,pt=y(()=>{"use strict";x();q=[]});var D=y(()=>{"use strict"});function Ut(t,e){e.querySelectorAll(`[${jt}]`).forEach(o=>o.remove());let n=[...new Set(t.filter(Boolean))];if(!n.length)return;if(!("IntersectionObserver"in window)){for(let o of n)mt(o);return}let r=new IntersectionObserver((o,i)=>{for(let a of o){if(!a.isIntersecting)continue;let s=a.target.dataset.rChunk;s&&mt(s),i.unobserve(a.target)}},{rootMargin:"120px"});p(()=>r.disconnect());for(let o of e.querySelectorAll("resuma-boundary[data-r-chunk]"))r.observe(o);for(let o of n){let i=document.createElement("resuma-boundary");i.hidden=!0,i.dataset.rChunk=o,i.setAttribute(jt,"true"),e.appendChild(i),r.observe(i)}}var jt,Vt=y(()=>{"use strict";T();H();jt="data-r-lazy-chunk-marker"});function He(t){return typeof t=="string"?{body:t}:t}function Ie(t,e,n){let r=Object.create(n);if(!t)return r;for(let[o,i]of Object.entries(t)){let a=e.get(h(i));a&&(r[o]=a)}return r}function G(t,e,n,r){let o=Object.entries(t).map(([c,u])=>[c,He(u)]);if(!o.length)return;let i=async(c,u)=>{try{let l=u.body.trim();l.endsWith(")()")&&(l=l.slice(0,-2));let m=Ie(u.captures,e,n),d=new Function("state","__resuma",`return (${l})(state, __resuma);`),g=await Promise.resolve(d(m,window.__resuma));typeof g=="function"&&p(g)}catch(l){console.error("[r] task",c,l)}},a=new Set(o.map(([c])=>c)),s=(c,u)=>{a.has(c)&&(a.delete(c),i(c,u))};if("IntersectionObserver"in window){let c=new IntersectionObserver((u,l)=>{for(let m of u){if(!m.isIntersecting)continue;let d=m.target.dataset.rVisibleTask,g=d?o.find(([f])=>f===d)?.[1]:void 0;d&&g&&s(d,g),l.unobserve(m.target)}},{rootMargin:"50px"});p(()=>c.disconnect()),r().querySelectorAll("[data-r-visible-task]").forEach(u=>u.remove());for(let[u]of o){let l=document.createElement("span");l.dataset.rVisibleTask=u,l.className="r-visible-task-marker",l.setAttribute("aria-hidden","true"),r().appendChild(l),c.observe(l)}}else for(let[c,u]of o)s(c,u)}var ht=y(()=>{"use strict";D();x();T()});var Zt={};kt(Zt,{bootstrap:()=>qe,buildLocalState:()=>Xt,mountFlowWidgets:()=>Oe,mountPage:()=>wt,mutationHeaders:()=>J,runHandler:()=>De,showActionFieldErrors:()=>Je});function Pe(t){return t instanceof Document||t instanceof Element?!!t.querySelector(Bt):!1}async function Gt(t){if(Pe(t))try{(await import("/_resuma/flow.js?v=1.3.0")).initFlowWidgets(t)}catch(e){console.error("[r] flow load",e)}}function Oe(t=document){Gt(t)}function $e(){let t=document.getElementById(Jt);if(!t?.textContent)return"";try{return JSON.parse(t.textContent).csrf_token??""}catch{return""}}function J(t={}){let e={...t},n=$e();return n&&(e["x-resuma-csrf"]=n),e}function Ne(){let t=document.getElementById(Jt);if(!t||!t.textContent)return{signals:[],handlers:{},islands:[],actions:[]};try{let e=JSON.parse(t.textContent);return e.serialization_error&&console.error("[r] resumability payload failed to serialize on the server \u2014 page interactivity is broken"),e}catch(e){return console.error("[r] state",e),{signals:[],handlers:{},islands:[],actions:[]}}}function wt(){z(),V(),W();let t=Ne(),e=F(t.signals),n={};for(let[f,b]of e)n[f]=b;let r=window.__resuma,o=r?.loaded??new Map,i=r?.islandLoaded??new Map,a=r?.chunkDigests??{},s=t.chunk_digests??{},c=new Set(t.lazy_chunks??[]),u=new Set(t.islands??[]);for(let f of document.querySelectorAll("[data-r-on\\:click], [data-r-on\\:submit], [data-r-on\\:input], [data-r-on\\:change]"))for(let b of f.attributes){if(!b.name.startsWith("data-r-on:"))continue;let _=b.value,k=_.indexOf("#");if(k===-1)continue;let nt=_.slice(0,k);nt&&nt!=="__page__"&&c.add(nt)}let l=zt();for(let f of l.querySelectorAll("resuma-island[data-r-chunk]")){let b=f.getAttribute("data-r-chunk");b&&u.add(b),delete f.dataset.rHydrated}let m=[];for(let f of c)(!s[f]||a[f]!==s[f])&&m.push(f);let d=[];for(let f of u)(!s[f]||a[f]!==s[f])&&d.push(f);(m.length||d.length)&&ft([...m.map(f=>({kind:"handler",chunk:f})),...d.map(f=>({kind:"island",chunk:f}))],o,i),qt();let g={state:n,signals:e,handlers:t.handlers,contexts:t.contexts??{},loaded:o,islandLoaded:i,chunkDigests:s,action:Ke,safeAction:Ge,refreshIsland:Qt,context:f=>g.contexts[f],navigate:w,buildUrl:P,invalidate:Q};window.__resuma=g,c.size&&$t(c),u.size&&Nt(u),S(l,e),E(l,e),R(l,e),M(l,e),C(l,e),I(l,e),Ve(l),j(l),ze(l),Gt(l),G(t.visible_tasks??{},e,n,zt),K(t.effects??[],e,g),Ut(t.lazy_chunks??[],l)}async function qe(){Kt||(Kt=!0,X(wt),wt(),We(),Ue(),Z(),Y(location.pathname+location.search),Xe())}function Xt(t){let e=window.__resuma;if(!t.length)return e.state;let n={};for(let r of t){let o=r.indexOf(":"),i=o===-1?r:r.slice(0,o),a=o===-1?void 0:r.slice(o+1),s=a!=null?h(a):i,c=e.signals.get(s);c&&(n[i]=c)}return Object.assign(Object.create(e.state),n)}async function De(t,e,n,r){let o=await B(t,e),i=Xt(r);await o(n,i,window.__resuma)}function We(){document.addEventListener("submit",async t=>{if(!(t.target instanceof HTMLFormElement))return;let e=t.target;if(!e.getAttribute("data-r-submit"))return;t.preventDefault();let n=e.getAttribute("data-r-submit"),r=new FormData(e),o={};r.forEach((a,s)=>{o[s]=String(a)});let i=new URLSearchParams(o);try{let a=await fetch(e.action||`/_resuma/submit/${encodeURIComponent(n)}`,{method:"POST",credentials:"same-origin",headers:J({"content-type":"application/x-www-form-urlencoded",accept:"application/json"}),body:i.toString()}),s=await a.json();if(!a.ok||s.ok===!1){je(e,s.field_errors??{}),(a.status>=500||!s.field_errors)&&console.error("[r] submit",s.error??n);return}Yt(e),s.redirect&&L(s.redirect)}catch(a){console.error("[r] submit",a)}},!0)}function je(t,e){Yt(t);for(let[n,r]of Object.entries(e)){let o=t.querySelector(`[name="${CSS.escape(n)}"]`);if(!o)continue;let i=document.createElement("span");i.className="resuma-field-error",i.setAttribute("data-r-field-error",n),i.textContent=r,o.insertAdjacentElement("afterend",i)}}function Yt(t){t.querySelectorAll("[data-r-field-error]").forEach(e=>e.remove())}function Ue(){document.addEventListener("submit",t=>{if(!(t.target instanceof HTMLFormElement))return;let e=t.target;if(!e.hasAttribute("data-r-loader-refresh")||e.getAttribute("data-r-on:submit")||e.querySelector("[data-r-on\\:submit]"))return;t.preventDefault();let n=new FormData(e),r={};n.forEach((i,a)=>{let s=String(i);s&&(r[a]=s)});let o=e.getAttribute("action")||location.pathname;window.__resuma?.navigate(P(o,r))},!0)}function Ve(t){t.querySelectorAll("template[data-r-stream-chunk]").forEach(e=>{let n=e.getAttribute("data-r-stream-chunk");if(!n)return;let r=t.querySelector(`template[data-r-stream="${n}"]`);if(!r||!r.parentElement)return;let o=e.innerHTML,i=document.createRange().createContextualFragment(o);r.replaceWith(i),e.remove()})}function Be(t){if(t.startsWith("/")&&!t.startsWith("//")){w(t);return}try{let e=new URL(t,location.origin);if(e.origin===location.origin&&(e.protocol==="http:"||e.protocol==="https:")){w(e.pathname+e.search+e.hash);return}}catch{}window.location.assign(t)}function ze(t){t.querySelectorAll("[data-r-vt]").forEach(e=>{e.addEventListener("click",n=>{let r=n.target?.closest("a[href]");if(!r||r.getAttribute("target")==="_blank")return;let o=r.getAttribute("href");!o||o.startsWith("#")||o.startsWith("javascript:")||r.hasAttribute("data-r-nav")||(n.preventDefault(),Be(o))})})}async function Ke(t,e){let n=await fetch(`/_resuma/action/${encodeURIComponent(t)}`,{method:"POST",credentials:"same-origin",headers:J({"content-type":"application/json"}),body:JSON.stringify({args:e})}),r;try{r=await n.json()}catch{throw n.ok?new Error(`action ${t}: invalid response`):new Error(`action ${t}: ${n.status}`)}if(!n.ok||r.ok===!1)throw new Error(r.error??`action ${t}: ${n.status}`);return r.redirect&&L(r.redirect),r.value}async function Ge(t,e){try{let n=await fetch(`/_resuma/action/${encodeURIComponent(t)}`,{method:"POST",credentials:"same-origin",headers:J({"content-type":"application/json"}),body:JSON.stringify({args:e})}),r;try{r=await n.json()}catch{return{ok:!1,error:`action ${t}: ${n.status}`}}return!n.ok||r.ok===!1?{ok:!1,error:r.error??`action ${t}: ${n.status}`,field_errors:r.field_errors}:(r.redirect&&L(r.redirect),{ok:!0,value:r.value})}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}function Je(t,e){t.querySelectorAll("[data-r-field-error]").forEach(n=>n.remove());for(let[n,r]of Object.entries(e)){let o=t.querySelector(`[name="${CSS.escape(n)}"]`);if(!o)continue;let i=document.createElement("span");i.className="resuma-field-error",i.setAttribute("data-r-field-error",n),i.textContent=r,o.insertAdjacentElement("afterend",i)}}async function Qt(t){let e=await fetch(`/_resuma/island/${encodeURIComponent(t)}`);if(!e.ok)return;let n=await e.text(),r=document.querySelector(`resuma-island[data-r-instance="${t}"]`);if(!r)return;r.outerHTML=n;let o=document.querySelector(`resuma-island[data-r-instance="${CSS.escape(t)}"]`),i=window.__resuma?.signals;!o||!i||(S(o,i),E(o,i),R(o,i),M(o,i),C(o,i),I(o,i))}function Xe(){if(!window.__resumaDev||typeof WebSocket>"u")return;let t=location.protocol==="https:"?"wss":"ws",e=!1,n=()=>{let r=new WebSocket(`${t}://${location.host}/_resuma/dev/ws`);r.addEventListener("open",()=>{if(e){location.reload();return}e=!0}),r.addEventListener("message",o=>{let i=String(o.data);if(i==="reload"){location.reload();return}i.startsWith("island:")&&Qt(i.slice(7))}),r.addEventListener("close",()=>{setTimeout(n,500)}),r.addEventListener("error",()=>{r.close()})};n()}var Bt,Jt,Fe,zt,Kt,te=y(()=>{"use strict";x();gt();pt();Vt();H();H();bt();ht();T();U();D();Bt="[data-r-flow-dashboard], [data-r-flow-graph], [data-r-event-stream], [data-r-worker-panel]";Jt="resuma-state",Fe="resuma-root";zt=()=>document.getElementById(Fe)??document.body;Kt=!1});async function Ye(t){if(!(!t||yt.has(t))&&!(t.startsWith("http")&&!t.startsWith(location.origin))){yt.add(t);try{let e=await fetch(t,{headers:{Accept:"text/html"},credentials:"same-origin",cache:"no-store"});e.ok&&tt.set(t,await e.text())}catch{}finally{yt.delete(t)}}}function X(t){vt=t}function ie(){return document.getElementById(oe)??document.body}function Qe(t){try{return new URL(t,location.origin).origin===location.origin}catch{return!1}}function ae(t,e,n=!1){if(n){if(t===e)return!0;let a="http://resuma.local",s=new URL(t,a),c=new URL(e,a);return s.search?s.pathname+s.search===c.pathname+c.search:s.pathname===c.pathname}if(t===e)return!0;let r="http://resuma.local",o=new URL(t,r),i=new URL(e,r);if(o.search)return o.pathname+o.search===i.pathname+i.search;if(o.pathname===i.pathname)return!0;if(o.pathname!=="/"&&i.pathname.startsWith(o.pathname)){let a=i.pathname.charCodeAt(o.pathname.length);return a===void 0||a===47}return!1}function ne(t,e,n,r){let o=t.getAttribute("data-r-base-class");o||(o=t.className.split(/\s+/).filter(i=>i&&i!==n).join(" "),o||(o=t.className),t.setAttribute("data-r-base-class",o)),t.className=r?`${o} ${n}`.trim():o,r?t.setAttribute("aria-current","page"):t.removeAttribute("aria-current")}function Ze(t,e){let n=null,r=-1;for(let o of t){let i=o.getAttribute("href");if(!i)continue;let a=o.hasAttribute("data-r-nav-exact");ae(i,e,a)&&i.length>r&&(n=o,r=i.length)}return n}function Y(t){let e=[...document.querySelectorAll("a[data-r-nav]")],n=new Set;for(let o of document.querySelectorAll("[data-r-nav-exclusive]"))n.add(o);let r=new Set;for(let o of n){let i=e.filter(s=>o.contains(s)),a=Ze(i,t);for(let s of i){let c=s.getAttribute("data-r-active-class");c&&(ne(s,t,c,s===a),r.add(s))}}for(let o of e){if(r.has(o))continue;let i=o.getAttribute("href");if(!i)continue;let a=o.getAttribute("data-r-active-class");if(!a)continue;let s=o.hasAttribute("data-r-nav-exact");ne(o,t,a,ae(i,t,s))}}async function tn(){if(!window.__resuma){window.location.reload();return}if(vt){vt(),Y(location.pathname+location.search);return}try{(await Promise.resolve().then(()=>(te(),Zt))).mountPage(),Y(location.pathname+location.search)}catch{window.location.reload()}}function en(){let t=ie(),e=t.querySelector("[autofocus]")??t.querySelector("h1, [role='heading'], main")??t;e.hasAttribute("tabindex")||e.setAttribute("tabindex","-1");try{e.focus({preventScroll:!0})}catch{e.focus()}}function P(t,e){let n=new URL(t,location.origin);if(e)for(let[r,o]of Object.entries(e))o!=null&&o!==""&&n.searchParams.set(r,o);return n.pathname+n.search}async function Q(t,e){tt.clear();let n=t?.split("?")[0]??location.pathname,r=String(Date.now());await w(P(n,{...e,_r:r}))}async function nn(t,e,n,r){if(r!==et)return;let o=new DOMParser().parseFromString(e,"text/html"),i=o.getElementById(oe),a=o.getElementById(ee);if(!i||!a?.textContent){window.location.href=t;return}ie().innerHTML=i.innerHTML;let s=document.getElementById(ee);s&&(s.textContent=a.textContent),o.title&&(document.title=o.title),n&&history.pushState({resumaNav:!0},"",t),await tn(),n&&window.scrollTo(0,0),en(),document.dispatchEvent(new CustomEvent("resuma:navigate",{detail:{href:t}}))}async function rn(t,e,n,r){let o=tt.get(t);if(o)tt.delete(t);else{let i=await fetch(t,{headers:{Accept:"text/html"},credentials:"same-origin",cache:"no-store",signal:r});if(n!==et)return;if(!i.ok){window.location.href=t;return}o=await i.text()}n===et&&await nn(t,o,e,n)}async function w(t,e=!0){if(!Qe(t)){window.location.assign(t);return}let n=++et;re?.abort();let r=new AbortController;re=r;let o=async()=>{try{await rn(t,e,n,r.signal)}catch(a){if(a instanceof DOMException&&a.name==="AbortError")return;console.error("[r] nav",a),window.location.href=t}},i=document;if(i.startViewTransition)try{await i.startViewTransition(o).finished}catch{await o()}else await o()}function L(t){if(t.startsWith("/")&&!t.startsWith("//")){w(t);return}try{let e=new URL(t,location.origin);if(e.origin===location.origin&&(e.protocol==="http:"||e.protocol==="https:")){w(e.pathname+e.search+e.hash);return}}catch{}console.warn("[r] bad redirect",t)}function on(t,e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||t.target&&t.target!=="_self")return!1;let n=t.getAttribute("href");if(!n||n.startsWith("#")||n.startsWith("javascript:"))return!1;if(n.startsWith("http://")||n.startsWith("https://"))try{return new URL(n).origin===location.origin}catch{return!1}return!0}function Z(){document.addEventListener("mouseenter",t=>{let e=t.target;if(!(e instanceof Element))return;let r=e.closest("a[data-r-nav]")?.getAttribute("href");r&&Ye(r)},!0),document.addEventListener("click",t=>{let e=t.target;if(!(e instanceof Element))return;let n=e.closest("a[data-r-nav]");if(!n||!on(n,t))return;let r=n.getAttribute("href");r&&(t.preventDefault(),w(r))}),window.addEventListener("popstate",()=>{w(location.pathname+location.search,!1)})}var oe,ee,tt,yt,vt,et,re,bt=y(()=>{"use strict";D();oe="resuma-root",ee="resuma-state",tt=new Map,yt=new Set;vt=null;et=0,re=null});x();gt();pt();H();bt();ht();T();U();D();var an="resuma-state",sn="resuma-root",cn="data-r-on:",ln="data-r-cap:",un="data-r-inline:",v=()=>document.getElementById(sn)??document.body;function le(){let t=document.getElementById(an);if(!t||!t.textContent)return{signals:[],handlers:{},islands:[],actions:[]};try{let e=JSON.parse(t.textContent);return e.serialization_error&&console.error("[resuma] resumability payload failed to serialize on the server \u2014 page interactivity is broken"),e}catch(e){return console.error("[resuma] failed to parse state payload",e),{signals:[],handlers:{},islands:[],actions:[]}}}function dn(){return le().csrf_token??""}function ue(t={}){let e={...t},n=dn();return n&&(e["x-resuma-csrf"]=n),e}function se(){X(ce),ce(),mn(),wn(),Z()}function ce(){z(),V(),W();let t=le(),e=F(t.signals),n={};for(let[i,a]of e)n[i]=a;let r=window.__resuma,o={state:n,signals:e,handlers:t.handlers,contexts:t.contexts??{},loaded:r?.loaded??new Map,action:fe,safeAction:Sn,refreshIsland:En,context:i=>o.contexts[i],navigate:w,buildUrl:P,invalidate:Q};window.__resuma=o,S(v(),e),E(v(),e),R(v(),e),M(v(),e),C(v(),e),I(v(),e),yn(v()),j(v()),kn(v()),t.effects?.length&&K(t.effects,e,o),G(t.visible_tasks??{},e,n,v)}var fn=["click","input","change","submit","focus","blur","keydown","keyup","keypress","mousedown","mouseup","mousemove","mouseenter","mouseleave","pointerdown","pointerup","pointermove","touchstart","touchend","scroll","wheel","dragstart","dragend","drop","load"];function mn(){for(let t of fn)document.addEventListener(t,pn,!0)}function gn(t){let e=t.target;return e instanceof Element?e:e instanceof Text?e.parentElement:null}async function pn(t){let e=gn(t);if(!e)return;let n=cn+t.type,r=ln+t.type,o=un+t.type;for(;e&&e!==document.body;){e.getAttribute(`data-r-prevent:${t.type}`)!==null&&t.preventDefault(),e.getAttribute(`data-r-stop:${t.type}`)!==null&&t.stopPropagation();let s=e.getAttribute(n);if(s){let c=(e.getAttribute(r)??"").split(",").map(l=>l.trim()).filter(Boolean),u=e.getAttribute(o);try{let l=await B(s,u),m=hn(c),d=window.__resuma;await l(t,m,d)}catch(l){console.error("[resuma] handler error",l)}return}e=e.parentElement}}function hn(t){let e=window.__resuma;if(!t.length)return e.state;let n={};for(let r of t){let o=r.indexOf(":"),i=o===-1?r:r.slice(0,o),a=o===-1?void 0:r.slice(o+1),s=a!=null?h(a):i,c=e.signals.get(s);c&&(n[i]=c)}return Object.assign(Object.create(e.state),n)}function wn(){document.addEventListener("submit",async t=>{if(!(t.target instanceof HTMLFormElement))return;let e=t.target;if(!e.getAttribute("data-r-submit"))return;t.preventDefault();let n=e.getAttribute("data-r-submit"),r=new FormData(e),o={};r.forEach((a,s)=>{o[s]=String(a)});let i=new URLSearchParams(o);try{let a=await fetch(e.action||`/_resuma/submit/${encodeURIComponent(n)}`,{method:"POST",credentials:"same-origin",headers:ue({"content-type":"application/x-www-form-urlencoded",accept:"application/json"}),body:i.toString()}),s=await a.json();if(!a.ok||s.ok===!1){bn(e,s.field_errors??{}),(a.status>=500||!s.field_errors)&&console.error("[resuma] submit error",s.error??`submit ${n} failed`);return}if(de(e),s.redirect){L(s.redirect);return}console.info("[resuma] submit ok",s.value)}catch(a){console.error("[resuma] submit error",a)}},!0)}function bn(t,e){de(t);for(let[n,r]of Object.entries(e)){let o=t.querySelector(`[name="${CSS.escape(n)}"]`);if(!o)continue;let i=document.createElement("span");i.className="resuma-field-error",i.setAttribute("data-r-field-error",n),i.textContent=r,o.insertAdjacentElement("afterend",i)}}function de(t){t.querySelectorAll("[data-r-field-error]").forEach(e=>e.remove())}function yn(t){t.querySelectorAll("template[data-r-stream-chunk]").forEach(e=>{let n=e.getAttribute("data-r-stream-chunk");if(!n)return;let r=t.querySelector(`template[data-r-stream="${n}"]`);if(!r||!r.parentElement)return;let o=e.innerHTML,i=document.createRange().createContextualFragment(o);r.replaceWith(i),e.remove()})}function vn(t){if(t.startsWith("/")&&!t.startsWith("//")){w(t);return}try{let e=new URL(t,location.origin);if(e.origin===location.origin&&(e.protocol==="http:"||e.protocol==="https:")){w(e.pathname+e.search+e.hash);return}}catch{}window.location.assign(t)}function kn(t){t.querySelectorAll("[data-r-vt]").forEach(e=>{e.addEventListener("click",n=>{let r=n.target?.closest("a[href]");if(!r||r.getAttribute("target")==="_blank")return;let o=r.getAttribute("href");!o||o.startsWith("#")||o.startsWith("javascript:")||r.hasAttribute("data-r-nav")||(n.preventDefault(),vn(o))})})}async function Sn(t,e){try{return{ok:!0,value:await fe(t,e)}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async function fe(t,e){let n=await fetch(`/_resuma/action/${encodeURIComponent(t)}`,{method:"POST",credentials:"same-origin",headers:ue({"content-type":"application/json"}),body:JSON.stringify({args:e})}),r;try{r=await n.json()}catch{throw n.ok?new Error(`action ${t}: invalid response`):new Error(`action ${t}: ${n.status}`)}if(!n.ok||r.ok===!1)throw new Error(r.error??`action ${t}: ${n.status}`);return r.redirect&&L(r.redirect),r.value}async function En(t){let e=await fetch(`/_resuma/island/${encodeURIComponent(t)}`);if(!e.ok)return;let n=await e.text(),r=document.querySelector(`resuma-island[data-r-instance="${t}"]`);r&&(r.outerHTML=n);let{applyDom:o}=await Promise.resolve().then(()=>(x(),Ot));o();let i=window.__resuma?.signals;i&&I(v(),i)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",se,{once:!0}):se();
//# sourceMappingURL=runtime.js.map